Documentation

Mathlib.CategoryTheory.MorphismProperty.Comma

Subcategories of comma categories defined by morphism properties #

Given functors L : A ⥤ T and R : B ⥤ T and morphism properties P, Q and W on T, AandBrespectively, we define the subcategoryP.Comma L R Q Wof `Comma L R` where

For an object X : T, this specializes to P.Over Q X which is the subcategory of Over X where the structural morphism satisfies P and where the horizontal morphisms satisfy Q. Common examples of the latter are e.g. the category of schemes étale (finite, affine, etc.) over a base X. Here Q = ⊤.

Implementation details #

theorem CategoryTheory.MorphismProperty.over_iso_iff {T : Type u_3} [CategoryTheory.Category.{u_4, u_3} T] (P : CategoryTheory.MorphismProperty T) [P.RespectsIso] {X : T} {f g : CategoryTheory.Over X} (e : f g) :
P f.hom P g.hom

P.Comma L R Q W is the subcategory of Comma L R consisting of objects X : Comma L R where X.hom satisfies P. The morphisms are given by morphisms in Comma L R where the left one satisfies Q and the right one satisfies W.

  • left : A
  • right : B
  • hom : L.obj self.left R.obj self.right
  • prop : P self.hom
Instances For
    theorem CategoryTheory.MorphismProperty.Comma.ext {A : Type u_1} {inst✝ : CategoryTheory.Category.{u_4, u_1} A} {B : Type u_2} {inst✝¹ : CategoryTheory.Category.{u_5, u_2} B} {T : Type u_3} {inst✝² : CategoryTheory.Category.{u_6, u_3} T} {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} {x y : CategoryTheory.MorphismProperty.Comma L R P Q W} (left : x.left = y.left) (right : x.right = y.right) (hom : HEq x.hom y.hom) :
    x = y

    A morphism in P.Comma L R Q W is a morphism in Comma L R where the left hom satisfies Q and the right one satisfies W.

    Instances For
      theorem CategoryTheory.MorphismProperty.Comma.Hom.ext {A : Type u_1} {inst✝ : CategoryTheory.Category.{u_4, u_1} A} {B : Type u_2} {inst✝¹ : CategoryTheory.Category.{u_5, u_2} B} {T : Type u_3} {inst✝² : CategoryTheory.Category.{u_6, u_3} T} {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} {x y : X.Hom Y} (left : x.left = y.left) (right : x.right = y.right) :
      x = y
      @[reducible, inline]

      The underlying morphism of objects in Comma L R.

      Equations
      • f.hom = f.toCommaMorphism
      Instances For
        @[simp]
        theorem CategoryTheory.MorphismProperty.Comma.Hom.hom_mk {A : Type u_1} [CategoryTheory.Category.{u_4, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_5, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_6, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} (f : CategoryTheory.CommaMorphism X.toComma Y.toComma) (hf : Q f.left) (hg : W f.right) :
        { toCommaMorphism := f, prop_hom_left := hf, prop_hom_right := hg }.hom = f

        The identity morphism of an object in P.Comma L R Q W.

        Equations
        Instances For

          Composition of morphisms in P.Comma L R Q W.

          Equations
          Instances For
            @[simp]

            If i is an isomorphism in Comma L R, it is also a morphism in P.Comma L R Q W.

            Equations
            Instances For

              Any isomorphism between objects of P.Comma L R Q W in Comma L R is also an isomorphism in P.Comma L R Q W.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def CategoryTheory.MorphismProperty.Comma.isoMk {A : Type u_1} [CategoryTheory.Category.{u_4, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_5, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_6, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] [Q.RespectsIso] [W.RespectsIso] {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} (l : X.left Y.left) (r : X.right Y.right) (h : CategoryTheory.CategoryStruct.comp (L.map l.hom) Y.hom = CategoryTheory.CategoryStruct.comp X.hom (R.map r.hom) := by aesop_cat) :
                X Y

                Constructor for isomorphisms in P.Comma L R Q W from isomorphisms of the left and right components and naturality in the forward direction.

                Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.MorphismProperty.Comma.isoMk_hom_right {A : Type u_1} [CategoryTheory.Category.{u_4, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_5, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_6, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] [Q.RespectsIso] [W.RespectsIso] {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} (l : X.left Y.left) (r : X.right Y.right) (h : CategoryTheory.CategoryStruct.comp (L.map l.hom) Y.hom = CategoryTheory.CategoryStruct.comp X.hom (R.map r.hom) := by aesop_cat) :
                  @[simp]
                  theorem CategoryTheory.MorphismProperty.Comma.isoMk_inv_right {A : Type u_1} [CategoryTheory.Category.{u_4, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_5, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_6, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] [Q.RespectsIso] [W.RespectsIso] {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} (l : X.left Y.left) (r : X.right Y.right) (h : CategoryTheory.CategoryStruct.comp (L.map l.hom) Y.hom = CategoryTheory.CategoryStruct.comp X.hom (R.map r.hom) := by aesop_cat) :
                  @[simp]
                  theorem CategoryTheory.MorphismProperty.Comma.isoMk_hom_left {A : Type u_1} [CategoryTheory.Category.{u_4, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_5, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_6, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] [Q.RespectsIso] [W.RespectsIso] {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} (l : X.left Y.left) (r : X.right Y.right) (h : CategoryTheory.CategoryStruct.comp (L.map l.hom) Y.hom = CategoryTheory.CategoryStruct.comp X.hom (R.map r.hom) := by aesop_cat) :
                  @[simp]
                  theorem CategoryTheory.MorphismProperty.Comma.isoMk_inv_left {A : Type u_1} [CategoryTheory.Category.{u_4, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_5, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_6, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] [Q.RespectsIso] [W.RespectsIso] {X Y : CategoryTheory.MorphismProperty.Comma L R P Q W} (l : X.left Y.left) (r : X.right Y.right) (h : CategoryTheory.CategoryStruct.comp (L.map l.hom) Y.hom = CategoryTheory.CategoryStruct.comp X.hom (R.map r.hom) := by aesop_cat) :

                  The forgetful functor.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The forgetful functor from the full subcategory of Comma L R defined by P is fully faithful.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def CategoryTheory.MorphismProperty.Comma.lift {A : Type u_1} [CategoryTheory.Category.{u_5, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_6, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_7, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] {C : Type u_4} [CategoryTheory.Category.{u_8, u_4} C] (F : CategoryTheory.Functor C (CategoryTheory.Comma L R)) (hP : ∀ (X : C), P (F.obj X).hom) (hQ : ∀ {X Y : C} (f : X Y), Q (F.map f).left) (hW : ∀ {X Y : C} (f : X Y), W (F.map f).right) :

                      Lift a functor F : C ⥤ Comma L R to the subcategory P.Comma L R Q W under suitable assumptions on F.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem CategoryTheory.MorphismProperty.Comma.lift_map_hom {A : Type u_1} [CategoryTheory.Category.{u_5, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_6, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_7, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] {C : Type u_4} [CategoryTheory.Category.{u_8, u_4} C] (F : CategoryTheory.Functor C (CategoryTheory.Comma L R)) (hP : ∀ (X : C), P (F.obj X).hom) (hQ : ∀ {X Y : C} (f : X Y), Q (F.map f).left) (hW : ∀ {X Y : C} (f : X Y), W (F.map f).right) {X Y : C} (f : X Y) :
                        @[simp]
                        theorem CategoryTheory.MorphismProperty.Comma.lift_obj_toComma {A : Type u_1} [CategoryTheory.Category.{u_5, u_1} A] {B : Type u_2} [CategoryTheory.Category.{u_6, u_2} B] {T : Type u_3} [CategoryTheory.Category.{u_7, u_3} T] {L : CategoryTheory.Functor A T} {R : CategoryTheory.Functor B T} {P : CategoryTheory.MorphismProperty T} {Q : CategoryTheory.MorphismProperty A} {W : CategoryTheory.MorphismProperty B} [Q.IsMultiplicative] [W.IsMultiplicative] {C : Type u_4} [CategoryTheory.Category.{u_8, u_4} C] (F : CategoryTheory.Functor C (CategoryTheory.Comma L R)) (hP : ∀ (X : C), P (F.obj X).hom) (hQ : ∀ {X Y : C} (f : X Y), Q (F.map f).left) (hW : ∀ {X Y : C} (f : X Y), W (F.map f).right) (X : C) :
                        ((CategoryTheory.MorphismProperty.Comma.lift F hP hQ hW).obj X).toComma = F.obj X

                        A natural transformation L₁ ⟶ L₂ induces a functor P.Comma L₂ R Q W ⥤ P.Comma L₁ R Q W.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          A natural transformation R₁ ⟶ R₂ induces a functor P.Comma L R₁ Q W ⥤ P.Comma L R₂ Q W.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[reducible, inline]

                            Given a morphism property P on a category C and an object X : C, this is the subcategory of Over X defined by P where morphisms satisfy Q.

                            Equations
                            Instances For
                              @[reducible, inline]

                              The forgetful functor from the full subcategory of Over X defined by P to Over X.

                              Equations
                              Instances For
                                def CategoryTheory.MorphismProperty.Over.Hom.mk {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Over Q X} (f : A.toComma B.toComma) (hf : Q f.left) :
                                A B

                                Construct a morphism in P.Over Q X from a morphism in Over.X.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.MorphismProperty.Over.Hom.mk_hom {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Over Q X} (f : A.toComma B.toComma) (hf : Q f.left) :

                                  Make an object of P.Over Q X from a morphism f : A ⟶ X and a proof of P f.

                                  Equations
                                  Instances For
                                    def CategoryTheory.MorphismProperty.Over.homMk {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Over Q X} (f : A.left B.left) (w : CategoryTheory.CategoryStruct.comp f B.hom = A.hom := by aesop_cat) (hf : Q f := by trivial) :
                                    A B

                                    Make a morphism in P.Over Q X from a morphism in T with compatibilities.

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.MorphismProperty.Over.homMk_hom {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Over Q X} (f : A.left B.left) (w : CategoryTheory.CategoryStruct.comp f B.hom = A.hom := by aesop_cat) (hf : Q f := by trivial) :
                                      def CategoryTheory.MorphismProperty.Over.isoMk {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] [Q.RespectsIso] {A B : P.Over Q X} (f : A.left B.left) (w : CategoryTheory.CategoryStruct.comp f.hom B.hom = A.hom := by aesop_cat) :
                                      A B

                                      Make an isomorphism in P.Over Q X from an isomorphism in T with compatibilities.

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem CategoryTheory.MorphismProperty.Over.isoMk_inv_left {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] [Q.RespectsIso] {A B : P.Over Q X} (f : A.left B.left) (w : CategoryTheory.CategoryStruct.comp f.hom B.hom = A.hom := by aesop_cat) :
                                        @[simp]
                                        theorem CategoryTheory.MorphismProperty.Over.isoMk_hom_left {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] [Q.RespectsIso] {A B : P.Over Q X} (f : A.left B.left) (w : CategoryTheory.CategoryStruct.comp f.hom B.hom = A.hom := by aesop_cat) :
                                        theorem CategoryTheory.MorphismProperty.Over.Hom.ext {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Over Q X} {f g : A B} (h : f.left = g.left) :
                                        f = g
                                        theorem CategoryTheory.MorphismProperty.Over.w {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Over Q X} (f : A B) :
                                        @[reducible, inline]

                                        Given a morphism property P on a category C and an object X : C, this is the subcategory of Under X defined by P where morphisms satisfy Q.

                                        Equations
                                        Instances For
                                          @[reducible, inline]

                                          The forgetful functor from the full subcategory of Under X defined by P to Under X.

                                          Equations
                                          Instances For
                                            def CategoryTheory.MorphismProperty.Under.Hom.mk {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Under Q X} (f : A.toComma B.toComma) (hf : Q f.right) :
                                            A B

                                            Construct a morphism in P.Under Q X from a morphism in Under.X.

                                            Equations
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.MorphismProperty.Under.Hom.mk_hom {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Under Q X} (f : A.toComma B.toComma) (hf : Q f.right) :

                                              Make an object of P.Under Q X from a morphism f : A ⟶ X and a proof of P f.

                                              Equations
                                              Instances For
                                                def CategoryTheory.MorphismProperty.Under.homMk {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Under Q X} (f : A.right B.right) (w : CategoryTheory.CategoryStruct.comp A.hom f = B.hom := by aesop_cat) (hf : Q f := by trivial) :
                                                A B

                                                Make a morphism in P.Under Q X from a morphism in T with compatibilities.

                                                Equations
                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.MorphismProperty.Under.homMk_hom {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Under Q X} (f : A.right B.right) (w : CategoryTheory.CategoryStruct.comp A.hom f = B.hom := by aesop_cat) (hf : Q f := by trivial) :
                                                  def CategoryTheory.MorphismProperty.Under.isoMk {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] [Q.RespectsIso] {A B : P.Under Q X} (f : A.right B.right) (w : CategoryTheory.CategoryStruct.comp A.hom f.hom = B.hom := by aesop_cat) :
                                                  A B

                                                  Make an isomorphism in P.Under Q X from an isomorphism in T with compatibilities.

                                                  Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem CategoryTheory.MorphismProperty.Under.isoMk_inv_right {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] [Q.RespectsIso] {A B : P.Under Q X} (f : A.right B.right) (w : CategoryTheory.CategoryStruct.comp A.hom f.hom = B.hom := by aesop_cat) :
                                                    @[simp]
                                                    theorem CategoryTheory.MorphismProperty.Under.isoMk_hom_right {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] [Q.RespectsIso] {A B : P.Under Q X} (f : A.right B.right) (w : CategoryTheory.CategoryStruct.comp A.hom f.hom = B.hom := by aesop_cat) :
                                                    theorem CategoryTheory.MorphismProperty.Under.Hom.ext {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Under Q X} {f g : A B} (h : f.right = g.right) :
                                                    f = g
                                                    theorem CategoryTheory.MorphismProperty.Under.w {T : Type u_1} [CategoryTheory.Category.{u_2, u_1} T] {P Q : CategoryTheory.MorphismProperty T} {X : T} [Q.IsMultiplicative] {A B : P.Under Q X} (f : A B) :