Require Export Bmc.Core.
Definition k_ind_step (T : trans)
(P : prop) (i: nat) : Prop :=
forall ss : sseq,
path T ss 0 i -> safety_nth_offset P ss 0 i -> P ss.[i].
Definition k_induction_post (I : prop) (T : trans) (P : prop) (k: nat) : Prop :=
k_ind_step T P (S k) /\ safety_nth I T P k.
(**)

Lemma lt_wf_ind_incl_prop :
forall (I : prop) (T : trans) (P : prop) (ss : sseq) (i k : nat),
S k <= i -> I ss.[0] /\ path T ss 0 i ->
( forall m : nat,
m < i -> I ss.[0] /\ path T ss 0 m ->
P ss.[m] ) ->
safety_nth_offset P ss (i - S k) (S k).