Canonical subType  := SubType _ _ _ reprP qreprK.Canonical eqType := EqType qT eqMixin.Canonical choiceType (T : choiceType) (qT : quotType T) :=
  ChoiceType qT (@choiceMixin T qT).Canonical countType (T : countType) (qT : quotType T) :=
  CountType qT (@countMixin T qT).

Lemma left_trans (e : rel T) : symmetric e -> transitive e -> left_transitive e.