Documentation

Poly.ForMathlib.CategoryTheory.LocallyCartesianClosed.Basic

Locally cartesian closed categories #

There are several equivalent definitions of locally cartesian closed categories. For instance the following two definitions are equivalent:

  1. A locally cartesian closed category is a category C such that for every object I the slice category Over I is cartesian closed.

  2. Equivalently, a locally cartesian closed category is a category with pullbacks where all morphisms f are exponentiable, that is the base change functor Over.pullback f has a right adjoint for every morphisms f : I ⟶ J. This latter condition is equivalent to exponentiability of Over.mk f in Over J. The right adjoint of Over.pullback f is called the pushforward functor.

In this file we prove the equivalence of these definitions.

Implementation notes #

The type class LocallyCartesianClosed extends HasPushforwards with the extra data carrying the witness of cartesian closedness of the slice categories. HasPushforwards.cartesianClosedOver shows that the cartesian closed structure of the slices follows from existence of pushforwards along all morphisms. As such when instantiating a LocallyCartesianClosed structure, providing the the cartesian closed structure of the slices is not necessary and it will be filled in automatically. See LocallyCartesianClosed.mkOfHasPushforwards and LocallyCartesianClosed.mkOfCartesianClosedOver.

The advanatge we obtain from this implementation is that when using a LocallyCartesianClosed structure, both the pushforward functor and the cartesian closed structure of slices are automatically available.

Main results #

@[reducible, inline]

A morphism f : I ⟶ J is exponentiable if the pullback functor Over J ⥤ Over I has a right adjoint.

Equations
Instances For
    @[reducible, inline]

    The dependent evaluation natural transformation as the counit of the adjunction.

    Equations
    Instances For
      @[reducible, inline]

      The dependent coevaluation natural transformation as the unit of the adjunction.

      Equations
      Instances For

        The first triangle identity for the counit and unit of the adjunction.

        The second triangle identity for the counit and unit of the adjunction.

        The currying of (Over.pullback f).obj A ⟶ X in Over I to a morphism A ⟶ (pushforward f).obj X in Over J.

        Equations
        Instances For

          The uncurrying of A ⟶ (pushforward f).obj X in Over J to a morphism (Over.pullback f).obj A ⟶ X in Over I.

          Equations
          Instances For

            The identity morphisms 𝟙 are exponentiable.

            The conjugate iso between the pushforward of the identity and the identity of the pushforward.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The composition of exponentiable morphisms is exponentiable.

              The conjugate isomorphism between pushforward of the composition and the composition of pushforward functors.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                A morphism with a pushforward is an exponentiable object in the slice category.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  An exponentibale object X in the slice category Over I gives rise to an exponentiable morphism X.hom. Here the pushforward functor along a morphism f : I ⟶ J is defined using the section functor Over (Over.mk f) ⥤ Over J.

                  Equations
                  • =
                  Instances For

                    A category HasPushforwards if every morphism is exponentiable.

                    • exponentiable {I J : C} (f : I J) : ExponentiableMorphism f

                      A function assigning to every morphism f : I ⟶ J an exponentiable structure.

                    Instances

                      In a category where pushforwards exists along all morphisms, every slice category Over I is cartesian closed.

                      Equations

                      A category with cartesian closed slices has pushforwards along all morphisms.

                      A category with FiniteWidePullbacks is locally cartesian closed if every morphism in it is exponentiable and all the slices are cartesian closed.

                      Instances

                        A category with pushforwards along all morphisms is locally cartesian closed.

                        Equations

                        A category with cartesian closed slices is locally cartesian closed.

                        Equations

                        Every morphism in a locally cartesian closed category is exponentiable.

                        @[reducible, inline]

                        Pi X Y is the dependent product of Y along X. This is analogous to the dependent function type Π x : X, Y x in type theory. See Over.Sigma and Over.Reindex for related constructions.

                        Equations
                        Instances For
                          @[reducible, inline]

                          Pi' is a variant of Pi which takes as input morphisms and outputs morphisms.

                          Equations
                          Instances For
                            @[reducible, inline]

                            The dependent evaluation morphisms.

                            Equations
                            Instances For

                              The exponential X^^A in the slice category Over I is isomorphic to the pushforward of the pullback of X along A.

                              Equations
                              Instances For