(** One or several transitions.  Also known as the transitive closure. *)
Inductive plus : state -> trace -> state -> Prop :=
| plus_left: forall s1 t1 s2 t2 s3 t,
step s1 t1 s2 -> star s2 t2 s3 -> t = t1 ** t2 ->
plus s1 t s3.

Lemma plus_E0_ind:
forall (P: state -> state -> Prop),
(forall s1 s2 s3, step s1 E0 s2 -> star s2 E0 s3 -> P s1 s3) ->
forall s1 s2, plus s1 E0 s2 -> P s1 s2.