fact: Fixpoint clos_trans_ind'' (A:Set)(R P:A->A->Prop) (exp1:forall x y:A, R x y -> P x y) (exp2:forall x y z:A, clos_trans A R x y -> P x y -> clos_trans A R y z -> P y z -> P x z)(x y:A) (p:clos_trans A R x y){struct p} : P x y := match p in (clos_trans _ _ _ x0) return P x x0 with | t_step _ _ _ y' h => exp1 x y' h | t_trans _ _ _ y' z' h1 h2 => exp2 x y' z' h1 (clos_trans_ind'' A R P exp1 exp2 x y' h1) h2 (clos_trans_ind'' A R P exp1 exp2 y' z' h2) end.
imports: ZArith List Arith Zwf Relations Inverse_Image