End Try.
Definition conseq A (s1 s2 : spec A) :=
forall i, s2.1 i -> def i ->
s1.1 i /\ forall y m, s1.2 y i m -> def m -> s2.2 y i m.

(* Specifications: *)
Lemma conseq_refl (A : Type) (s : spec A) : conseq s s.
Lemma do_dstrict : def_strict do_sp.
Definition Do := STprog do_coherent do_dstrict do_has_spec.