| ((_∃ oP * P0))(H1), P(H0), H1 ⊥ H0, ∀ r. r ∈ H1 → O(r) = me ⊦ ∃ o. ((!(me, O, oP(o) * P0) * P))(H1 ∪ H0) |
((oP(o) * P0))(H1), P(H0), H1 ⊥ H0, ∀ r. r ∈ H1 → O(r) = me ⊦ ∃ o. ((!(me, O, oP(o) * P0) * P))(H1 ∪ H0)
Used simplifier rules: sep-com: ⊦ P0 * P1 = P1 * P0; from specification heap-sep%sep-ass: ⊦ (P0 * P1) * P2 = P0 * P1 * P2; from specification heap-sep% ⊦ ((_∃ oP * P))(H) ↔ (∃ o. ((oP(o) * P))(H)); (s)