Documentation

DisplayedCategories.Basic

Displayed category #

Given a type family F : C → Type* on a category C we define the type class Displayed F of displayed categories over F. A displayed category structure associates to each morphism f in C and terms X : F I and Y : F J a type HomOver f X Y. We think of F I as the Fiber over I, and we think of HomOver f X Y as the type of morphisms lying over f starting from X and ending at Y. The data of a displayed category structure also provides the dependent operations of identity and composition for HomOver. Finally, the modified laws of associativity and unitality hold dependently over the associativity and unitality equalities in C.

Main declarations #

Our main construction is the displayed category of a functor. Given a functor P : E ⥤ C, the associated displayed category on the fiber family fun I => P⁻¹ I is provided by the instance Functor.display. Here HomOver f X Y is given by the type BasedLift f src tgt carrying data witnessing morphisms in E starting from src and ending at tgt and are mapped to f under P. There is another displayed structure EBasedLift associated to a functor P : E ⥤ C which is defined in terms of the displayed family of "fat" fibers, namely fun I => P⁻¹ᵉ I where P⁻¹ᵉ I is the fibers of P at J for all J isomorphic to I. The type EBasedLift f src tgt is the type of morphisms in E starting from src and ending at tgt and are mapped, up to the specified isomorphisms of src and tgt, to f under P. We also provide various useful constructors for based-lifts:

Notation #

We provide the following notations:

def CategoryTheory.eqToHom.map {C : Type u₁} [Category.{v₁, u₁} C] {I I' J J' : C} (w : I = I') (w' : J = J') (f : I J) :
I' J'

Transporting a morphism f : I ⟶ J along equalities w : I = I' and w' : J = J'. Note: It might be a good idea to add this to eqToHom file.

Equations
Instances For
    @[simp]
    @[simp]
    theorem CategoryTheory.eqToHom.map_naturality {C : Type u₁} [Category.{v₁, u₁} C] {I I' J J' : C} {w : I = I'} {w' : J = J'} (f : I J) :

    The diagram below commutes:

        I --eqToHom w -->  J
        |                  |
      f |                  | eqToHom.map w w' f
        v                  v
        I' --eqToHom w'-> J'
    
    def CategoryTheory.Fiber.cast {C : Type u₁} (F : CType u₂) {I I' : C} (w : I = I') (X : F I) :
    F I'

    Cast an element of a Fiber along an equality of the base objects.

    Equations
    Instances For
      @[simp]
      theorem CategoryTheory.Fiber.cast_trans {C : Type u₁} [Category.{v₁, u₁} C] (F : CType u₂) {I I' I'' : C} (X : F I) {w : I = I'} {w' : I' = I''} {w'' : I = I''} :
      w' w X = w'' X
      theorem CategoryTheory.Fiber.cast_cast {C : Type u₁} [Category.{v₁, u₁} C] (F : CType u₂) {I I' : C} (X : F I) {w : I = I'} {w' : I' = I} :
      w' w X = X
      class CategoryTheory.DisplayedStruct {C : Type u₁} [Category.{v₁, u₁} C] (F : CType u₂) :
      Type (max (max (max u₁ u₂) v₁) (v₂ + 1))
      • HomOver {I J : C} : (I J) → F IF JType v₂

        The type of morphisms indexed over morphisms of C.

      • id_over {I : C} (X : F I) : X ⟶[CategoryStruct.id I] X

        The identity morphism overlying the identity morphism of C.

      • comp_over {I J K : C} {f₁ : I J} {f₂ : J K} {X : F I} {Y : F J} {Z : F K} : (X ⟶[f₁] Y) → (Y ⟶[f₂] Z) → X ⟶[CategoryStruct.comp f₁ f₂] Z

        Composition of morphisms overlying composition of morphisms of C.

      Instances
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          class CategoryTheory.Displayed {C : Type u₁} [Category.{v₁, u₁} C] (F : CType u₂) extends CategoryTheory.DisplayedStruct F :
          Type (max (max (max (u_1 + 1) u₁) u₂) v₁)
          Instances
            def CategoryTheory.Displayed.cast {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} (w : f = f') (g : X ⟶[f] Y) :
            X ⟶[f'] Y
            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Displayed.cast_symm {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} (w : f = f') (g : X ⟶[f] Y) (g' : X ⟶[f'] Y) :
              w g = g' g = g'
              theorem CategoryTheory.Displayed.cast_assoc_symm {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J K L : C} {f₁ : I J} {f₂ : J K} {f₃ : K L} {X : F I} {Y : F J} {Z : F K} {W : F L} (g₁ : X ⟶[f₁] Y) (g₂ : Y ⟶[f₂] Z) (g₃ : Z ⟶[f₃] W) :
              @[simp]
              theorem CategoryTheory.Displayed.cast_trans {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' f'' : I J} {X : F I} {Y : F J} {w : f = f'} {w' : f' = f''} (g : X ⟶[f] Y) :
              w' w g = g
              theorem CategoryTheory.Displayed.cast_eq {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} {w w' : f = f'} (g : X ⟶[f] Y) :
              w g = w' g
              @[simp]
              theorem CategoryTheory.Displayed.cast_cast {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} (w : f = f') (w' : f' = f) (g : X ⟶[f'] Y) :
              g = g
              @[simp]
              theorem CategoryTheory.Displayed.comp_id_eq_cast_id_comp {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f : I J} {X : F I} {Y : F J} (g : X ⟶[f] Y) :
              def CategoryTheory.Displayed.castToHom {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I I' : C} (w : I = I') (X : F I) :

              castToHom w X is a morphism from X to w ▸ X over eqToHom w.

              Equations
              Instances For
                def CategoryTheory.Displayed.castToHomInv {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I I' : C} (w : I = I') (X : F I) :
                (w X) ⟶[eqToHom ] X
                Equations
                Instances For
                  def CategoryTheory.Displayed.castToHomMap {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I I' J J' : C} (w : I = I') (w' : J = J') {f : I J} {X : F I} {Y : F J} (g : X ⟶[f] Y) :
                  (w X) ⟶[eqToHom.map w w' f] w' Y
                  Equations
                  Instances For
                    def CategoryTheory.Displayed.castToHomMapId {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I I' : C} (w : I = I') {X Y : F I} (g : X ⟶[CategoryStruct.id I] Y) :
                    Equations
                    Instances For
                      theorem CategoryTheory.Displayed.eqToHom_naturality {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I I' J J' : C} {X : F I} {Y : F J} (w : I = I') (w' : J = J') (f : I J) (g : X ⟶[f] Y) :

                      The displayed diagram

                                    X --------g--------> Y
                                    |                    |
                      eqToHom w X   |                    | eqToHom w' Y
                                    v                    v
                                 w ▸ X ------------->  w ▸ Y
                                      eqToHom.map w w' g
                      

                      commutes.

                      def CategoryTheory.Displayed.castEquiv {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} (w : f = f') :
                      (X ⟶[f] Y) X ⟶[f'] Y
                      Equations
                      Instances For
                        @[simp]
                        theorem CategoryTheory.Displayed.castEquiv_symm_apply {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} (w : f = f') (g : X ⟶[f'] Y) :
                        (castEquiv w).symm g = g
                        @[simp]
                        theorem CategoryTheory.Displayed.castEquiv_apply {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f f' : I J} {X : F I} {Y : F J} (w : f = f') (g : X ⟶[f] Y) :
                        (castEquiv w) g = w g
                        def CategoryTheory.Displayed.Total {C : Type u₁} (F : CType u₂) :
                        Type (max u₁ u₂)

                        The total space of a displayed category consists of pairs (I, X) where I is an object of C and X is an object of the Fiber F I.

                        Equations
                        • F = ((I : C) × F I)
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def CategoryTheory.Displayed.Total.mk {C : Type u₁} {F : CType u₂} {I : C} (X : F I) :
                            F
                            Equations
                            Instances For
                              @[reducible, inline]
                              abbrev CategoryTheory.Displayed.Total.Hom {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] (X Y : F) :
                              Type (max v₁ u_1)
                              Equations
                              Instances For
                                def CategoryTheory.Displayed.Total.Hom.mk {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {X : F I} {Y : F J} {f : I J} (g : X ⟶[f] Y) :
                                Equations
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Displayed.Total.Hom.mk_snd {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {X : F I} {Y : F J} {f : I J} (g : X ⟶[f] Y) :
                                  (mk g).snd = g
                                  @[simp]
                                  theorem CategoryTheory.Displayed.Total.Hom.mk_fst {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {X : F I} {Y : F J} {f : I J} (g : X ⟶[f] Y) :
                                  (mk g).fst = f
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[simp]
                                  theorem CategoryTheory.Displayed.Total.whisker_left_cast_comp {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J K : C} {f : I J} {h h' : J K} {X : F I} {Y : F J} {Z : F K} (g : X ⟶[f] Y) (k : Y ⟶[h] Z) (w : h = h') :
                                  @[simp]
                                  theorem CategoryTheory.Displayed.Total.whisker_right_cast_comp {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J K : C} {f f' : I J} {h : J K} {X : F I} {Y : F J} {Z : F K} (g : X ⟶[f] Y) (k : Y ⟶[h] Z) (w : f = f') :
                                  Equations
                                  Instances For
                                    structure CategoryTheory.BasedLift {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} (f : I J) (X : P ⁻¹ I) (Y : P ⁻¹ J) :
                                    Type u_2

                                    The type of lifts of a given morphism in the base with fixed source and target in the Fibers of the domain and codomain respectively.

                                    Instances For
                                      def CategoryTheory.BasedLift' {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} (f : I J) (X : P ⁻¹ I) (Y : P ⁻¹ J) :
                                      Type u_2
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        structure CategoryTheory.EBasedLift {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} (f : I J) (X : P ⁻¹ᵉ I) (Y : P ⁻¹ᵉ J) :
                                        Type u_2

                                        The structure of based-lifts up to an isomorphism of the domain objects in the base.

                                             X -------------------------------> Y
                                             _                                  -
                                             |                                  |
                                             |                                  |
                                             v                                  v
                                        P.obj X --------> I ------> J ----> P.obj Y
                                                    ≅           f       ≅
                                        
                                        Instances For
                                          theorem CategoryTheory.EBasedLift.over_eq_assoc {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} (self : EBasedLift f X Y) {Z : C} (h : J Z) :
                                          @[simp]
                                          theorem CategoryTheory.BasedLift.over_eq' {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} (g : BasedLift f X Y) :
                                          def CategoryTheory.BasedLift.id {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I : C} (X : P ⁻¹ I) :

                                          The identity based-lift.

                                          Equations
                                          Instances For
                                            @[simp]
                                            theorem CategoryTheory.BasedLift.id_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I : C} (X : P ⁻¹ I) :
                                            def CategoryTheory.BasedLift.comp {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I J K : C} {f₁ : I J} {f₂ : J K} {X : P ⁻¹ I} {Y : P ⁻¹ J} {Z : P ⁻¹ K} (g₁ : BasedLift f₁ X Y) (g₂ : BasedLift f₂ Y Z) :

                                            The composition of based-lifts

                                            Equations
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.BasedLift.comp_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I J K : C} {f₁ : I J} {f₂ : J K} {X : P ⁻¹ I} {Y : P ⁻¹ J} {Z : P ⁻¹ K} (g₁ : BasedLift f₁ X Y) (g₂ : BasedLift f₂ Y Z) :
                                              (g₁.comp g₂).hom = CategoryStruct.comp g₁.hom g₂.hom
                                              def CategoryTheory.BasedLift.cast {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I J : C} {f f' : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} (w : f = f') (g : BasedLift f X Y) :
                                              BasedLift f' X Y
                                              Equations
                                              Instances For
                                                @[simp]
                                                theorem CategoryTheory.BasedLift.cast_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_2} [Category.{u_3, u_2} E] {P : Functor E C} {I J : C} {f f' : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} (w : f = f') (g : BasedLift f X Y) :
                                                (cast w g).hom = g.hom
                                                @[simp]
                                                theorem CategoryTheory.EBasedLift.over_eq' {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} (g : EBasedLift f X Y) :
                                                Equations
                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.EBasedLift.id_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I : C} (X : P ⁻¹ᵉ I) :
                                                  def CategoryTheory.EBasedLift.comp {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J K : C} {f₁ : I J} {f₂ : J K} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} {Z : P ⁻¹ᵉ K} (g₁ : EBasedLift f₁ X Y) (g₂ : EBasedLift f₂ Y Z) :
                                                  Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem CategoryTheory.EBasedLift.comp_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J K : C} {f₁ : I J} {f₂ : J K} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} {Z : P ⁻¹ᵉ K} (g₁ : EBasedLift f₁ X Y) (g₂ : EBasedLift f₂ Y Z) :
                                                    (g₁.comp g₂).hom = CategoryStruct.comp g₁.hom g₂.hom
                                                    def CategoryTheory.EBasedLift.cast {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f f' : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} (w : f = f') (g : EBasedLift f X Y) :
                                                    EBasedLift f' X Y
                                                    Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem CategoryTheory.EBasedLift.cast_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f f' : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} (w : f = f') (g : EBasedLift f X Y) :
                                                      (cast w g).hom = g.hom

                                                      The display structure DisplayedStruct P associated to a functor P : E ⥤ C. This instance makes the displayed notations _ ⟶[f] _, _ ≫ₒ _ and 𝟙ₒ available for based-lifts.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      instance CategoryTheory.Functor.isodisplay {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] (P : Functor E C) :
                                                      DisplayedStruct fun (I : C) => P ⁻¹ᵉ I
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      theorem CategoryTheory.BasedLift.ext {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} (g g' : X ⟶[f] Y) (w : g.hom = g'.hom) :
                                                      g = g'
                                                      theorem CategoryTheory.BasedLift.ext_iff {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} {g g' : X ⟶[f] Y} :
                                                      g = g' g.hom = g'.hom
                                                      @[simp]
                                                      theorem CategoryTheory.BasedLift.cast_rec {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f f' : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} {w : f = f'} (g : X ⟶[f] Y) :
                                                      cast w g = w g
                                                      def CategoryTheory.BasedLift.tauto {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} (g : X Y) :

                                                      BasedLift.tauto regards a morphism g of the domain category E as a based-lift of its image P g under functor P.

                                                      Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem CategoryTheory.BasedLift.tauto_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} (g : X Y) :
                                                        (tauto g).hom = g
                                                        theorem CategoryTheory.BasedLift.tauto_over_base {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} (f : P.obj X P.obj Y) (g : Fiber.tauto X ⟶[f] Fiber.tauto Y) :
                                                        P.map g.hom = f
                                                        theorem CategoryTheory.BasedLift.tauto_comp_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y Z : E} {g : X Y} {g' : Y Z} :
                                                        instance CategoryTheory.BasedLift.instCoeTautoBasedLift {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} {g : X Y} :

                                                        A morphism of E coerced as a tautological based-lift.

                                                        Equations
                                                        @[simp]
                                                        @[simp]
                                                        theorem CategoryTheory.BasedLift.id_comp_cast {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} {g : X ⟶[f] Y} :
                                                        @[simp]
                                                        theorem CategoryTheory.BasedLift.comp_id_cast {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ I} {Y : P ⁻¹ J} {g : X ⟶[f] Y} :
                                                        @[simp]
                                                        theorem CategoryTheory.BasedLift.assoc {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J K L : C} {f : I J} {h : J K} {l : K L} {W : P ⁻¹ I} {X : P ⁻¹ J} {Y : P ⁻¹ K} {Z : P ⁻¹ L} (g : W ⟶[f] X) (k : X ⟶[h] Y) (m : Y ⟶[l] Z) :
                                                        def CategoryTheory.BasedLift.eqToHom' {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I : C} {X Y : P ⁻¹ I} (w : X = Y) :
                                                        Equations
                                                        Instances For
                                                          theorem CategoryTheory.EBasedLift.ext {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] (P : Functor E C) {I J : C} {f : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} (g g' : X ⟶[f] Y) (w : g.hom = g'.hom) :
                                                          g = g'
                                                          theorem CategoryTheory.EBasedLift.ext_iff {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} {g g' : X ⟶[f] Y} :
                                                          g = g' g.hom = g'.hom
                                                          @[simp]
                                                          theorem CategoryTheory.EBasedLift.cast_rec {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] (P : Functor E C) {I J : C} {f f' : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} {w : f = f'} (g : X ⟶[f] Y) :
                                                          cast w g = w g
                                                          def CategoryTheory.EBasedLift.tauto {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} (g : X Y) :

                                                          EBasedLift.tauto regards a morphism g of the domain category E as a based-lift of its image P g under functor P.

                                                          Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem CategoryTheory.EBasedLift.tauto_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} (g : X Y) :
                                                            (tauto g).hom = g
                                                            theorem CategoryTheory.EBasedLift.tauto_over_base {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} (f : P.obj X P.obj Y) (g : Fiber.tauto X ⟶[f] Fiber.tauto Y) :
                                                            P.map g.hom = f
                                                            theorem CategoryTheory.EBasedLift.tauto_comp_hom {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y Z : E} {g : X Y} {g' : Y Z} :
                                                            instance CategoryTheory.EBasedLift.instCoeTautoBasedLift {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {X Y : E} {g : X Y} :

                                                            A morphism of E coerced as a tautological based-lift.

                                                            Equations
                                                            @[simp]
                                                            @[simp]
                                                            theorem CategoryTheory.EBasedLift.id_comp_cast {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} {g : X ⟶[f] Y} :
                                                            @[simp]
                                                            theorem CategoryTheory.EBasedLift.comp_id_cast {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J : C} {f : I J} {X : P ⁻¹ᵉ I} {Y : P ⁻¹ᵉ J} {g : X ⟶[f] Y} :
                                                            @[simp]
                                                            theorem CategoryTheory.EBasedLift.assoc {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] {P : Functor E C} {I J K L : C} {f : I J} {h : J K} {l : K L} {W : P ⁻¹ᵉ I} {X : P ⁻¹ᵉ J} {Y : P ⁻¹ᵉ K} {Z : P ⁻¹ᵉ L} (g : W ⟶[f] X) (k : X ⟶[h] Y) (m : Y ⟶[l] Z) :
                                                            instance CategoryTheory.Functor.display {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] (P : Functor E C) :
                                                            Displayed fun (I : C) => P ⁻¹ I

                                                            The displayed category of a functor P : E ⥤ C.

                                                            Equations
                                                            • P.display = { toDisplayedStruct := P.displayedStruct, id_comp_cast := , comp_id_cast := , assoc_cast := }
                                                            instance CategoryTheory.Functor.edisplay {C : Type u₁} [Category.{v₁, u₁} C] {E : Type u_1} [Category.{u_2, u_1} E] (P : Functor E C) :
                                                            Displayed fun (I : C) => P ⁻¹ᵉ I
                                                            Equations
                                                            • P.edisplay = { toDisplayedStruct := P.isodisplay, id_comp_cast := , comp_id_cast := , assoc_cast := }
                                                            structure CategoryTheory.Displayed.Lift {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} (f : I J) (tgt : F J) :
                                                            Type (max u_2 u₂)

                                                            The type Lift f tgt of a lift of f with the target tgt consists of an object src in the Fiber of the domain of f and a based-lift of f starting at src and ending at tgt.

                                                            Instances For
                                                              theorem CategoryTheory.Displayed.Lift.ext {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} {f : I J} {tgt : F J} {g g' : Lift f tgt} (w_src : g.src = g'.src) (w_homOver : g.homOver = g'.homOver) :
                                                              g = g'
                                                              structure CategoryTheory.Displayed.CoLift {C : Type u₁} [Category.{v₁, u₁} C] {F : CType u₂} [Displayed F] {I J : C} (f : I J) (src : F I) :
                                                              Type (max u_2 u₂)

                                                              The type CoLift f src of a colift of f with the source src consists of an object tgt in the Fiber of the codomain of f and a based-lift of f starting at src and ending at tgt.

                                                              Instances For
                                                                theorem CategoryTheory.Displayed.CoLift.ext_iff {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {F : CType u₂} {inst✝¹ : Displayed F} {I J : C} {f : I J} {src : F I} {x y : CoLift f src} :
                                                                theorem CategoryTheory.Displayed.CoLift.ext {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {F : CType u₂} {inst✝¹ : Displayed F} {I J : C} {f : I J} {src : F I} {x y : CoLift f src} (tgt : x.tgt = y.tgt) (homOver : HEq x.homOver y.homOver) :
                                                                x = y