Fixpoint leftTrans_makeTrans_acc x y (l : leftTrans x y) : makeTrans x y :=
    match l with
      | LTFin pf => TStep pf
      | LTStep _ pf pfL =>
        TTrans (TStep pf) (leftTrans_makeTrans_acc pfL)
    end.Fixpoint leftTrans_trans x y (l : leftTrans x y) : forall z (r : leftTrans y z), leftTrans x z :=
    match l with
      | LTFin pf => fun _ pfL => LTStep pf pfL
      | LTStep _ pf pfL => fun _ pfR => LTStep pf (leftTrans_trans pfL pfR)
    end.

(* Specifications: *)
Theorem makeTrans_leftTrans : forall s s', makeTrans s s' <-> leftTrans s s'.
Theorem makeTrans_rightTrans : forall s s', makeTrans s s' <-> rightTrans s s'.