Local Notation cont A := (ans A -> heap -> Prop).
Section EvalDo.
Variables (A B : Type).

Lemma bnd_do (s : spec A) s2 i j (r : cont B) :
s.1 i ->
(forall x m, s.2 (Val x) i m -> verify (s2 x) (m :+ j) r) ->
(forall e m, s.2 (Exn e) i m -> def (m :+ j) -> r (Exn e) (m :+ j)) ->
verify (bind_s s s2) (i :+ j) r.