| r1 ∈ H ⊦ r0 = null, r0 ∈ H, ∀ r. (r ∈ (H ++ r0)[r0, o0][r1, o1] ↔ r ∈ (H[r1, o1] ++ r0)[r0, o0]) ∧ (r ∈ (H ++ r0)[r0, o0][r1, o1] → (H ++ r0)[r0, o0][r1, o1][r] = (H[r1, o1] ++ r0)[r0, o0][r]) |
r1 ∈ H, r = r0 ∨ r ∈ H ⊦ (r = r1 ⊃ o1;(r = r0 ⊃ o0;(H ++ r0)[r])) = (r = r0 ⊃ o0;(H[r1, o1] ++ r0)[r]), r0 = null, r0 ∈ H
Used simplifier rules: in-write: ⊦ r ∈ H[r0, o] ↔ r ∈ H;%in-alloc: r0 ≠ null, ¬ r0 ∈ H ⊦ r ∈ H ++ r0 ↔ r = r0 ∨ r ∈ H;%at-write: ⊦ H[r0, o][r] = (r = r0 ∧ r0 ∈ H ⊃ o;H[r]);