Documentation

Mathlib.CategoryTheory.MorphismProperty.Descent

Descent of morphism properties #

Given morphism properties P and Q we say that P descends along Q (P.DescendsAlong Q), if whenever Q holds for X ⟶ Z, P holds for X ×[Z] Y ⟶ X implies P holds for Y ⟶ Z. Dually, we define P.CodescendsAlong Q.

P descends along Q if whenever Q holds for X ⟶ Z, P holds for X ×[Z] Y ⟶ X implies P holds for Y ⟶ Z.

  • of_isPullback {A X Y Z : C} {fst : A X} {snd : A Y} {f : X Z} {g : Y Z} : IsPullback fst snd f gQ fP fstP g
Instances
    theorem CategoryTheory.MorphismProperty.of_isPullback_of_descendsAlong {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {A X Y Z : C} {fst : A X} {snd : A Y} {f : X Z} {g : Y Z} [P.DescendsAlong Q] (h : IsPullback fst snd f g) (hf : Q f) (hfst : P fst) :
    P g
    theorem CategoryTheory.MorphismProperty.iff_of_isPullback {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {A X Y Z : C} {fst : A X} {snd : A Y} {f : X Z} {g : Y Z} [P.IsStableUnderBaseChange] [P.DescendsAlong Q] (h : IsPullback fst snd f g) (hf : Q f) :
    P fst P g
    theorem CategoryTheory.MorphismProperty.of_pullback_fst_of_descendsAlong {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {X Y Z : C} {f : X Z} {g : Y Z} [P.DescendsAlong Q] [Limits.HasPullback f g] (hf : Q f) (hfst : P (Limits.pullback.fst f g)) :
    P g
    theorem CategoryTheory.MorphismProperty.of_pullback_snd_of_descendsAlong {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {X Y Z : C} {f : X Z} {g : Y Z} [P.DescendsAlong Q] [Limits.HasPullback f g] (hg : Q g) (hsnd : P (Limits.pullback.snd f g)) :
    P f
    theorem CategoryTheory.MorphismProperty.DescendsAlong.mk' {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} [P.RespectsIso] (H : ∀ {X Y Z : C} {f : X Z} {g : Y Z} [inst : Limits.HasPullback f g], Q fP (Limits.pullback.fst f g)P g) :

    Alternative constructor for CodescendsAlong using HasPullback.

    P codescends along Q if whenever Q holds for Z ⟶ X, P holds for X ⟶ X ∐[Z] Y implies P holds for Z ⟶ Y.

    • of_isPushout {Z X Y A : C} {f : Z X} {g : Z Y} {inl : X A} {inr : Y A} : IsPushout f g inl inrQ fP inlP g
    Instances
      theorem CategoryTheory.MorphismProperty.of_isPushout_of_codescendsAlong {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {Z X Y A : C} {f : Z X} {g : Z Y} {inl : X A} {inr : Y A} [P.CodescendsAlong Q] (h : IsPushout f g inl inr) (hf : Q f) (hinl : P inl) :
      P g
      theorem CategoryTheory.MorphismProperty.iff_of_isPushout {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {Z X Y A : C} {f : Z X} {g : Z Y} {inl : X A} {inr : Y A} [P.IsStableUnderCobaseChange] [P.CodescendsAlong Q] (h : IsPushout f g inl inr) (hg : Q f) :
      P inl P g
      theorem CategoryTheory.MorphismProperty.of_pushout_inl_of_codescendsAlong {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {Z X Y : C} {f : Z X} {g : Z Y} [P.CodescendsAlong Q] [Limits.HasPushout f g] (hf : Q f) (hinl : P (Limits.pushout.inl f g)) :
      P g
      theorem CategoryTheory.MorphismProperty.of_pushout_inr_of_descendsAlong {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} {Z X Y : C} {f : Z X} {g : Z Y} [P.CodescendsAlong Q] [Limits.HasPushout f g] (hg : Q g) (hinr : P (Limits.pushout.inr f g)) :
      P f
      theorem CategoryTheory.MorphismProperty.CodescendsAlong.mk' {C : Type u_1} [Category.{u_2, u_1} C] {P Q : MorphismProperty C} [P.RespectsIso] (H : ∀ {X Y Z : C} {f : Z X} {g : Z Y} [inst : Limits.HasPushout f g], Q fP (Limits.pushout.inl f g)P g) :

      Alternative constructor for CodescendsAlong using HasPushout.