Documentation

Mathlib.CategoryTheory.Subfunctor.Equalizer

The equalizer of two morphisms of functors, as a subfunctor #

If F₁ and F₂ are type-valued functors, A : Subfunctor F₁, and f and g are two morphisms A.toFunctor ⟶ F₂, we introduce Subcomplex.equalizer f g, which is the subfunctor of F₁ contained in A where f and g coincide.

def CategoryTheory.Subfunctor.equalizer {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) :

The equalizer of two morphisms of type-valued functors of types of the form A.toFunctor ⟶ F₂ with A : Subfunctor F₁, as a subcomplex of F₁.

Equations
    Instances For
      theorem CategoryTheory.Subfunctor.equalizer_obj {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) (U : C) :
      (Subfunctor.equalizer f g).obj U = {x : F₁.obj U | ∃ (hx : x A.obj U), f.app U x, hx = g.app U x, hx}
      @[simp]
      theorem CategoryTheory.Subfunctor.equalizer_self {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f : A.toFunctor F₂) :
      theorem CategoryTheory.Subfunctor.mem_equalizer_iff {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) {i : C} (x : A.toFunctor.obj i) :
      x (Subfunctor.equalizer f g).obj i f.app i x = g.app i x

      Given two morphisms f and g in A.toFunctor ⟶ F₂, this is the monomorphism of functors corresponding to the inclusion Subfunctor.equalizer f g ≤ A.

      Equations
        Instances For

          Given two morphisms f and g in A.toFunctor ⟶ F₂, if φ : G ⟶ A.toFunctor is such that φ ≫ f = φ ≫ g, then this is the lifted morphism G ⟶ (Subfunctor.equalizer f g).toFunctor. This is part of the universal property of the equalizer that is satisfied by the functor (Subfunctor.equalizer f g).toFunctor.

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Subfunctor.equalizer.lift_ι {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) {G : Functor C (Type w)} (φ : G A.toFunctor) (w : CategoryStruct.comp φ f = CategoryStruct.comp φ g) :
              CategoryStruct.comp (lift f g φ w) (ι f g) = φ
              @[simp]
              theorem CategoryTheory.Subfunctor.equalizer.lift_ι_assoc {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) {G : Functor C (Type w)} (φ : G A.toFunctor) (w : CategoryStruct.comp φ f = CategoryStruct.comp φ g) {Z : Functor C (Type w)} (h : A.toFunctor Z) :
              def CategoryTheory.Subfunctor.equalizer.fork {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) :

              The (limit) fork which expresses (Subfunctor.equalizer f g).toFunctor as the equalizer of f and g.

              Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Subfunctor.equalizer.fork_ι {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) :
                  (fork f g).ι = ι f g

                  (Subfunctor.equalizer f g).toFunctor is the equalizer of f and g.

                  Equations
                    Instances For
                      @[deprecated CategoryTheory.Subfunctor.equalizer (since := "2025-12-11")]
                      def CategoryTheory.Subfunctor.Subpresheaf.equalizer {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) :

                      Alias of CategoryTheory.Subfunctor.equalizer.


                      The equalizer of two morphisms of type-valued functors of types of the form A.toFunctor ⟶ F₂ with A : Subfunctor F₁, as a subcomplex of F₁.

                      Equations
                        Instances For
                          @[deprecated CategoryTheory.Subfunctor.equalizer_le (since := "2025-12-11")]

                          Alias of CategoryTheory.Subfunctor.equalizer_le.

                          @[deprecated CategoryTheory.Subfunctor.equalizer_self (since := "2025-12-11")]

                          Alias of CategoryTheory.Subfunctor.equalizer_self.

                          @[deprecated CategoryTheory.Subfunctor.mem_equalizer_iff (since := "2025-12-11")]
                          theorem CategoryTheory.Subfunctor.Subpresheaf.mem_equalizer_iff {C : Type u} [Category.{v, u} C] {F₁ F₂ : Functor C (Type w)} {A : Subfunctor F₁} (f g : A.toFunctor F₂) {i : C} (x : A.toFunctor.obj i) :
                          x (Subfunctor.equalizer f g).obj i f.app i x = g.app i x

                          Alias of CategoryTheory.Subfunctor.mem_equalizer_iff.

                          @[deprecated CategoryTheory.Subfunctor.range_le_equalizer_iff (since := "2025-12-11")]

                          Alias of CategoryTheory.Subfunctor.range_le_equalizer_iff.

                          @[deprecated CategoryTheory.Subfunctor.equalizer_eq_iff (since := "2025-12-11")]

                          Alias of CategoryTheory.Subfunctor.equalizer_eq_iff.

                          @[deprecated CategoryTheory.Subfunctor.equalizer.ι (since := "2025-12-11")]

                          Alias of CategoryTheory.Subfunctor.equalizer.ι.


                          Given two morphisms f and g in A.toFunctor ⟶ F₂, this is the monomorphism of functors corresponding to the inclusion Subfunctor.equalizer f g ≤ A.

                          Equations
                            Instances For
                              @[deprecated CategoryTheory.Subfunctor.equalizer.ι_ι (since := "2025-12-11")]

                              Alias of CategoryTheory.Subfunctor.equalizer.ι_ι.

                              @[deprecated CategoryTheory.Subfunctor.equalizer.condition (since := "2025-12-11")]

                              Alias of CategoryTheory.Subfunctor.equalizer.condition.

                              @[deprecated CategoryTheory.Subfunctor.equalizer.lift (since := "2025-12-11")]

                              Alias of CategoryTheory.Subfunctor.equalizer.lift.


                              Given two morphisms f and g in A.toFunctor ⟶ F₂, if φ : G ⟶ A.toFunctor is such that φ ≫ f = φ ≫ g, then this is the lifted morphism G ⟶ (Subfunctor.equalizer f g).toFunctor. This is part of the universal property of the equalizer that is satisfied by the functor (Subfunctor.equalizer f g).toFunctor.

                              Equations
                                Instances For
                                  @[deprecated CategoryTheory.Subfunctor.equalizer.lift_ι' (since := "2025-12-11")]

                                  Alias of CategoryTheory.Subfunctor.equalizer.lift_ι'.

                                  @[deprecated CategoryTheory.Subfunctor.equalizer.lift_ι (since := "2025-12-11")]

                                  Alias of CategoryTheory.Subfunctor.equalizer.lift_ι.

                                  @[deprecated CategoryTheory.Subfunctor.equalizer.fork (since := "2025-12-11")]

                                  Alias of CategoryTheory.Subfunctor.equalizer.fork.


                                  The (limit) fork which expresses (Subfunctor.equalizer f g).toFunctor as the equalizer of f and g.

                                  Equations
                                    Instances For
                                      @[deprecated CategoryTheory.Subfunctor.equalizer.fork_ι (since := "2025-12-11")]

                                      Alias of CategoryTheory.Subfunctor.equalizer.fork_ι.

                                      @[deprecated CategoryTheory.Subfunctor.equalizer.forkIsLimit (since := "2025-12-11")]

                                      Alias of CategoryTheory.Subfunctor.equalizer.forkIsLimit.


                                      (Subfunctor.equalizer f g).toFunctor is the equalizer of f and g.

                                      Equations
                                        Instances For