abstract Adjoints = NaturalTransform ** { ---------------------------------------------------------- -- Adjoint functors - pair of functors such that -- there is a natural transformation from the identity -- functor to the composition of the functors. cat Adjoints ({c1,c2} : Category) (Functor c1 c2) (Functor c2 c1) ; data adjoints : ({c1,c2} : Category) -> (f : Functor c1 c2) -> (g : Functor c2 c1) -> NT (idF c1) (compF g f) -> Adjoints f g ; }