Documentation

Mathlib.CategoryTheory.MorphismProperty.Basic

Properties of morphisms #

We provide the basic framework for talking about properties of morphisms. The following meta-property is defined

A MorphismProperty C is a class of morphisms between objects in C.

Instances For
    theorem CategoryTheory.MorphismProperty.le_def (C : Type u) [CategoryStruct.{v, u} C] {P Q : MorphismProperty C} :
    P โ‰ค Q โ†” โˆ€ {X Y : C} (f : X โŸถ Y), P f โ†’ Q f
    theorem CategoryTheory.MorphismProperty.ext {C : Type u} [CategoryStruct.{v, u} C] (W W' : MorphismProperty C) (h : โˆ€ โฆƒX Y : Cโฆ„ (f : X โŸถ Y), W f โ†” W' f) :
    W = W'
    theorem CategoryTheory.MorphismProperty.ext_iff {C : Type u} [CategoryStruct.{v, u} C] {W W' : MorphismProperty C} :
    W = W' โ†” โˆ€ โฆƒX Y : Cโฆ„ (f : X โŸถ Y), W f โ†” W' f
    @[simp]
    theorem CategoryTheory.MorphismProperty.sSup_iff {C : Type u} [CategoryStruct.{v, u} C] (S : Set (MorphismProperty C)) {X Y : C} (f : X โŸถ Y) :
    sSup S f โ†” โˆƒ (W : โ†‘S), โ†‘W f
    @[simp]
    theorem CategoryTheory.MorphismProperty.iSup_iff {C : Type u} [CategoryStruct.{v, u} C] {ฮน : Sort u_1} (W : ฮน โ†’ MorphismProperty C) {X Y : C} (f : X โŸถ Y) :
    iSup W f โ†” โˆƒ (i : ฮน), W i f

    The morphism property in Cแต’แต– associated to a morphism property in C

    Instances For

      The morphism property in C associated to a morphism property in Cแต’แต–

      Instances For

        The inverse image of a MorphismProperty D by a functor C โฅค D

        Instances For
          @[simp]
          theorem CategoryTheory.MorphismProperty.inverseImage_iff {C : Type u} [Category.{v, u} C] {D : Type u_1} [Category.{v_1, u_1} D] (P : MorphismProperty D) (F : Functor C D) {X Y : C} (f : X โŸถ Y) :
          P.inverseImage F f โ†” P (F.map f)

          The (strict) image of a MorphismProperty C by a functor C โฅค D

          Instances For

            The image (up to isomorphisms) of a MorphismProperty C by a functor C โฅค D

            Instances For
              theorem CategoryTheory.MorphismProperty.map_mem_map {C : Type u} [Category.{v, u} C] {D : Type u_1} [Category.{v_1, u_1} D] (P : MorphismProperty C) (F : Functor C D) {X Y : C} (f : X โŸถ Y) (hf : P f) :
              P.map F (F.map f)

              The set in Set (Arrow C) which corresponds to P : MorphismProperty C.

              Instances For
                theorem CategoryTheory.MorphismProperty.toSet_iSup {C : Type u} [Category.{v, u} C] {ฮน : Type u_2} (W : ฮน โ†’ MorphismProperty C) :
                (โจ† (i : ฮน), W i).toSet = โ‹ƒ (i : ฮน), (W i).toSet
                theorem CategoryTheory.MorphismProperty.toSet_max {C : Type u} [Category.{v, u} C] (Wโ‚ Wโ‚‚ : MorphismProperty C) :
                (Wโ‚ โŠ” Wโ‚‚).toSet = Wโ‚.toSet โˆช Wโ‚‚.toSet
                def CategoryTheory.MorphismProperty.homFamily {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) (f : โ†‘P.toSet) :
                (โ†‘f).left โŸถ (โ†‘f).right

                The family of morphisms indexed by P.toSet which corresponds to P : MorphismProperty C, see MorphismProperty.ofHoms_homFamily.

                Instances For
                  @[simp]
                  theorem CategoryTheory.MorphismProperty.homFamily_arrow_mk {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) {X Y : C} (f : X โŸถ Y) (hf : P f) :
                  P.homFamily โŸจArrow.mk f, hfโŸฉ = f
                  theorem CategoryTheory.MorphismProperty.of_eq {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) {X Y : C} {f : X โŸถ Y} (hf : P f) {X' Y' : C} {f' : X' โŸถ Y'} (hX : X = X') (hY : Y = Y') (h : f' = CategoryStruct.comp (eqToHom โ‹ฏ) (CategoryStruct.comp f (eqToHom hY))) :
                  P f'
                  inductive CategoryTheory.MorphismProperty.ofHoms {C : Type u} [Category.{v, u} C] {ฮน : Type u_2} {X Y : ฮน โ†’ C} (f : (i : ฮน) โ†’ X i โŸถ Y i) :

                  The class of morphisms given by a family of morphisms f i : X i โŸถ Y i.

                  Instances For
                    theorem CategoryTheory.MorphismProperty.ofHoms_iff {C : Type u} [Category.{v, u} C] {ฮน : Type u_2} {X Y : ฮน โ†’ C} (f : (i : ฮน) โ†’ X i โŸถ Y i) {A B : C} (g : A โŸถ B) :
                    ofHoms f g โ†” โˆƒ (i : ฮน), Arrow.mk g = Arrow.mk (f i)

                    A morphism property P satisfies P.RespectsRight Q if it is stable under post-composition with morphisms satisfying Q, i.e. whenever P holds for f and Q holds for i then P holds for f โ‰ซ i.

                    Instances

                      A morphism property P satisfies P.RespectsLeft Q if it is stable under pre-composition with morphisms satisfying Q, i.e. whenever P holds for f and Q holds for i then P holds for i โ‰ซ f.

                      Instances

                        A morphism property P satisfies P.Respects Q if it is stable under composition on the left and right by morphisms satisfying Q.

                        Instances
                          instance CategoryTheory.MorphismProperty.RespectsLeft.inf {C : Type u} [CategoryStruct.{v, u} C] (Pโ‚ Pโ‚‚ Q : MorphismProperty C) [Pโ‚.RespectsLeft Q] [Pโ‚‚.RespectsLeft Q] :
                          (Pโ‚ โŠ“ Pโ‚‚).RespectsLeft Q
                          instance CategoryTheory.MorphismProperty.RespectsRight.inf {C : Type u} [CategoryStruct.{v, u} C] (Pโ‚ Pโ‚‚ Q : MorphismProperty C) [Pโ‚.RespectsRight Q] [Pโ‚‚.RespectsRight Q] :
                          (Pโ‚ โŠ“ Pโ‚‚).RespectsRight Q
                          @[reducible, inline]

                          The MorphismProperty C satisfied by isomorphisms in C.

                          Instances For
                            @[reducible, inline]

                            The MorphismProperty C satisfied by monomorphisms in C.

                            Instances For
                              @[reducible, inline]

                              The MorphismProperty C satisfied by epimorphisms in C.

                              Instances For
                                @[reducible, inline]

                                P respects isomorphisms, if it respects the morphism property isomorphisms C, i.e. it is stable under pre- and postcomposition with isomorphisms.

                                Instances For
                                  theorem CategoryTheory.MorphismProperty.RespectsIso.mk {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) (hprecomp : โˆ€ {X Y Z : C} (e : X โ‰… Y) (f : Y โŸถ Z), P f โ†’ P (CategoryStruct.comp e.hom f)) (hpostcomp : โˆ€ {X Y Z : C} (e : Y โ‰… Z) (f : X โŸถ Y), P f โ†’ P (CategoryStruct.comp f e.hom)) :
                                  theorem CategoryTheory.MorphismProperty.comma_iso_iff {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) [P.RespectsIso] {A : Type u_1} {B : Type u_2} [Category.{v_1, u_1} A] [Category.{v_2, u_2} B] {L : Functor A C} {R : Functor B C} {f g : Comma L R} (e : f โ‰… g) :
                                  P f.hom โ†” P g.hom
                                  theorem CategoryTheory.MorphismProperty.arrow_mk_iso_iff {C : Type u} [Category.{v, u} C] (P : MorphismProperty C) [P.RespectsIso] {W X Y Z : C} {f : W โŸถ X} {g : Y โŸถ Z} (e : Arrow.mk f โ‰… Arrow.mk g) :
                                  P f โ†” P g
                                  @[simp]
                                  theorem CategoryTheory.MorphismProperty.map_map {C : Type u} [Category.{v, u} C] {D : Type u_1} [Category.{v_1, u_1} D] (P : MorphismProperty C) (F : Functor C D) {E : Type u_2} [Category.{v_2, u_2} E] (G : Functor D E) :
                                  (P.map F).map G = P.map (F.comp G)
                                  @[deprecated "Use `op_isomorphisms _` instead." (since := "2026-01-18")]
                                  def CategoryTheory.MorphismProperty.prod {Cโ‚ : Type u_1} {Cโ‚‚ : Type u_2} [CategoryStruct.{u_3, u_1} Cโ‚] [CategoryStruct.{u_4, u_2} Cโ‚‚] (Wโ‚ : MorphismProperty Cโ‚) (Wโ‚‚ : MorphismProperty Cโ‚‚) :
                                  MorphismProperty (Cโ‚ ร— Cโ‚‚)

                                  If Wโ‚ and Wโ‚‚ are morphism properties on two categories Cโ‚ and Cโ‚‚, this is the induced morphism property on Cโ‚ ร— Cโ‚‚.

                                  Instances For
                                    def CategoryTheory.MorphismProperty.pi {J : Type w} {C : J โ†’ Type u} [(j : J) โ†’ Category.{v, u} (C j)] (W : (j : J) โ†’ MorphismProperty (C j)) :
                                    MorphismProperty ((j : J) โ†’ C j)

                                    If W j are morphism properties on categories C j for all j, this is the induced morphism property on the category โˆ€ j, C j.

                                    Instances For

                                      The morphism property on J โฅค C which is defined objectwise from W : MorphismProperty C.

                                      Instances For

                                        Given W : MorphismProperty C, this is the morphism property on Arrow C of morphisms whose left and right parts are in W.

                                        Instances For
                                          theorem CategoryTheory.NatTrans.isIso_app_iff_of_iso {C : Type u} [Category.{v, u} C] {D : Type u_1} [Category.{v_1, u_1} D] {F G : Functor C D} (ฮฑ : F โŸถ G) {X Y : C} (e : X โ‰… Y) :
                                          IsIso (ฮฑ.app X) โ†” IsIso (ฮฑ.app Y)