| ((r => o * P))(H), r ∈ H ⊦ o0 = o1 ∧ ((r =>_ * P))(H) ↔ o0 = o1 |
((r => o * P))(H) ⊦ ∃ o. ((r => o * P))(H)
Used simplifier rules: mapex: ⊦ r =>_ = _∃(λ o. r => o);%ex3-shift: ⊦ ((_∃ oP * P))(H) ↔ (∃ o. ((oP(o) * P))(H));%map-in: ⊦ ((r => o * P))(H) → r ∈ H;%sep-com: ⊦ P0 * P1 = P1 * P0; from specification heap-sep%sep-ass: ⊦ (P0 * P1) * P2 = P0 * P1 * P2; from specification heap-sep