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
    Instances For

      Morphisms from an exponentiable object.

      Equations
        Instances For

          The internal element which points at the given morphism.

          Equations
            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
                        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.unitClosed (since := "2025-12-22")]

                                              Alias of CategoryTheory.unitClosed.

                                              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.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_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.unitNatIso (since := "2025-12-22")]

                                                                                  Alias of CategoryTheory.MonoidalClosed.unitNatIso.

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

                                                                                      Alias of CategoryTheory.MonoidalClosed.unitIsoSelf.

                                                                                      Equations
                                                                                        Instances For
                                                                                          @[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