(* Les 2 hypotheses du Lemme de Newman *)

  Axiom Hyp1:(x:A)(P:A->Prop)((y:A)((z:A)(R y z)->(P z))->(P y))->(P x).Axiom Hyp2:(x:A)(y:A)(z:A)(R x y)->(R x z)->(coherence y z).

(* Specifications: *)
Lemma Rstar_reflexive: (x:A)(Rstar x x).
Lemma Rstar_R: (x:A)(y:A)(z:A)(R x y)->(Rstar y z)->(Rstar x z).
Lemma Rstar_transitive: (x:A)(y:A)(z:A)(Rstar x y)->(Rstar y z)->(Rstar x z).
Lemma Rstar'_reflexive: (x:A)(Rstar' x x).
Lemma Rstar'_R: (x:A)(y:A)(z:A)(R x z)->(Rstar z y)->(Rstar' x y).
Lemma Rstar'_Rstar: (x:A)(y:A)(Rstar' x y)->(Rstar x y).
Lemma Rstar_Rstar': (x:A)(y:A)(Rstar x y)->(Rstar' x y).
Lemma coherence_intro : (x:A)(y:A)(z:A)(Rstar x z)->(Rstar y z) ->(coherence x y).
Lemma Rstar_coherence : (x:A)(y:A)(Rstar x y)->(coherence x y).
Lemma coherence_sym: (x:A)(y:A)(coherence x y)->(coherence y x).
Lemma Diagram: (x:A)((u:A)(R x u)->(y:A)(z:A)(Rstar u y)->(Rstar u z)->(coherence y z)) ->(y,z,u:A)(R x u)->(Rstar u y) ->(v:A)(R x v)->(Rstar v z)->(coherence y z).
Lemma caseRxy: (x:A)((u:A)(R x u)->(y,z:A)(Rstar u y)->(Rstar u z)->(coherence y z)) ->(y,z:A)(Rstar x y)->(Rstar x z) ->(u:A)(R x u)->(Rstar u y)->(coherence y z).
Lemma Ind_proof : (x:A)((u:A)(R x u)->(y:A)(z:A)(Rstar u y)->(Rstar u z)->(coherence y z)) ->(y:A)(z:A)(Rstar x y)->(Rstar x z)->(coherence y z).
Lemma Newman: (x:A)(y:A)(z:A)(Rstar x y)->(Rstar x z)->(coherence y z).