Documentation

Mathlib.CategoryTheory.MorphismProperty.Composition

Compatibilities of properties of morphisms with respect to composition #

Given P : MorphismProperty C, we define the predicate P.IsStableUnderComposition which means that P f → P g → P (f ≫ g). We also introduce the type classes W.ContainsIdentities, W.IsMultiplicative, and W.HasTwoOutOfThreeProperty.

@[reducible, inline]

The property of morphisms that is satisfied by šŸ™ X for any X.

Equations
Instances For

    Typeclass expressing that a morphism property contains identities.

    • id_mem (X : C) : W (CategoryStruct.id X)

      for all X : C, the identity of X satisfies the morphism property

    Instances
      instance CategoryTheory.MorphismProperty.ContainsIdentities.iInf {C : Type u} [Category.{v, u} C] {ι : Type u_1} {W : ι → MorphismProperty C} [āˆ€ (i : ι), (W i).ContainsIdentities] :
      (⨅ (i : ι), W i).ContainsIdentities
      instance CategoryTheory.MorphismProperty.Prod.containsIdentities {C₁ : Type u_1} {Cā‚‚ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} Cā‚‚] (W₁ : MorphismProperty C₁) (Wā‚‚ : MorphismProperty Cā‚‚) [W₁.ContainsIdentities] [Wā‚‚.ContainsIdentities] :
      (W₁.prod Wā‚‚).ContainsIdentities
      instance CategoryTheory.MorphismProperty.Pi.containsIdentities {J : Type w} {C : J → Type u} [(j : J) → Category.{v, u} (C j)] (W : (j : J) → MorphismProperty (C j)) [āˆ€ (j : J), (W j).ContainsIdentities] :

      A morphism property satisfies IsStableUnderComposition if the composition of two such morphisms still falls in the class.

      Instances
        theorem CategoryTheory.MorphismProperty.comp_mem {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.IsStableUnderComposition] {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) (hf : W f) (hg : W g) :
        instance CategoryTheory.MorphismProperty.IsStableUnderComposition.iInf {C : Type u} [Category.{v, u} C] {ι : Type u_1} {W : ι → MorphismProperty C} [āˆ€ (i : ι), (W i).IsStableUnderComposition] :
        (⨅ (i : ι), W i).IsStableUnderComposition

        A morphism property is StableUnderInverse if the inverse of a morphism satisfying the property still falls in the class.

        Equations
        Instances For
          def CategoryTheory.MorphismProperty.naturalityProperty {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {F₁ Fā‚‚ : Functor C D} (app : (X : C) → F₁.obj X ⟶ Fā‚‚.obj X) :

          Given app : Ī  X, F₁.obj X ⟶ Fā‚‚.obj X where F₁ and Fā‚‚ are two functors, this is the MorphismProperty C satisfied by the morphisms in C with respect to which app is natural.

          Equations
          Instances For
            theorem CategoryTheory.MorphismProperty.naturalityProperty.stableUnderInverse {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {F₁ Fā‚‚ : Functor C D} (app : (X : C) → F₁.obj X ⟶ Fā‚‚.obj X) :

            A morphism property is multiplicative if it contains identities and is stable by composition.

            Instances
              instance CategoryTheory.MorphismProperty.IsMultiplicative.iInf {C : Type u} [Category.{v, u} C] {ι : Type u_1} {W : ι → MorphismProperty C} [āˆ€ (i : ι), (W i).IsMultiplicative] :
              (⨅ (i : ι), W i).IsMultiplicative

              Given a morphism property W, the multiplicativeClosure W is the smallest multiplicative property greater than or equal to W.

              Instances For

                A variant of multiplicativeClosure in which compositions are taken on the left rather than on the right. It is not intended to be used directly, and one should rather access this via multiplicativeClosure_eq_multiplicativeClosure' in cases where the inductive principle of this variant is needed.

                Instances For

                  The multiplicative closure is greater than or equal to the original property.

                  @[simp]

                  The multiplicative closure of a multiplicative property is equal to itself.

                  @[simp]

                  The multiplicative closure of W is the smallest multiplicative property greater than or equal to W.

                  A class of morphisms W has the of-postcomp property w.r.t. W' if whenever g is in W' and f ≫ g is in W, also f is in W.

                  Instances

                    A class of morphisms W has the of-precomp property w.r.t. W' if whenever f is in W' and f ≫ g is in W, also g is in W.

                    Instances

                      A class of morphisms W has the two-out-of-three property if whenever two out of three maps in f, g, f ≫ g are in W, then the third map is also in W.

                      Instances
                        theorem CategoryTheory.MorphismProperty.of_postcomp {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) {W' : MorphismProperty C} [W.HasOfPostcompProperty W'] {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) (hg : W' g) (hfg : W (CategoryStruct.comp f g)) :
                        W f
                        theorem CategoryTheory.MorphismProperty.of_precomp {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) {W' : MorphismProperty C} [W.HasOfPrecompProperty W'] {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) (hf : W' f) (hfg : W (CategoryStruct.comp f g)) :
                        W g
                        theorem CategoryTheory.MorphismProperty.postcomp_iff {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) {W' : MorphismProperty C} [W.RespectsRight W'] [W.HasOfPostcompProperty W'] {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) (hg : W' g) :
                        theorem CategoryTheory.MorphismProperty.precomp_iff {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) {W' : MorphismProperty C} [W.RespectsLeft W'] [W.HasOfPrecompProperty W'] {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) (hf : W' f) :