Require Export Bmc.Core.
Definition forward_post (I : prop) (T : trans) (P : prop) (k: nat) : Prop :=
lasso_fwd I T k /\ safety_nth I T P k.
(* *)
Local Theorem case1 :
forall (I : prop) (T : trans) (P : prop) (k : nat),
forward_post I T P k ->
forall (i : nat), (i <= k) -> prop_nth_init_lf I T P i.
Local Lemma case2_1 :
forall (I : prop) (T : trans) (P : prop) (i k : nat),
i > k -> lasso_fwd I T k -> prop_nth_init_lf I T P i.
Local Lemma case2 :
forall (I : prop) (T : trans) (P : prop) (k : nat),
forward_post I T P k ->
forall (i : nat), (i > k) -> prop_nth_init_lf I T P i.
(**)
Require Export Bmc.LoopFree.

Theorem soundness_forward1 :
forall (I : prop) (T : trans) (P : prop),
( exists k, forward_post I T P k ) ->
forall (i : nat), prop_nth_init I T P i.