Documentation

InfinityCosmos.ForMathlib.AlgebraicTopology.HomotopyCat

@[simp]
theorem CategoryTheory.eqToHom_comp_heq_iff {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {W : C} {X : C} {Y : C} {Z : C} {Z' : C} (f : Y X) (g : Z Z') (h : W = Y) :
@[simp]
theorem CategoryTheory.heq_eqToHom_comp_iff {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {W : C} {X : C} {Y : C} {Z : C} {Z' : C} (f : Y X) (g : Z Z') (h : W = Y) :
@[simp]
theorem CategoryTheory.comp_eqToHom_heq_iff {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {W : C} {X : C} {Y : C} {Z : C} {Z' : C} (f : X Y) (g : Z Z') (h : Y = W) :
@[simp]
theorem CategoryTheory.heq_comp_eqToHom_iff {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {W : C} {X : C} {Y : C} {Z : C} {Z' : C} (f : X Y) (g : Z Z') (h : Y = W) :
theorem CategoryTheory.heq_comp {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {X : C} {Y : C} {Z : C} {X' : C} {Y' : C} {Z' : C} {f : X Y} {g : Y Z} {f' : X' Y'} {g' : Y' Z'} (eq1 : X = X') (eq2 : Y = Y') (eq3 : Z = Z') (H1 : HEq f f') (H2 : HEq g g') :
class CategoryTheory.ReflQuiver (obj : Type u) extends Quiver :
Type (max u v)
  • Hom : objobjSort v
  • id : (X : obj) → X X

    The identity morphism on an object.

Instances

    Notation for the identity morphism in a category.

    Equations
    Instances For
      Equations
      structure CategoryTheory.ReflPrefunctor (V : Type u₁) [CategoryTheory.ReflQuiver.{v₁, u₁} V] (W : Type u₂) [CategoryTheory.ReflQuiver.{v₂, u₂} W] extends Prefunctor :
      Sort (max (max (max (u₁ + 1) (u₂ + 1)) v₁) v₂)

      A morphism of quivers. As we will later have categorical functors extend this structure, we call it a Prefunctor.

      Instances For

        A functor preserves identity morphisms.

        theorem CategoryTheory.ReflPrefunctor.mk_obj {V : Type u_1} {W : Type u_2} [CategoryTheory.ReflQuiver.{u_3, u_1} V] [CategoryTheory.ReflQuiver.{u_4, u_2} W] {obj : VW} {map : {X Y : V} → (X Y)(obj X obj Y)} {X : V} :
        { obj := obj, map := map }.obj X = obj X
        theorem CategoryTheory.ReflPrefunctor.mk_map {V : Type u_1} {W : Type u_2} [CategoryTheory.ReflQuiver.{u_3, u_1} V] [CategoryTheory.ReflQuiver.{u_4, u_2} W] {obj : VW} {map : {X Y : V} → (X Y)(obj X obj Y)} {X : V} {Y : V} {f : X Y} :
        { obj := obj, map := map }.map f = map f
        theorem CategoryTheory.ReflPrefunctor.ext {V : Type u} [CategoryTheory.ReflQuiver.{v₁, u} V] {W : Type u₂} [CategoryTheory.ReflQuiver.{v₂, u₂} W] {F : V ⥤rq W} {G : V ⥤rq W} (h_obj : ∀ (X : V), F.obj X = G.obj X) (h_map : ∀ (X Y : V) (f : X Y), F.map f = Eq.recOn (Eq.recOn (G.map f))) :
        F = G
        @[simp]
        theorem CategoryTheory.ReflPrefunctor.id_map (V : Type u_1) [CategoryTheory.ReflQuiver.{u_2, u_1} V] :
        ∀ {X Y : V} (f : X Y), (𝟭rq V).map f = f

        The identity morphism between quivers.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.ReflPrefunctor.comp_map {U : Type u_1} [CategoryTheory.ReflQuiver.{u_4, u_1} U] {V : Type u_2} [CategoryTheory.ReflQuiver.{u_5, u_2} V] {W : Type u_3} [CategoryTheory.ReflQuiver.{u_6, u_3} W] (F : U ⥤rq V) (G : V ⥤rq W) :
          ∀ {X Y : U} (f : X Y), (F ⋙rq G).map f = G.map (F.map f)
          @[simp]
          theorem CategoryTheory.ReflPrefunctor.comp_obj {U : Type u_1} [CategoryTheory.ReflQuiver.{u_4, u_1} U] {V : Type u_2} [CategoryTheory.ReflQuiver.{u_5, u_2} V] {W : Type u_3} [CategoryTheory.ReflQuiver.{u_6, u_3} W] (F : U ⥤rq V) (G : V ⥤rq W) (X : U) :
          (F ⋙rq G).obj X = G.obj (F.obj X)

          Composition of morphisms between quivers.

          Equations
          • F ⋙rq G = { toPrefunctor := F.toPrefunctor ⋙q G.toPrefunctor, map_id := }
          Instances For

            Notation for a prefunctor between quivers.

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

              Notation for composition of prefunctors.

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

                Notation for the identity prefunctor on a quiver.

                Equations
                Instances For
                  theorem CategoryTheory.ReflPrefunctor.congr_map {U : Type u_1} {V : Type u_2} [Quiver U] [Quiver V] (F : U ⥤q V) {X : U} {Y : U} {f : X Y} {g : X Y} (h : f = g) :
                  F.map f = F.map g
                  Equations
                  • F.toReflPrefunctor = { toPrefunctor := F.toPrefunctor, map_id := }
                  Instances For
                    @[simp]
                    theorem CategoryTheory.Functor.toReflPrefunctor_toPrefunctor {C : CategoryTheory.Cat} {D : CategoryTheory.Cat} (F : CategoryTheory.Functor C D) :
                    F.toReflPrefunctor.toPrefunctor = F.toPrefunctor

                    Vᵒᵖ reverses the direction of all arrows of V.

                    Equations

                    Construct a bundled ReflQuiv from the underlying type and the typeclass.

                    Equations
                    Instances For

                      The forgetful functor from categories to quivers.

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

                        The forgetful functor from categories to quivers.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          Instances For
                            @[simp]
                            theorem CategoryTheory.Cat.freeRefl_obj_str_comp (V : CategoryTheory.ReflQuiv) ⦃a : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel ⦃b : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel ⦃c : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel :
                            ∀ (a_1 : CategoryTheory.Quotient.Hom CategoryTheory.Cat.FreeReflRel a b) (a_2 : CategoryTheory.Quotient.Hom CategoryTheory.Cat.FreeReflRel b c), CategoryTheory.CategoryStruct.comp a_1 a_2 = CategoryTheory.Quotient.comp CategoryTheory.Cat.FreeReflRel a_1 a_2
                            @[simp]
                            theorem CategoryTheory.Cat.freeRefl_map_obj_as :
                            ∀ {X Y : CategoryTheory.ReflQuiv} (f : X Y) (a : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel), ((CategoryTheory.Cat.freeRefl.map f).obj a).as = f.obj a.as
                            @[simp]
                            theorem CategoryTheory.Cat.freeRefl_map_map :
                            ∀ {X Y : CategoryTheory.ReflQuiv} (f : X Y) (a b : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel) (hf : a b), (CategoryTheory.Cat.freeRefl.map f).map hf = Quot.liftOn hf (fun (f_1 : a.as b.as) => (CategoryTheory.Cat.FreeRefl.quotientFunctor Y).map (f.mapPath f_1))
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem CategoryTheory.ReflQuiv.adj.counit.app_map (C : CategoryTheory.Cat) (a : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel) (b : CategoryTheory.Quotient CategoryTheory.Cat.FreeReflRel) (hf : a b) :
                                (CategoryTheory.ReflQuiv.adj.counit.app C).map hf = Quot.liftOn hf (fun (f : a.as b.as) => (CategoryTheory.Quiv.adj.counit.app C).map f)

                                The adjunction between forming the free category on a quiver, and forgetting a category to a quiver.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem CategoryTheory.Fin.le_succ {n : } (i : Fin n) :
                                  i.castSucc i.succ
                                  def CategoryTheory.Fin.hom_succ {n : } (i : Fin n) :
                                  i.castSucc i.succ
                                  Equations
                                  Instances For
                                    Equations
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def CategoryTheory.SimplexCategory.mkOfLeComp {n : } (i : Fin (n + 1)) (j : Fin (n + 1)) (k : Fin (n + 1)) (h₁ : i j) (h₂ : j k) :
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[reducible, inline]

                                          The fully faithful inclusion of the truncated simplex category into the usual simplex category.

                                          Equations
                                          Instances For

                                            The ulift functor SSet.Truncated.{u} ⥤ SSet.Truncated.{max u v} on truncated simplicial sets.

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

                                              This is called "sk" in SimplicialSet and SimplicialObject, but this is a better name.

                                              Equations
                                              Instances For

                                                The identity natural transformation exhibits nerve C as a right extension of its restriction to (Δ 2).op along (Δ.ι 2).op.

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

                                                  The natural transformation in nerveRightExtension C defines a cone with summit nerve C _[n] over the diagram (StructuredArrow.proj (op ([n] : SimplexCategory)) (Δ.ι 2).op ⋙ nerveFunctor₂.obj C) indexed by the category StructuredArrow (op [n]) (Δ.ι 2).op.

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

                                                        It follows that we have a natural isomorphism between nerveFunctor and nerveFunctor ⋙ cosk₂ whose components are the isomorphisms just established.

                                                        Equations
                                                        Instances For
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            theorem CategoryTheory.opstuff {C : Type u} [CategoryTheory.Category.{v, u} C] (V : CategoryTheory.Functor Cᵒᵖ (Type w)) {X : C} {Y : C} {Z : C} {α : X Y} {β : Y Z} {γ : X Z} {φ : V.obj (Opposite.op Z)} :
                                                            CategoryTheory.CategoryStruct.comp α β = γV.map α.op (V.map β.op φ) = V.map γ.op φ
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                Equations
                                                                Instances For
                                                                  Instances For
                                                                    theorem CategoryTheory.SSet.HoRel.ext_triangle {V : SSet} (X : CategoryTheory.SSet.OneTruncation V) (X' : CategoryTheory.SSet.OneTruncation V) (Y : CategoryTheory.SSet.OneTruncation V) (Y' : CategoryTheory.SSet.OneTruncation V) (Z : CategoryTheory.SSet.OneTruncation V) (Z' : CategoryTheory.SSet.OneTruncation V) (hX : X = X') (hY : Y = Y') (hZ : Z = Z') (f : X Z) (f' : X' Z') (hf : f = f') (g : X Y) (g' : X' Y') (hg : g = g') (h : Y Z) (h' : Y' Z') (hh : h = h') :
                                                                    CategoryTheory.SSet.HoRel ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj X) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj Z) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map (Quiver.Path.nil.cons f)) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map ((Quiver.Path.nil.cons g).cons h)) CategoryTheory.SSet.HoRel ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj X') ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj Z') ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map (Quiver.Path.nil.cons f')) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map ((Quiver.Path.nil.cons g').cons h'))
                                                                    Equations
                                                                    Instances For
                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          @[reducible, inline]
                                                                          abbrev CategoryTheory.SSet.δ₂ {n : } (i : Fin (n + 2)) (hn : autoParam ((SimplexCategory.mk n).len 2) _auto✝) (hn' : autoParam ((SimplexCategory.mk (n + 1)).len 2) _auto✝) :
                                                                          { obj := SimplexCategory.mk n, property := hn } { obj := SimplexCategory.mk (n + 1), property := hn' }
                                                                          Equations
                                                                          Instances For
                                                                            @[reducible, inline]
                                                                            abbrev CategoryTheory.SSet.σ₂ {n : } (i : Fin (n + 1)) (hn : autoParam ((SimplexCategory.mk (n + 1)).len 2) _auto✝) (hn' : autoParam ((SimplexCategory.mk n).len 2) _auto✝) :
                                                                            { obj := SimplexCategory.mk (n + 1), property := hn } { obj := SimplexCategory.mk n, property := hn' }
                                                                            Equations
                                                                            Instances For
                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  Instances For
                                                                                    theorem CategoryTheory.SSet.HoRel₂.ext_triangle {V : SSet.Truncated 2} (X : CategoryTheory.SSet.OneTruncation₂ V) (X' : CategoryTheory.SSet.OneTruncation₂ V) (Y : CategoryTheory.SSet.OneTruncation₂ V) (Y' : CategoryTheory.SSet.OneTruncation₂ V) (Z : CategoryTheory.SSet.OneTruncation₂ V) (Z' : CategoryTheory.SSet.OneTruncation₂ V) (hX : X = X') (hY : Y = Y') (hZ : Z = Z') (f : X Z) (f' : X' Z') (hf : f = f') (g : X Y) (g' : X' Y') (hg : g = g') (h : Y Z) (h' : Y' Z') (hh : h = h') :
                                                                                    CategoryTheory.SSet.HoRel₂ ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj X) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj Z) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map (Quiver.Path.nil.cons f)) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map ((Quiver.Path.nil.cons g).cons h)) CategoryTheory.SSet.HoRel₂ ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj X') ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).obj Z') ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map (Quiver.Path.nil.cons f')) ((CategoryTheory.Quotient.functor CategoryTheory.Cat.FreeReflRel).map ((Quiver.Path.nil.cons g').cons h'))
                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      Equations
                                                                                      • One or more equations did not get rendered due to their size.
                                                                                      Instances For
                                                                                        @[simp]
                                                                                        theorem CategoryTheory.nerve₂Adj.counit.component_map (C : CategoryTheory.Cat) (a : CategoryTheory.Quotient CategoryTheory.SSet.HoRel₂) (b : CategoryTheory.Quotient CategoryTheory.SSet.HoRel₂) (hf : a b) :
                                                                                        (CategoryTheory.nerve₂Adj.counit.component C).map hf = Quot.liftOn hf (fun (f : a.as b.as) => (CategoryTheory.ReflQuiv.adj.counit.app C).map (Quot.liftOn f (fun (f : a.as.as b.as.as) => (CategoryTheory.Cat.FreeRefl.quotientFunctor C).map ((CategoryTheory.forgetToReflQuiv.natIso.hom.app C).mapPath f)) ))
                                                                                        Equations
                                                                                        • One or more equations did not get rendered due to their size.
                                                                                        Instances For
                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          Instances For
                                                                                            def CategoryTheory.nerve₂.seagull (C : CategoryTheory.Cat) :
                                                                                            (CategoryTheory.nerveFunctor₂.obj C).obj (Opposite.op { obj := SimplexCategory.mk 2, property := }) (CategoryTheory.nerveFunctor₂.obj C).obj (Opposite.op { obj := SimplexCategory.mk 1, property := }) (CategoryTheory.nerveFunctor₂.obj C).obj (Opposite.op { obj := SimplexCategory.mk 1, property := })

                                                                                            This is similiar to one of the famous Segal maps, except valued in a product rather than a pullback.

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

                                                                                              Now do a case split. For n = 0 and n = 1 this is covered by the hypothesis. For n = 2 this is covered by the new lemma above.

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

                                                                                                The adjunction between forming the free category on a quiver, and forgetting a category to a quiver.

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

                                                                                                  Repleteness exists for full and faithful functors but not fully faithful functors, which is why we do this inefficiently.

                                                                                                  Equations