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

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