Library HoTT.Categories.Limits.Functors
Require Import Category.Core Functor.Core.
Require Import KanExtensions.Functors.
Require Import Limits.Core.
Require Import FunctorCategory.Core.
Require Import Adjoint.Core.
Require Import NatCategory.
Set Universe Polymorphism.
Set Implicit Arguments.
Generalizable All Variables.
Set Asymmetric Patterns.
Require Import KanExtensions.Functors.
Require Import Limits.Core.
Require Import FunctorCategory.Core.
Require Import Adjoint.Core.
Require Import NatCategory.
Set Universe Polymorphism.
Set Implicit Arguments.
Generalizable All Variables.
Set Asymmetric Patterns.
(co)limits assemble into functors
TODO(jgross): We'll probably want to compose this with the
functor from 1 → C to C, and then compose the adjunctions
similarly. This will require turning the equality in the
exponential laws into an adjunction. Probably not very
hard.
Definition colimit_functor : Functor (D → C) (1 → C)
:= left_kan_extension_functor has_colimits.
Definition colimit_adjunction
: colimit_functor -| diagonal_functor _ _
:= left_kan_extension_adjunction has_colimits.
End colimit.
Section limit.
Context `(has_limits
: ∀ F : Functor D C,
@IsLimit _ C D F (limits F)).
TODO(jgross): We'll probably want to compose this with the
functor from 1 → C to C, and then compose the adjunctions
similarly. This will require turning the equality in the
exponential laws into an adjunction. Probably not very
hard.
Limit functor, which is right adjoint to Δ
Definition limit_functor : Functor (D → C) (1 → C)
:= right_kan_extension_functor has_limits.
Definition limit_adjunction
: diagonal_functor _ _ -| limit_functor
:= right_kan_extension_adjunction has_limits.
End limit.
End functors.
:= right_kan_extension_functor has_limits.
Definition limit_adjunction
: diagonal_functor _ _ -| limit_functor
:= right_kan_extension_adjunction has_limits.
End limit.
End functors.