(* Equivalence of the two definitions: *)

(* Specifications: *)
Theorem Rstar'_Rstar : forall x y : A, Rstar' x y -> Rstar x y.
Proof
fun (x y : A) (h : Rstar' x y) =>
h Rstar (Rstar_reflexive x) (fun u : A => Rstar_R x u y).
Theorem Rstar_Rstar' : forall x y : A, Rstar x y -> Rstar' x y.
Proof
fun (x y : A) (h : Rstar x y) =>
h Rstar' (fun u : A => Rstar'_reflexive u)
(fun (u v w : A) (h1 : R u v) (h2 : Rstar' v w) =>
Rstar'_R u w v h1 (Rstar'_Rstar v w h2)).