End KnotLemmas_CoContraVariantHeredTOthRel.
Module Knot_CovariantHeredPropOthRel (KI':KNOT_INPUT__COVARIANT_HERED_PROP_OTH_REL)
: KNOT__COVARIANT_HERED_PROP_OTH_REL with Module KI:=KI'.
Module KI:=KI'.
Module Input.
Definition F: functor :=
GeneralFunctorGenerator.CovariantFunctor_MixVariantFunctor KI.F.
Definition other := KI.other.
Definition Rel (A: Type): F A -> F A -> Prop := KI.Rel A.
Definition Rel_fmap (A B: Type): forall (f1: A->B) (f2:B->A) x y,
Rel A x y ->
Rel B (fmap F f1 f2 x) (fmap F f1 f2 y) :=
fun f s => KI.Rel_fmap A B f.
Definition Rel_refl (A: Type): forall x, Rel A x x := KI.Rel_refl A.
Definition Rel_trans (A: Type): forall x y z,
Rel A x y -> Rel A y z -> Rel A x z
:= KI.Rel_trans A.
Definition ORel := KI.ORel.
Definition ORel_refl := KI.ORel_refl.
Definition ORel_trans := KI.ORel_trans.
Definition T := Prop.
Definition T_bot := False.
Definition T_rel (x y:T) := x -> y.

(* Specifications: *)
Lemma T_rel_bot : forall x, T_rel T_bot x.
Lemma T_rel_refl : forall x, T_rel x x.
Lemma T_rel_trans : transitive T T_rel.
End Input.