Module KI:=KI'.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.

Lemma T_rel_refl : forall x, T_rel x x.