Documentation

Mathlib.CategoryTheory.Monoidal.Closed.Cartesian

Cartesian closed categories #

A cartesian closed category is a category with CartesianMonoidalCategory and MonoidalClosed instances. There used to be a separate definition CartesianClosed, with its own API, but over time this ended up as a duplicate of the former. Now, CartesianClosed and the surrounding API has been deprecated, and the API for MonoidalClosed should be used instead. This file now contains a few basic constructions for cartesian closed categories.

Morphisms obtained using an exponentiable object.

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

    Delaborator for Functor.obj

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

      Morphisms from an exponentiable object.

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

        The internal element which points at the given morphism.

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

          If an initial object I exists in a CCC, then A ⨯ I ≅ I.

          Equations
          Instances For

            If an initial object 0 exists in a CCC, then 0 ⨯ A ≅ 0.

            Equations
            Instances For

              If an initial object 0 exists in a CCC then 0^B ≅ 1 for any B.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[deprecated "No replacement: use `asIso (coprodComparison (tensorLeft Z) _ _)` instead." (since := "2025-12-22")]

                In a CCC with binary coproducts, the distribution morphism is an isomorphism.

                Equations
                Instances For
                  theorem CategoryTheory.strict_initial {C : Type u} [Category.{v, u} C] [CartesianMonoidalCategory C] {A : C} [Closed A] {I : C} (t : Limits.IsInitial I) (f : A I) :

                  If an initial object I exists in a CCC then it is a strict initial object, i.e. any morphism to I is an iso. This actually shows a slightly stronger version: any morphism to an initial object from an exponentiable object is an isomorphism.

                  If an initial object 0 exists in a CCC then every morphism from it is monic.

                  Transport the property of being Cartesian closed across an equivalence of categories.

                  Note we didn't require any coherence between the choice of finite products here, since we transport along the prodComparison isomorphism.

                  Equations
                  Instances For
                    @[deprecated CategoryTheory.Closed (since := "2025-12-22")]

                    Alias of CategoryTheory.Closed.

                    Equations
                    Instances For
                      @[deprecated CategoryTheory.Closed.mk (since := "2025-12-22")]
                      def CategoryTheory.Exponentiable.mk {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {X : C} (rightAdj : Functor C C) (adj : MonoidalCategory.tensorLeft X rightAdj) :

                      Alias of CategoryTheory.Closed.mk.

                      Equations
                      Instances For
                        @[deprecated CategoryTheory.tensorClosed (since := "2025-12-22")]

                        Alias of CategoryTheory.tensorClosed.

                        Equations
                        Instances For
                          @[deprecated CategoryTheory.MonoidalClosed (since := "2025-12-22")]

                          Alias of CategoryTheory.MonoidalClosed.

                          Equations
                          Instances For
                            @[deprecated CategoryTheory.MonoidalClosed.mk (since := "2025-12-22")]
                            def CategoryTheory.CartesianClosed.mk {C : Type u} [Category.{v, u} C] [MonoidalCategory C] (closed : (X : C) → Closed X := by infer_instance) :

                            Alias of CategoryTheory.MonoidalClosed.mk.

                            Equations
                            Instances For
                              @[deprecated CategoryTheory.ihom (since := "2025-12-22")]

                              Alias of CategoryTheory.ihom.

                              Equations
                              Instances For
                                @[deprecated CategoryTheory.ihom.adjunction (since := "2025-12-22")]

                                Alias of CategoryTheory.ihom.adjunction.

                                Equations
                                Instances For
                                  @[deprecated CategoryTheory.ihom.ev (since := "2025-12-22")]

                                  Alias of CategoryTheory.ihom.ev.

                                  Equations
                                  Instances For
                                    @[deprecated CategoryTheory.ihom.coev (since := "2025-12-22")]

                                    Alias of CategoryTheory.ihom.coev.

                                    Equations
                                    Instances For
                                      @[deprecated CategoryTheory.ihom.coev_ev (since := "2025-12-22")]
                                      theorem CategoryTheory.exp.coev_ev {C : Type u} [Category.{v, u} C] [MonoidalCategory C] (A B : C) [Closed A] :
                                      CategoryStruct.comp ((ihom.coev A).app (AB)) ((ihom A).map ((ihom.ev A).app B)) = CategoryStruct.id (AB)

                                      Alias of CategoryTheory.ihom.coev_ev.

                                      @[deprecated CategoryTheory.ihom.ev_coev_assoc (since := "2025-12-22")]

                                      Alias of CategoryTheory.ihom.ev_coev_assoc.

                                      @[deprecated CategoryTheory.ihom.coev_ev_assoc (since := "2025-12-22")]
                                      theorem CategoryTheory.exp.coev_ev_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] (A B : C) [Closed A] {Z : C} (h : AB Z) :

                                      Alias of CategoryTheory.ihom.coev_ev_assoc.

                                      @[deprecated CategoryTheory.MonoidalClosed.curry (since := "2025-12-22")]

                                      Alias of CategoryTheory.MonoidalClosed.curry.

                                      Equations
                                      Instances For
                                        @[deprecated CategoryTheory.MonoidalClosed.uncurry (since := "2025-12-22")]

                                        Alias of CategoryTheory.MonoidalClosed.uncurry.

                                        Equations
                                        Instances For
                                          @[deprecated CategoryTheory.MonoidalClosed.homEquiv_apply_eq (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.homEquiv_apply_eq.

                                          @[deprecated CategoryTheory.MonoidalClosed.homEquiv_symm_apply_eq (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.homEquiv_symm_apply_eq.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_natural_left_assoc (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_natural_left_assoc.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_natural_right (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_natural_right.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_natural_right_assoc (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_natural_right_assoc.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_natural_right (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_natural_right.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_natural_right_assoc (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_natural_right_assoc.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_natural_left (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_natural_left.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_natural_left_assoc (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_natural_left_assoc.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_curry (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_curry.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_uncurry (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_uncurry.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_eq_iff (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_eq_iff.

                                          @[deprecated CategoryTheory.MonoidalClosed.eq_curry_iff (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.eq_curry_iff.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_eq (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_eq.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_eq (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_eq.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_id_eq_ev (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_id_eq_ev.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_id_eq_coev (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_id_eq_coev.

                                          @[deprecated CategoryTheory.MonoidalClosed.curry_injective (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.curry_injective.

                                          @[deprecated CategoryTheory.MonoidalClosed.uncurry_injective (since := "2025-12-22")]

                                          Alias of CategoryTheory.MonoidalClosed.uncurry_injective.

                                          @[deprecated CategoryTheory.MonoidalClosed.pre (since := "2025-12-22")]
                                          def CategoryTheory.pre {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {A B : C} [Closed A] [Closed B] (f : B A) :

                                          Alias of CategoryTheory.MonoidalClosed.pre.

                                          Equations
                                          Instances For
                                            @[deprecated CategoryTheory.MonoidalClosed.id_tensor_pre_app_comp_ev (since := "2025-12-22")]

                                            Alias of CategoryTheory.MonoidalClosed.id_tensor_pre_app_comp_ev.

                                            @[deprecated CategoryTheory.MonoidalClosed.uncurry_pre (since := "2025-12-22")]

                                            Alias of CategoryTheory.MonoidalClosed.uncurry_pre.

                                            @[deprecated CategoryTheory.MonoidalClosed.coev_app_comp_pre_app (since := "2025-12-22")]

                                            Alias of CategoryTheory.MonoidalClosed.coev_app_comp_pre_app.

                                            @[deprecated CategoryTheory.MonoidalClosed.pre_id (since := "2025-12-22")]

                                            Alias of CategoryTheory.MonoidalClosed.pre_id.

                                            @[deprecated CategoryTheory.MonoidalClosed.pre_map (since := "2025-12-22")]
                                            theorem CategoryTheory.pre_map {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {A₁ A₂ A₃ : C} [Closed A₁] [Closed A₂] [Closed A₃] (f : A₁ A₂) (g : A₂ A₃) :

                                            Alias of CategoryTheory.MonoidalClosed.pre_map.

                                            @[deprecated CategoryTheory.MonoidalClosed.internalHom (since := "2025-12-22")]

                                            Alias of CategoryTheory.MonoidalClosed.internalHom.

                                            Equations
                                            Instances For