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.

Typeclass expressing that a morphism property contain identities.

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

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

Instances
    theorem CategoryTheory.MorphismProperty.id_mem {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.ContainsIdentities] (X : C) :
    instance CategoryTheory.MorphismProperty.ContainsIdentities.op {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.ContainsIdentities] :
    W.op.ContainsIdentities
    instance CategoryTheory.MorphismProperty.ContainsIdentities.unop {C : Type u} [Category.{v, u} C] (W : MorphismProperty Cᵒᵖ) [W.ContainsIdentities] :
    W.unop.ContainsIdentities
    theorem CategoryTheory.MorphismProperty.ContainsIdentities.of_op {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.op.ContainsIdentities] :
    W.ContainsIdentities
    theorem CategoryTheory.MorphismProperty.ContainsIdentities.of_unop {C : Type u} [Category.{v, u} C] (W : MorphismProperty Cᵒᵖ) [W.unop.ContainsIdentities] :
    W.ContainsIdentities
    instance CategoryTheory.MorphismProperty.ContainsIdentities.inverseImage {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {P : MorphismProperty D} [P.ContainsIdentities] (F : Functor C D) :
    (P.inverseImage F).ContainsIdentities
    instance CategoryTheory.MorphismProperty.ContainsIdentities.inf {C : Type u} [Category.{v, u} C] {P Q : MorphismProperty C} [P.ContainsIdentities] [Q.ContainsIdentities] :
    (P Q).ContainsIdentities
    instance CategoryTheory.MorphismProperty.Prod.containsIdentities {C₁ : Type u_1} {C₂ : Type u_2} [Category.{u_3, u_1} C₁] [Category.{u_4, 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 : JType u} [(j : J) → Category.{v, u} (C j)] (W : (j : J) → MorphismProperty (C j)) [∀ (j : J), (W j).ContainsIdentities] :
    (pi W).ContainsIdentities
    theorem CategoryTheory.MorphismProperty.of_isIso {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) [P.ContainsIdentities] [P.RespectsIso] {X Y : C} (f : X Y) [IsIso f] :
    P f

    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 900]
      instance CategoryTheory.MorphismProperty.instRespectsOfIsStableUnderComposition {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.IsStableUnderComposition] :
      W.Respects W
      instance CategoryTheory.MorphismProperty.IsStableUnderComposition.op {C : Type u} [Category.{v, u} C] {P : MorphismProperty C} [P.IsStableUnderComposition] :
      P.op.IsStableUnderComposition
      instance CategoryTheory.MorphismProperty.IsStableUnderComposition.unop {C : Type u} [Category.{v, u} C] {P : MorphismProperty Cᵒᵖ} [P.IsStableUnderComposition] :
      P.unop.IsStableUnderComposition
      instance CategoryTheory.MorphismProperty.IsStableUnderComposition.inf {C : Type u} [Category.{v, u} C] {P Q : MorphismProperty C} [P.IsStableUnderComposition] [Q.IsStableUnderComposition] :
      (P Q).IsStableUnderComposition

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

      Equations
      • P.StableUnderInverse = ∀ ⦃X Y : C⦄ (e : X Y), P e.homP e.inv
      Instances For
        theorem CategoryTheory.MorphismProperty.StableUnderInverse.op {C : Type u} [Category.{v, u} C] {P : MorphismProperty C} (h : P.StableUnderInverse) :
        P.op.StableUnderInverse
        theorem CategoryTheory.MorphismProperty.StableUnderInverse.unop {C : Type u} [Category.{v, u} C] {P : MorphismProperty Cᵒᵖ} (h : P.StableUnderInverse) :
        P.unop.StableUnderInverse
        theorem CategoryTheory.MorphismProperty.respectsIso_of_isStableUnderComposition {C : Type u} [Category.{v, u} C] {P : MorphismProperty C} [P.IsStableUnderComposition] (hP : isomorphisms C P) :
        P.RespectsIso
        instance CategoryTheory.MorphismProperty.IsStableUnderComposition.inverseImage {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {P : MorphismProperty D} [P.IsStableUnderComposition] (F : Functor C D) :
        (P.inverseImage F).IsStableUnderComposition
        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 morphism_property C satisfied by the morphisms in C with respect to whom app is natural.

        Equations
        Instances For
          instance CategoryTheory.MorphismProperty.naturalityProperty.isStableUnderComposition {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) :
          (naturalityProperty app).IsStableUnderComposition
          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) :
          (naturalityProperty app).StableUnderInverse
          class CategoryTheory.MorphismProperty.IsMultiplicative {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) extends W.ContainsIdentities, W.IsStableUnderComposition :

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

          Instances
            instance CategoryTheory.MorphismProperty.IsMultiplicative.op {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.IsMultiplicative] :
            W.op.IsMultiplicative
            instance CategoryTheory.MorphismProperty.IsMultiplicative.unop {C : Type u} [Category.{v, u} C] (W : MorphismProperty Cᵒᵖ) [W.IsMultiplicative] :
            W.unop.IsMultiplicative
            theorem CategoryTheory.MorphismProperty.IsMultiplicative.of_op {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) [W.op.IsMultiplicative] :
            W.IsMultiplicative
            theorem CategoryTheory.MorphismProperty.IsMultiplicative.of_unop {C : Type u} [Category.{v, u} C] (W : MorphismProperty Cᵒᵖ) [W.unop.IsMultiplicative] :
            W.IsMultiplicative
            instance CategoryTheory.MorphismProperty.IsMultiplicative.instInverseImage {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] {P : MorphismProperty D} [P.IsMultiplicative] (F : Functor C D) :
            (P.inverseImage F).IsMultiplicative
            instance CategoryTheory.MorphismProperty.IsMultiplicative.inf {C : Type u} [Category.{v, u} C] {P Q : MorphismProperty C} [P.IsMultiplicative] [Q.IsMultiplicative] :
            (P Q).IsMultiplicative

            A class of morphisms W has the of-postcomp property wrt. 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 wrt. W' if whenever f is in W' and f ≫ g is in W, also g is in W.

              Instances
                class CategoryTheory.MorphismProperty.HasTwoOutOfThreeProperty {C : Type u} [Category.{v, u} C] (W : MorphismProperty C) extends W.IsStableUnderComposition, W.HasOfPostcompProperty W, W.HasOfPrecompProperty W :

                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) :
                  instance CategoryTheory.MorphismProperty.instHasTwoOutOfThreePropertyInverseImage {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] (F : Functor C D) (W : MorphismProperty D) [W.HasTwoOutOfThreeProperty] :
                  (W.inverseImage F).HasTwoOutOfThreeProperty