| ⊦ r = null, r0 = r, r ∈ H, ∀ r1. (r1 ∈ ((H -- r0) ++ r)[r, o] ↔ r1 ∈ (H ++ r)[r, o] -- r0) ∧ (r1 ∈ ((H -- r0) ++ r)[r, o] → ((H -- r0) ++ r)[r, o][r1] = ((H ++ r)[r, o] -- r0)[r1]) |
⊦ r = null, r0 = r, r ∈ H, (r1 = r ∨ r1 ≠ r0 ∧ r1 ∈ H → r1 ≠ r0 ∧ (r1 = r ∨ r1 ∈ H)) ∧ (r1 = r ∨ r1 ≠ r0 ∧ r1 ∈ H → (r1 = r ⊃ o;((H -- r0) ++ r)[r1]) = ((H ++ r)[r, o] -- r0)[r1])
Used simplifier rules: in-write: ⊦ r ∈ H[r0, o] ↔ r ∈ H;%in-del: ⊦ r ∈ H -- r0 ↔ r ≠ r0 ∧ 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]);