| ⊦ (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 → remove-refsize0((∅)[n, mkblock(x, lax, m0)])[n0] = (m0 = 0 ⊃ ∅;(∅)[n, mkblock(x, lax, m0)])[n0]) |
⊦ (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])
Used simplifier rules: at-remove-refsize0: ⊦ n ∈ st ∧ st[n].ref-size ≠ 0 → remove-refsize0(st)[n] = st[n];