Section EvalReadR.
Variables (A B : Type).

Lemma val_gh1R (r : cont A) :
let: Q := fun y i m => forall x, i \In p x -> q x y i m in
(i \In p t -> P i) ->
(forall x m, q t (Val x) i m -> def (f m) -> r (Val x) (f m)) ->
(forall e m, q t (Exn e) i m -> def (f m) -> r (Exn e) (f m)) ->
i \In p t ->
verify (P, Q) (f i) r.