| # x = # lax2 + # lax1 + 1, # x0 = # lax2 + (# lax1 + # lax) + 1, st1[m] = mkblock(x0, (lax2 + @(m0, m1) ' + lax1) + lax, m3), st0[m] = mkblock(x, lax2 + @(m0, m1) ' + lax1, m2), m ∈ st1, m ∈ st0, x ⊑ x0, ∀ n. n ∈ st0 → n ∈ st1 ⊦ x[# lax2] = x0[# lax2], @(m0, m1) ∈ lax2 |
⊦ x ⊑ y ↔ (∃ z. x + z = y)
# x0 = # lax2 + (# lax1 + # lax) + 1, # x = # lax2 + # lax1 + 1, st0[m] = mkblock(x, lax2 + @(m0, m1) ' + lax1, m2), st1[m] = mkblock(x0, (lax2 + @(m0, m1) ' + lax1) + lax, m3), m ∈ st0, m ∈ st1, ∀ n. n ∈ st0 → n ∈ st1, ∃ z. x + z = x0 ⊦ x[# lax2] = x0[# lax2], @(m0, m1) ∈ lax2
Used terms: x0, x