Definition event_step_star (step : step_relation A trace) (init : A) (e : event) :=
    refl_trans_1n_trace step init (evt_a e) (evt_trace e).Definition step_star_lb_step_reachable (lb_step : lb_step_relation) (step : step_relation A trace) (init : A) :=
    forall a l a' tr tr',
     refl_trans_1n_trace step init a tr' ->
     lb_step a l a' tr ->
     refl_trans_1n_trace step init a' (tr' ++ tr).

(* Specifications: *)
Lemma step_star_lb_step_execution : forall lb_step step init, step_star_lb_step_reachable lb_step step init -> forall s, event_step_star step init (hd s) -> lb_step_execution lb_step s -> always (now (event_step_star step init)) s.
Lemma step_async_star_lb_step_reachable : step_star_lb_step_reachable lb_step_async step_async step_async_init.
Lemma step_async_star_lb_step_execution : forall s, event_step_star step_async step_async_init (hd s) -> lb_step_execution lb_step_async s -> always (now (event_step_star step_async step_async_init)) s.
Lemma step_failure_star_lb_step_reachable : step_star_lb_step_reachable lb_step_failure step_failure step_failure_init.
Lemma step_failure_star_lb_step_execution : forall s, event_step_star step_failure step_failure_init (hd s) -> lb_step_execution lb_step_failure s -> always (now (event_step_star step_failure step_failure_init)) s.
Lemma step_ordered_failure_star_lb_step_reachable : step_star_lb_step_reachable lb_step_ordered_failure step_ordered_failure step_ordered_failure_init.
Lemma step_ordered_failure_star_lb_step_execution : forall s, event_step_star step_ordered_failure step_ordered_failure_init (hd s) -> lb_step_execution lb_step_ordered_failure s -> always (now (event_step_star step_ordered_failure step_ordered_failure_init)) s.
Lemma step_ordered_dynamic_star_lb_step_reachable : step_star_lb_step_reachable lb_step_ordered_dynamic step_ordered_dynamic step_ordered_dynamic_init.
Lemma step_ordered_dynamic_star_lb_step_execution : forall s, event_step_star step_ordered_dynamic step_ordered_dynamic_init (hd s) -> lb_step_execution lb_step_ordered_dynamic s -> always (now (event_step_star step_ordered_dynamic step_ordered_dynamic_init)) s.
Lemma step_ordered_dynamic_failure_star_lb_step_reachable : step_star_lb_step_reachable lb_step_ordered_dynamic_failure step_ordered_dynamic_failure step_ordered_dynamic_failure_init.
Lemma step_ordered_dynamic_failure_star_lb_step_execution : forall s, event_step_star step_ordered_dynamic_failure step_ordered_dynamic_failure_init (hd s) -> lb_step_execution lb_step_ordered_dynamic_failure s -> always (now (event_step_star step_ordered_dynamic_failure step_ordered_dynamic_failure_init)) s.