| (st[n, ablock] \ (ns -- n))[n0] = mkblock(x0, lax0, m0), (st0 \ (ns ++ n))[n0] = mkblock(x, lax, m), n1 ∈ st0, n1 ∈ dom st0 \ ns → n1 ∈ dom st \ ns, ∀ n. n ∈ st0 \ ns ∧ n ∈ st \ ns → (st0 \ ns)[n].list ⊑ (st \ ns)[n].list ∧ (st0 \ ns)[n].ladrlist ⊑ (st \ ns)[n].ladrlist ∧ # (st0 \ ns)[n].list = # (st0 \ ns)[n].ladrlist ∧ # (st \ ns)[n].list = # (st \ ns)[n].ladrlist ⊦ n1 = n, n1 ∈ (dom st ++ n) \ (ns -- n), n ∈ st, n1 ∈ ns |
⊦ n ∈ ns \ ns0 ↔ n ∈ ns ∧ ¬ n ∈ ns0
Used simplifier rules: ⊦ n ∈ ns \ ns0 ↔ n ∈ ns ∧ ¬ n ∈ ns0; (ws)% ⊦ n ∈ dom st ↔ n ∈ st; (s)% ⊦ n ∈ ns ++ n0 ↔ n = n0 ∨ n ∈ ns; (s)% ⊦ n ∈ ns -- n0 ↔ n ≠ n0 ∧ n ∈ ns; (s) Used terms: ns -- n, dom st ++ n, n1