End SepBind.
Definition verify' A (s : spec A) i (r : ans A -> heap -> Prop) :=
def i -> s.1 i /\ forall y m, s.2 y i m -> def m -> r y m.
Notation verify s i r := (@verify' _ [s] i r).
Section SepFrame.
Variables (A : Type) (s : spec A).

(* Specifications: *)
Lemma frame i j (r : ans A -> heap -> Prop) :
verify s i (fun y m => def (m :+ j) -> r y (m :+ j)) ->
verify s (i :+ j) r.
Lemma frame0 i r : verify' s i r -> verify s i r.
Lemma frame1 i (r : ans A -> heap -> Prop) :
verify' s empty (fun y m => def (m :+ i) -> r y (m :+ i)) ->
verify s i r.