| st0[n, mkblock(x0, lax0, m)][n0] = mkblock(x, lax, m2), st0[n] = mkblock(x0, lax0, m0), st1[n] = mkblock(x0, lax0, m1), st1[n0] = mkblock(x1, lax1, m3), n ∈ st1, n ∈ st0, ∀ n. (n ∈ st0 ↔ n ∈ st1) ∧ st0[n].list = st1[n].list ∧ st0[n].ladrlist = st1[n].ladrlist ⊦ (n0 ∈ st0[n, mkblock(x0, lax0, m)] ↔ n0 ∈ st1) ∧ x = x1 ∧ lax = lax1 |
st1[n0] = mkblock(x1, lax1, m3), st1[n] = mkblock(x0, lax0, m1), st0[n] = mkblock(x0, lax0, m0), st0[n, mkblock(x0, lax0, m)][n0] = mkblock(x, lax, m2), n ∈ st0, n ∈ st1, ∀ n. (n ∈ st0 ↔ n ∈ st1) ∧ st0[n].list = st1[n].list ∧ st0[n].ladrlist = st1[n].ladrlist ⊦ n0 = n, (n0 ∈ st0[n, mkblock(x0, lax0, m)] ↔ n0 ∈ st1) ∧ x = x1 ∧ lax = lax1
Used simplifier rules: ⊦ st[n, ablock][n] = ablock; (s)%⊦ mkblock(x, lax, m) = mkblock(x0, lax0, m0) ↔ x = x0 ∧ lax = lax0 ∧ m = m0; (ws)% ⊦ n ∈ st[n, ablock]; (s) Used formulas: n0 = n