Require Export Bmc.Logic.
Definition lasso_fwd_conj (I : prop) (T : trans) (k : nat) : Prop :=
forall ss : sseq,
~(I ss.[0] /\ loop_free T ss 0 k).
Definition lasso_bwd_conj (T : trans) (P : prop) (k: nat) : Prop :=
forall ss : sseq,
~(loop_free T ss 0 k /\ ~P ss.[k]).
Definition prop_nth_init_conj (I : prop) (T : trans) (P : prop) (k : nat) : Prop :=
forall ss : sseq,
~(I ss.[0] /\ path T ss 0 k /\ ~P ss.[k]).

Lemma prop_nth_init_conj_eq :
forall (I:prop) (T:trans) (P:prop) (k:nat),
prop_nth_init I T P k <-> prop_nth_init_conj I T P k.