Documentation

Mathlib.CategoryTheory.Limits.WeakLimits.WeakEqualizers

Weak equalizers #

These are weak limits for diagrams of shape WalkingParallelPair.

@[reducible, inline]
abbrev CategoryTheory.Limits.HasWeakEqualizer {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} (f g : X Y) :

Two parallel morphisms f and g have a weak equalizer if the diagram parallelPair f g has a weak limit.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev CategoryTheory.Limits.weakEqualizer {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} (f g : X Y) [HasWeakEqualizer f g] :
    C

    If a weak equalizer of f and g exists, we can access an arbitrary choice of such by saying weakEqualizer f g.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev CategoryTheory.Limits.weakEqualizer.ι {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} (f g : X Y) [HasWeakEqualizer f g] :

      If a weak equalizer of f and g exists, we can access the morphism weakEqualizer f g ⟶ X by saying weakEqualizer.ι f g.

      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev CategoryTheory.Limits.weakEqualizer.fork {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} (f g : X Y) [HasWeakEqualizer f g] :
        Fork f g

        A weak equalizer cone for a parallel pair f and g

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.Limits.weakEqualizer.fork_ι {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} (f g : X Y) [HasWeakEqualizer f g] :
          (fork f g).ι = ι f g

          The weak equalizer built from weakEqualizer.ι f g is weakly limiting.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[reducible, inline]
            noncomputable abbrev CategoryTheory.Limits.weakEqualizer.lift {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} [HasWeakEqualizer f g] {W : C} (k : W X) (h : CategoryStruct.comp k f = CategoryStruct.comp k g) :

            A morphism k : W ⟶ X satisfying k ≫ f = k ≫ g factors through the weak equalizer of f and g via weakEqualizer.lift : W ⟶ weakEqualizer f g.

            Equations
            Instances For
              theorem CategoryTheory.Limits.weakEqualizer.lift_ι {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} [HasWeakEqualizer f g] {W : C} (k : W X) (h : CategoryStruct.comp k f = CategoryStruct.comp k g) :
              theorem CategoryTheory.Limits.weakEqualizer.lift_ι_assoc {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} [HasWeakEqualizer f g] {W : C} (k : W X) (h : CategoryStruct.comp k f = CategoryStruct.comp k g) {Z : C} (h✝ : X Z) :
              noncomputable def CategoryTheory.Limits.weakEqualizer.lift' {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} [HasWeakEqualizer f g] {W : C} (k : W X) (h : CategoryStruct.comp k f = CategoryStruct.comp k g) :

              A morphism k : W ⟶ X satisfying k ≫ f = k ≫ g induces a morphism l : W ⟶ weakEqualizer f g satisfying l ≫ weakEqualizer.ι f g = k.

              Equations
              Instances For
                @[reducible, inline]

                A category HasWeakEqualizers if it has all weak limits of shape WalkingParallelPair, i.e. if it has a weak equalizer for every parallel pair of morphisms.

                Equations
                Instances For
                  @[instance 100]

                  A category with equalizers has weak equalizers.

                  If C has all weak limits of diagrams parallelPair f g, then it has all weak equalizers

                  def CategoryTheory.Limits.Fork.IsWeakLimit.mk {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} (t : Fork f g) (lift : (s : Fork f g) → s.pt t.pt) (fac : ∀ (s : Fork f g), CategoryStruct.comp (lift s) t.ι = s.ι) :

                  This is a slightly more convenient method to verify that a fork is a weak limit cone. It only asks for a proof of facts that carry any mathematical content

                  Equations
                  Instances For
                    @[simp]
                    theorem CategoryTheory.Limits.Fork.IsWeakLimit.mk_lift {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} (t : Fork f g) (lift : (s : Fork f g) → s.pt t.pt) (fac : ∀ (s : Fork f g), CategoryStruct.comp (lift s) t.ι = s.ι) (s : Fork f g) :
                    (mk t lift fac).lift s = lift s
                    def CategoryTheory.Limits.Fork.IsWeakLimit.mk' {C : Type u_1} [Category.{v_1, u_1} C] {X Y : C} {f g : X Y} (t : Fork f g) (create : (s : Fork f g) → { l : s.pt t.pt // CategoryStruct.comp l t.ι = s.ι }) :

                    This is another convenient method to verify that a fork is a weak limit cone. It only asks for a proof of facts that carry any mathematical content, and allows access to the same s for all parts.

                    Equations
                    Instances For