End adj_def.
(* Left Adjunction *)
Structure LeftAdj (C D : Category) (G : Functor C D) : Type :=
{Adjoint : Functor D C; Adj_l :> Adj Adjoint G}.
(* Right Adjunction *)
Structure RightAdj (C D : Category) (F : Functor D C) : Type :=
{CoAdjoint : Functor C D; Adj_r :> Adj F CoAdjoint}.
Section adj_eqs.
Variables (C D : Category) (F : Functor D C) (G : Functor C D) (ad : Adj F G).
Variables (d d' : D) (c c' : C) (h : d' --> d) (k : c --> c') (f : F d --> c).

(* Specifications: *)
Lemma Adj_eq1 :
ApAphi ad ((FMor F h o f) o k) =_S (h o ApAphi ad f) o FMor G k.