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