Module Type KNOT_INPUT__COVARIANT_HERED_PROP_OTH_REL.
Parameter F : functor.
Parameter other : Type.
Parameter Rel : forall A, F A -> F A -> Prop.
Parameter Rel_fmap : forall A B (f:A->B) x y,
Rel A x y -> Rel B (fmap F f x) (fmap F f y).
Parameter Rel_unfmap : forall A B (f:A->B) x y,
Rel B (fmap F f x) y ->
exists y', Rel A x y' /\ fmap F f y' = y.
Parameter ORel : other -> other -> Prop.

Axiom ORel_refl : reflexive other ORel.
Axiom ORel_trans : transitive other ORel.