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.*)
(**)
Require Export Bmc.CoreConj.
Definition naive_post_conj (I : prop) (T : trans) (P : prop) (k : nat) : Prop :=
safety_nth_conj I T P (S k).

Theorem naive_post_conj_eq :
forall (I:prop) (T:trans) (P:prop) (k:nat),
naive_post I T P k <-> naive_post_conj I T P k.