| st0[m] = mkblock(x, lax, m2), st1[m] = mkblock(x0, lax0, m3), @(m0, m1) ∈ lax, m ∈ st0, m ∈ st1, ∀ n. n ∈ st0 ∧ n ∈ st1 → st0[n].list ⊑ st1[n].list ∧ st0[n].ladrlist ⊑ st1[n].ladrlist ∧ # st0[n].list = # st0[n].ladrlist ∧ # st1[n].list = # st1[n].ladrlist ⊦ @(m0, m1) ∈ lax0 |
Used simplifier rules: ⊦ mkblock(x, lax, m).list = x; (s)% ⊦ mkblock(x, lax, m).ladrlist = lax; (s)% ⊦ ladr ∈ lax ∧ ¬ ladr ∈ lax0 → ¬ lax ⊑ lax0; (s) Used terms: m