(** No transitions: stuck state *)

Definition nostep (ge: genv) (s: state) : Prop :=
  forall t s', ~(step ge s t s').

(* Specifications: *)
Lemma star_one: forall ge s1 t s2, step ge s1 t s2 -> star ge s1 t s2.
Lemma star_E0_ind: forall ge (P: state -> state -> Prop), (forall s, P s s) -> (forall s1 s2 s3, step ge s1 E0 s2 -> P s2 s3 -> P s1 s3) -> forall s1 s2, star ge s1 E0 s2 -> P s1 s2.
Lemma plus_one: forall ge s1 t s2, step ge s1 t s2 -> plus ge s1 t s2.
Lemma plus_star: forall ge s1 t s2, plus ge s1 t s2 -> star ge s1 t s2.
Lemma star_inv: forall ge s1 t s2, star ge s1 t s2 -> (s2 = s1 /\ t = E0) \/ plus ge s1 t s2.
Lemma plus_E0_ind: forall ge (P: state -> state -> Prop), (forall s1 s2 s3, step ge s1 E0 s2 -> star ge s2 E0 s3 -> P s1 s3) -> forall s1 s2, plus ge s1 E0 s2 -> P s1 s2.