Documentation

Mathlib.CategoryTheory.Limits.Shapes.Reflexive

Reflexive coequalizers #

This file deals with reflexive pairs, which are pairs of morphisms with a common section.

A reflexive coequalizer is a coequalizer of such a pair. These kind of coequalizers often enjoy nicer properties than general coequalizers, and feature heavily in some versions of the monadicity theorem.

We also give some examples of reflexive pairs: for an adjunction F ⊣ G with counit ε, the pair (FGε_B, ε_FGB) is reflexive. If a pair f,g is a kernel pair for some morphism, then it is reflexive.

Main definitions #

Main statements #

TODO #

class CategoryTheory.IsReflexivePair {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) :

The pair f g : A ⟶ B is reflexive if there is a morphism B ⟶ A which is a section for both.

Instances
    class CategoryTheory.IsCoreflexivePair {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) :

    The pair f g : A ⟶ B is coreflexive if there is a morphism B ⟶ A which is a retraction for both.

    Instances
      noncomputable def CategoryTheory.commonSection {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) [IsReflexivePair f g] :
      B A

      Get the common section for a reflexive pair.

      Equations
      Instances For
        @[simp]
        theorem CategoryTheory.section_comp_left_assoc {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) [IsReflexivePair f g] {Z : C} (h : B Z) :
        @[simp]
        theorem CategoryTheory.section_comp_right_assoc {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) [IsReflexivePair f g] {Z : C} (h : B Z) :
        noncomputable def CategoryTheory.commonRetraction {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) [IsCoreflexivePair f g] :
        B A

        Get the common retraction for a coreflexive pair.

        Equations
        Instances For
          @[simp]
          @[simp]
          theorem CategoryTheory.IsKernelPair.isReflexivePair {C : Type u} [Category.{v, u} C] {A B R : C} {f g : R A} {q : A B} (h : IsKernelPair q f g) :

          If f,g is a kernel pair for some morphism q, then it is reflexive.

          theorem CategoryTheory.IsReflexivePair.swap {C : Type u} [Category.{v, u} C] {A B : C} {f g : A B} [IsReflexivePair f g] :

          If f,g is reflexive, then g,f is reflexive.

          If f,g is coreflexive, then g,f is coreflexive.

          instance CategoryTheory.instIsReflexivePairMapAppCounitObj {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] {F : Functor C D} {G : Functor D C} (adj : F G) (B : D) :
          IsReflexivePair (F.map (G.map (adj.counit.app B))) (adj.counit.app (F.obj (G.obj B)))

          For an adjunction F ⊣ G with counit ε, the pair (FGε_B, ε_FGB) is reflexive.

          C has reflexive coequalizers if it has coequalizers for every reflexive pair.

          Instances

            C has coreflexive equalizers if it has equalizers for every coreflexive pair.

            Instances
              @[instance 100]

              If C has coequalizers, then it has reflexive coequalizers.

              @[instance 100]

              If C has equalizers, then it has coreflexive equalizers.

              The type of objects for the diagram indexing reflexive (co)equalizers

              Instances For

                The type of morphisms for the diagram indexing reflexive (co)equalizers

                Instances For
                  def CategoryTheory.Limits.WalkingReflexivePair.Hom.comp {X Y Z : WalkingReflexivePair} :
                  X.Hom YY.Hom ZX.Hom Z

                  Composition of morphisms in the diagram indexing reflexive (co)equalizers

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

                    The inclusion functor forgetting the common section

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def CategoryTheory.Limits.reflexivePair {C : Type u} [Category.{v, u} C] {A B : C} (f g : A B) (s : B A) (sl : CategoryStruct.comp s f = CategoryStruct.id B := by aesop_cat) (sr : CategoryStruct.comp s g = CategoryStruct.id B := by aesop_cat) :

                      Bundle the data of a parallel pair along with a common section as a functor out of the walking reflexive pair

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

                        (Noncomputably) bundle the data of a reflexive pair as a functor out of the walking reflexive pair

                        Equations
                        Instances For

                          The natural isomorphism between the diagram obtained by forgetting the reflexion of ofIsReflexivePair f g and the original parallel pair.

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

                            A constructor for natural transformations between functors from WalkingReflexivePair.

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

                              Constructor for natural isomorphisms between functors out of WalkingReflexivePair.

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

                                Every functor out of WalkingReflexivePair is isomorphic to the reflexivePair given by its components

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def CategoryTheory.Limits.reflexivePair.compRightIso {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] {A B : C} (f g : A B) (s : B A) (sl : CategoryStruct.comp s f = CategoryStruct.id B) (sr : CategoryStruct.comp s g = CategoryStruct.id B) (F : Functor C D) :
                                  (reflexivePair f g s sl sr).comp F reflexivePair (F.map f) (F.map g) (F.map s)

                                  A reflexivePair composed with a functor is isomorphic to the reflexivePair obtained by applying the functor at each map.

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

                                    Any functor out of the WalkingReflexivePair yields a reflexive pair

                                    @[reducible, inline]

                                    A ReflexiveCofork is a cocone over a WalkingReflexivePair-shaped diagram.

                                    Equations
                                    Instances For
                                      @[reducible, inline]

                                      The tail morphism of a reflexive cofork.

                                      Equations
                                      Instances For

                                        Constructor for ReflexiveCofork

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[reducible, inline]

                                          The underlying Cofork of a ReflexiveCofork.

                                          Equations
                                          Instances For

                                            Forgetting the reflexion yields an equivalence between cocones over a bundled reflexive pair and coforks on the underlying parallel pair.

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

                                              The equivalence between reflexive coforks and coforks sends a reflexive cofork to its underlying cofork.

                                              Equations
                                              Instances For

                                                A reflexive cofork is a colimit cocone if and only if the underlying cofork is.

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

                                                  The colimit of a functor out of the walking reflexive pair is the same as the colimit of the underlying parallel pair.

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

                                                    The coequalizer of a reflexive pair can be promoted to the colimit of a diagram out of the walking reflexive pair

                                                    Equations
                                                    Instances For

                                                      A category has coequalizers of reflexive pairs if and only if it has all colimits indexed by the walking reflexive pair.