| ⊦ (n0 ∈ (∅)[n, mkblock(x, lax, m0)] ∧ (∅)[n, mkblock(x, lax, m0)][n0].ref-size ≠ 0 ↔ n0 ∈ (m0 = 0 ⊃ ∅;(∅)[n, mkblock(x, lax, m0)])) ∧ ( n0 ∈ (∅)[n, mkblock(x, lax, m0)] ∧ (∅)[n, mkblock(x, lax, m0)][n0].ref-size ≠ 0 → (∅)[n, mkblock(x, lax, m0)][n0] = (m0 = 0 ⊃ ∅;(∅)[n, mkblock(x, lax, m0)])[n0]) |
(∅)[n, mkblock(x, lax, m0)][n0] = mkblock(x0, lax0, m) ⊦ (n0 ∈ (∅)[n, mkblock(x, lax, m0)] ∧ m ≠ 0 ↔ n0 ∈ (m0 = 0 ⊃ ∅;(∅)[n, mkblock(x, lax, m0)])) ∧ (n0 ∈ (∅)[n, mkblock(x, lax, m0)] ∧ m ≠ 0 → (∅)[n, mkblock(x, lax, m0)][n0] = (m0 = 0 ⊃ ∅;(∅)[n, mkblock(x, lax, m0)])[n0])
Used simplifier rules: ⊦ (x = ablock.list ∧ lax = ablock.ladrlist) ∧ m = ablock.ref-size ↔ ablock = mkblock(x, lax, m); (elim) Used terms: (∅)[n, mkblock(x, lax, m0)][n0], x0, lax0, m