| st0[n] = mkblock(x, lax, m), ∀ n. (n ∈ st0 ↔ n ∈ st1) ∧ st0[n].list = st1[n].list ∧ st0[n].ladrlist = st1[n].ladrlist, ∀ n. (n ∈ st1 ↔ n ∈ st2) ∧ st1[n].list = st2[n].list ∧ st1[n].ladrlist = st2[n].ladrlist ⊦ (n ∈ st0 ↔ n ∈ st2) ∧ x = st2[n].list ∧ lax = st2[n].ladrlist |
st0[n] = mkblock(x, lax, m), st2[n] = mkblock(x0, lax0, m0), ∀ n. (n ∈ st1 ↔ n ∈ st2) ∧ st1[n].list = st2[n].list ∧ st1[n].ladrlist = st2[n].ladrlist, ∀ n. (n ∈ st0 ↔ n ∈ st1) ∧ st0[n].list = st1[n].list ∧ st0[n].ladrlist = st1[n].ladrlist ⊦ (n ∈ st0 ↔ n ∈ st2) ∧ x = x0 ∧ lax = lax0
Used simplifier rules: ⊦ (x = ablock.list ∧ lax = ablock.ladrlist) ∧ m = ablock.ref-size ↔ ablock = mkblock(x, lax, m); (elim) Used terms: st2[n], x0, lax0, m2, m3, m4, boolvar0