| r0 ∈ H0 ⊦ r0 ∈ rs, (∃ r. ¬ r ∈ rs ∧ r ≠ null ∧ ¬ r ∈ H0[r0, o] ∧ H0 = H0[r0, o] ++ r) ∨ (∃ r, o0. ¬ r ∈ rs ∧ r ∈ H0[r0, o] ∧ H0 = H0[r0, o][r, o0]) ∨ (∃ r. ¬ r ∈ rs ∧ r ∈ H0[r0, o] ∧ H0 = H0[r0, o] -- r) |
r0 ∈ H0 ⊦ r0 ∈ rs, ∃ r. ¬ r ∈ rs ∧ r ≠ null ∧ ¬ r ∈ H0 ∧ H0 = H0[r0, o] ++ r, ∃ r, o0. ¬ r ∈ rs ∧ r ∈ H0 ∧ H0 = H0[r0, o][r, o0], ∃ r. ¬ r ∈ rs ∧ r ∈ H0 ∧ H0 = H0[r0, o] -- r
Used simplifier rules: in-write-strong: r0 ∈ H ⊦ r ∈ H[r0, o] ↔ r ∈ H; from specification heap