| (_∃(λ o, a. r ==>(o, a)) * R)[rs, f, g] ⊦ ∃ a. (a[r =>_] * R)[rs, f, g] |
(r ==>(o, a) * R)[rs, f, g] ⊦ ∃ a. (a[r =>_] * R)[rs, f, g]
Used simplifier rules: sep-com: ⊦ R0 * R1 = R1 * R0; from specification heap-sep[heap-aux]%sep-ass: ⊦ (R0 * R1) * R2 = R0 * R1 * R2; from specification heap-sep[heap-aux]% ⊦ (_∃ oR * R)[rs, f, g] ↔ (∃ o, a. (oR(o, a) * R)[rs, f, g]); (s)