Definition RTStep_left : forall x y z : T, R x y -> rightTrans y z -> rightTrans x z.
intros. revert H. revert x.
induction H0.
{ intros. eapply RTStep. eapply RTFin. eassumption. eassumption. }
{ intros. eapply RTStep. eapply IHrightTrans. eassumption. eassumption. }
Defined.
End parametric.
Section param.
Variable T : Type.
Variable R : T -> T -> Prop.

(* Specifications: *)
Theorem makeTrans_idem : forall s s',
makeTrans (makeTrans R) s s' <-> makeTrans R s s'.
Theorem makeTrans_makeRefl_comm : forall s s',
makeTrans (makeRefl R) s s' <-> makeRefl (makeTrans R) s s'.
Theorem makeRefl_idem : forall s s',
makeRefl (makeRefl R) s s' <-> makeRefl R s s'.