Documentation

Mathlib.CategoryTheory.Limits.ExactFunctor

Bundled exact functors #

We say that a functor F is left exact if it preserves finite limits, it is right exact if it preserves finite colimits, and it is exact if it is both left exact and right exact.

In this file, we define the categories of bundled left exact, right exact and exact functors.

Left-exactness, as a property of objects in C ⥤ D.

Instances For
    @[reducible, inline]
    abbrev CategoryTheory.LeftExactFunctor (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] :
    Type (max (max (max u₁ u₂) v₁) v₂)

    Bundled left-exact functors.

    Instances For
      def CategoryTheory.«term_⥤ₗ_» :
      Lean.TrailingParserDescr

      C ⥤ₗ D denotes left exact functors C ⥤ D

      Instances For
        @[reducible, inline]

        A left exact functor is in particular a functor.

        Instances For
          @[reducible, inline]

          The inclusion of left exact functors into functors is fully faithful.

          Instances For

            Right-exactness, as a property of objects in C ⥤ D.

            Instances For
              @[reducible, inline]
              abbrev CategoryTheory.RightExactFunctor (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] :
              Type (max (max (max u₁ u₂) v₁) v₂)

              Bundled right-exact functors.

              Instances For
                def CategoryTheory.«term_⥤ᵣ_» :
                Lean.TrailingParserDescr

                C ⥤ᵣ D denotes right exact functors C ⥤ D

                Instances For
                  @[reducible, inline]

                  A right exact functor is in particular a functor.

                  Instances For
                    @[reducible, inline]

                    The inclusion of right exact functors into functors is fully faithful.

                    Instances For

                      Exactness, as a property of objects in C ⥤ D.

                      Instances For
                        @[reducible, inline]
                        abbrev CategoryTheory.ExactFunctor (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] :
                        Type (max (max (max u₁ u₂) v₁) v₂)

                        Bundled exact functors.

                        Instances For
                          def CategoryTheory.«term_⥤ₑ_» :
                          Lean.TrailingParserDescr

                          C ⥤ₑ D denotes exact functors C ⥤ D

                          Instances For
                            @[reducible, inline]

                            An exact functor is in particular a functor.

                            Instances For
                              @[reducible, inline]

                              Turn an exact functor into a left exact functor.

                              Instances For
                                @[reducible, inline]

                                Turn an exact functor into a left exact functor.

                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.LeftExactFunctor.ofExact_obj {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : C ⥤ₑ D) :
                                  (ofExact C D).obj F = { obj := F.obj, property := }
                                  @[simp]
                                  theorem CategoryTheory.RightExactFunctor.ofExact_obj {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : C ⥤ₑ D) :
                                  (ofExact C D).obj F = { obj := F.obj, property := }
                                  @[simp]
                                  theorem CategoryTheory.LeftExactFunctor.ofExact_map_hom {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ₑ D} (α : F G) :
                                  ((ofExact C D).map α).hom = α.hom
                                  @[simp]
                                  theorem CategoryTheory.RightExactFunctor.ofExact_map_hom {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ₑ D} (α : F G) :
                                  ((ofExact C D).map α).hom = α.hom
                                  @[simp]
                                  theorem CategoryTheory.LeftExactFunctor.forget_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ₗ D} (α : F G) :
                                  (forget C D).map α = α.hom
                                  @[simp]
                                  theorem CategoryTheory.RightExactFunctor.forget_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ᵣ D} (α : F G) :
                                  (forget C D).map α = α.hom
                                  @[simp]
                                  theorem CategoryTheory.ExactFunctor.forget_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ₑ D} (α : F G) :
                                  (forget C D).map α = α.hom

                                  Turn a left exact functor into an object of the category LeftExactFunctor C D.

                                  Instances For

                                    Turn a right exact functor into an object of the category RightExactFunctor C D.

                                    Instances For

                                      Turn an exact functor into an object of the category ExactFunctor C D.

                                      Instances For

                                        Whiskering a left exact functor by a left exact functor yields a left exact functor.

                                        Instances For

                                          Whiskering a left exact functor by a left exact functor yields a left exact functor.

                                          Instances For

                                            Whiskering a right exact functor by a right exact functor yields a right exact functor.

                                            Instances For

                                              Whiskering a right exact functor by a right exact functor yields a right exact functor.

                                              Instances For

                                                Whiskering an exact functor by an exact functor yields an exact functor.

                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.ExactFunctor.whiskeringLeft_obj_map (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] (E : Type u₃) [Category.{v₃, u₃} E] (F : C ⥤ₑ D) {X✝ Y✝ : D ⥤ₑ E} (f : X✝ Y✝) :

                                                  Whiskering an exact functor by an exact functor yields an exact functor.

                                                  Instances For
                                                    @[deprecated CategoryTheory.LeftExactFunctor.ofExact_map_hom (since := "2025-12-18")]
                                                    theorem CategoryTheory.LeftExactFunctor.ofExact_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ₑ D} (α : F G) :
                                                    ((ofExact C D).map α).hom = α.hom

                                                    Alias of CategoryTheory.LeftExactFunctor.ofExact_map_hom.

                                                    @[deprecated CategoryTheory.RightExactFunctor.ofExact_map_hom (since := "2025-12-18")]
                                                    theorem CategoryTheory.RightExactFunctor.ofExact_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F G : C ⥤ₑ D} (α : F G) :
                                                    ((ofExact C D).map α).hom = α.hom

                                                    Alias of CategoryTheory.RightExactFunctor.ofExact_map_hom.