Canonical Structure exn_eqMixin := EqMixin eqexnP.Canonical Structure exn_eqType := EqType exn exn_eqMixin.(* Answer type *)
Inductive ans (A : Type) : Type := Val of A | Exn of exn.(* Answer type *)
Inductive ans (A : Type) : Type := Val of A | Exn of exn.(* Answer type *)
Inductive ans (A : Type) : Type := Val of A | Exn of exn.Notation pre := (Pred heap).Notation post A := (ans A -> heap -> heap -> Prop).Definition spec B := pre * post B : Type.Notation ideald P := (ideal (defed P)).(* we carve out the model out of the following base type *)
Definition prog := ideald P -> ans A -> Pred heap.

Lemma st_asym e1 e2 : st_leq e1 e2 -> st_leq e2 e1 -> e1 = e2.