σ₀ = ∅
p = alloc();
σ₁ = {p ↦ NotNull, 𝑙₁ ↦ Nullable}
q = &p;
σ₂ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull}
n = null;
σ₃ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
*q = n; σ₄ = update({p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}, {p ↦ NotNull ⊔ Nullable})
= {p ↦ Nullable, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
*p = n;
σ₀ = ∅
p = alloc();
σ₁ = {p ↦ NotNull, 𝑙₁ ↦ Nullable}
q = &p;
σ₂ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull}
n = null;
σ₃ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
*q = n; σ₄ = {p ↦ Nullable, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
*p = n; σ₅ = update({p ↦ Nullable, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}, {𝑙₁ ↦ Nullable ⊔ Nullable})
= {p ↦ Nullable, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable, 𝑙₁ ↦ Nullable}
p = alloc(); // σ₁ = {p ↦ NotNull, 𝑙₁ ↦ Nullable}
q = &p; // σ₂ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull}
if (x > y)
n = null; // σ₃ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
else
n = alloc(); // σ₄ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ NotNull, 𝑙₂ ↦ Nullable}
*q = n; // σ₅(n) = ?
*p = n;
p = alloc(); // σ₁ = {p ↦ NotNull, 𝑙₁ ↦ Nullable}
q = &p; // σ₂ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull}
if (x > y)
n = null; // σ₃ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
else
n = alloc(); // σ₄ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ NotNull, 𝑙₂ ↦ Nullable}
*q = n; // σ₅(n) = σ₃(n) ⊔ σ₄(n) = Nullable ⊔ NotNull = Nullable
*p = n;
p = alloc(); // σ₁ = {p ↦ NotNull, 𝑙₁ ↦ Nullable}
q = &p; // σ₂ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull}
if (x > y)
n = null; // σ₃ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
else
n = alloc(); // σ₄ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ NotNull, 𝑙₂ ↦ Nullable}
*q = n; // σ₅ = σ₃ ⊔ σ₄
*p = n;
p = alloc(); // σ₁ = {p ↦ NotNull, 𝑙₁ ↦ Nullable}
q = &p; // σ₂ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull}
if (x > y)
n = null; // σ₃ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ Nullable}
else
n = alloc(); // σ₄ = {p ↦ NotNull, 𝑙₁ ↦ Nullable, q ↦ NotNull, n ↦ NotNull, 𝑙₂ ↦ Nullable}
*q = n; // σ₅ = σ₃ ⊔ σ₄
*p = n;