| st1[n] = mkblock(x1, lax1, m1), st2[n] = mkblock(x0, lax0, m0), st0[n] = mkblock(x, lax, m), n ∈ st2, n ∈ st0, dom st1 ⊆ dom st2, dom st0 ⊆ dom st1, dom st0 ⊆ dom st2, n ∈ st1 → x1 ⊑ x0 ∧ lax1 ⊑ lax0 ∧ # x1 = # lax1 ∧ # x0 = # lax0, 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 ⊦ x ⊑ x0 ∧ lax ⊑ lax0 ∧ # x = # lax ∧ # x0 = # lax0 |
st1[n] = mkblock(x1, lax1, m1), st2[n] = mkblock(x0, lax0, m0), st0[n] = mkblock(x, lax, m), n ∈ st2, n ∈ st0, dom st1 ⊆ dom st2, dom st0 ⊆ dom st1, dom st0 ⊆ dom st2, n ∈ st1 → x1 ⊑ x0 ∧ lax1 ⊑ lax0 ∧ # x1 = # lax1 ∧ # x0 = # lax0, n ∈ st1 → x ⊑ x1 ∧ lax ⊑ lax1 ∧ # x = # lax ∧ # x1 = # lax1 ⊦ x ⊑ x0 ∧ lax ⊑ lax0 ∧ # x = # lax ∧ # x0 = # lax0
Used simplifier rules: ⊦ mkblock(x, lax, m).ladrlist = lax; (s)% ⊦ mkblock(x, lax, m).list = x; (s)