Require Export Bmc.Core.
Definition naive_post (I : prop) (T : trans) (P : prop) (k : nat) : Prop :=
safety_nth I T P (S k).
Definition induction_post (I : prop) (T : trans) (P : prop) : Prop :=
(forall (s:state), I s -> P s) /\
(forall (s s':state), P s -> T s s' -> P s').
(**)
(*exists k, ~naive_post I T P k.*)

Theorem soundness_induction :
forall (I:prop) (T:trans) (P:prop),
induction_post I T P ->
forall (i:nat), prop_nth_init I T P i.