| st0[n].ladrlist = st1[n].ladrlist, st0[n].list = st1[n].list, n ∈ st0 ↔ n ∈ st1, (∅)[n] = mkblock(x, lax, m), st2[n] = mkblock(x0, lax0, m0), n ∈ st2, ∀ 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 |
st2[n] = mkblock(x0, lax0, m0), (∅)[n] = mkblock(x, lax, m), n ∈ st2, ∀ 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 ∈ st1
Used simplifier rules: ⊦ ¬ n ∈ st → st[n] = (∅)[n]; (s)