summaryrefslogtreecommitdiff
path: root/examples/category-theory/Adjoints.gf
blob: b4987228decba0f104a94f23ff342071b15ba046 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 ;

}