File: Mathlib/AlgebraicTopology/DoldKan/PInfty.lean

full_name: AlgebraicTopology.DoldKan.P_is_eventually_constant
code: theorem P_is_eventually_constant {q n : ℕ} (hqn : n ≤ q) :
    ((P (q + 1)).f n : X _[n] ⟶ _) = (P q).f n 
goal: (AlgebraicTopology.DoldKan.P (q + 1)).f n = (AlgebraicTopology.DoldKan.P q).f n

full_name: AlgebraicTopology.DoldKan.Q_is_eventually_constant
code: theorem Q_is_eventually_constant {q n : ℕ} (hqn : n ≤ q) :
    ((Q (q + 1)).f n : X _[n] ⟶ _) = (Q q).f n 
goal: (AlgebraicTopology.DoldKan.Q (q + 1)).f n = (AlgebraicTopology.DoldKan.Q q).f n

full_name: AlgebraicTopology.DoldKan.PInfty
code: /-- The endomorphism `PInfty : K[X] ⟶ K[X]` obtained from the `P q` by passing to the limit. -/
noncomputable def PInfty : K[X] ⟶ K[X] 
goal: K[X] ⟶ K[X]

full_name: AlgebraicTopology.DoldKan.QInfty
code: /-- The endomorphism `QInfty : K[X] ⟶ K[X]` obtained from the `Q q` by passing to the limit. -/
noncomputable def QInfty : K[X] ⟶ K[X] 
goal: K[X] ⟶ K[X]

full_name: AlgebraicTopology.DoldKan.PInfty_f_0
code: @[simp]
theorem PInfty_f_0 : (PInfty.f 0 : X _[0] ⟶ X _[0]) = 𝟙 _ 
goal: AlgebraicTopology.DoldKan.PInfty.f 0 = 𝟙 (K[X].X 0)

full_name: AlgebraicTopology.DoldKan.PInfty_f
code: theorem PInfty_f (n : ℕ) : (PInfty.f n : X _[n] ⟶ X _[n]) = (P n).f n 
goal: AlgebraicTopology.DoldKan.PInfty.f n = (AlgebraicTopology.DoldKan.P n).f n

full_name: AlgebraicTopology.DoldKan.QInfty_f_0
code: @[simp]
theorem QInfty_f_0 : (QInfty.f 0 : X _[0] ⟶ X _[0]) = 0 
goal: AlgebraicTopology.DoldKan.QInfty.f 0 = 0

full_name: AlgebraicTopology.DoldKan.QInfty_f
code: theorem QInfty_f (n : ℕ) : (QInfty.f n : X _[n] ⟶ X _[n]) = (Q n).f n 
goal: AlgebraicTopology.DoldKan.QInfty.f n = (AlgebraicTopology.DoldKan.Q n).f n

full_name: AlgebraicTopology.DoldKan.PInfty_f_naturality
code: @[reassoc (attr := simp)]
theorem PInfty_f_naturality (n : ℕ) {X Y : SimplicialObject C} (f : X ⟶ Y) :
    f.app (op [n]) ≫ PInfty.f n = PInfty.f n ≫ f.app (op [n]) 
goal: f.app (Opposite.op [n]) ≫ AlgebraicTopology.DoldKan.PInfty.f n =
  AlgebraicTopology.DoldKan.PInfty.f n ≫ f.app (Opposite.op [n])

full_name: AlgebraicTopology.DoldKan.QInfty_f_naturality
code: @[reassoc (attr := simp)]
theorem QInfty_f_naturality (n : ℕ) {X Y : SimplicialObject C} (f : X ⟶ Y) :
    f.app (op [n]) ≫ QInfty.f n = QInfty.f n ≫ f.app (op [n]) 
goal: f.app (Opposite.op [n]) ≫ AlgebraicTopology.DoldKan.QInfty.f n =
  AlgebraicTopology.DoldKan.QInfty.f n ≫ f.app (Opposite.op [n])

full_name: AlgebraicTopology.DoldKan.PInfty_f_idem
code: @[reassoc (attr := simp)]
theorem PInfty_f_idem (n : ℕ) : (PInfty.f n : X _[n] ⟶ _) ≫ PInfty.f n = PInfty.f n 
goal: AlgebraicTopology.DoldKan.PInfty.f n ≫ AlgebraicTopology.DoldKan.PInfty.f n = AlgebraicTopology.DoldKan.PInfty.f n

full_name: AlgebraicTopology.DoldKan.PInfty_idem
code: @[reassoc (attr := simp)]
theorem PInfty_idem : (PInfty : K[X] ⟶ _) ≫ PInfty = PInfty 
goal: AlgebraicTopology.DoldKan.PInfty ≫ AlgebraicTopology.DoldKan.PInfty = AlgebraicTopology.DoldKan.PInfty

full_name: AlgebraicTopology.DoldKan.QInfty_f_idem
code: @[reassoc (attr := simp)]
theorem QInfty_f_idem (n : ℕ) : (QInfty.f n : X _[n] ⟶ _) ≫ QInfty.f n = QInfty.f n 
goal: AlgebraicTopology.DoldKan.QInfty.f n ≫ AlgebraicTopology.DoldKan.QInfty.f n = AlgebraicTopology.DoldKan.QInfty.f n

full_name: AlgebraicTopology.DoldKan.QInfty_idem
code: @[reassoc (attr := simp)]
theorem QInfty_idem : (QInfty : K[X] ⟶ _) ≫ QInfty = QInfty 
goal: AlgebraicTopology.DoldKan.QInfty ≫ AlgebraicTopology.DoldKan.QInfty = AlgebraicTopology.DoldKan.QInfty

full_name: AlgebraicTopology.DoldKan.PInfty_f_comp_QInfty_f
code: @[reassoc (attr := simp)]
theorem PInfty_f_comp_QInfty_f (n : ℕ) : (PInfty.f n : X _[n] ⟶ _) ≫ QInfty.f n = 0 
goal: AlgebraicTopology.DoldKan.PInfty.f n ≫ AlgebraicTopology.DoldKan.QInfty.f n = 0

full_name: AlgebraicTopology.DoldKan.PInfty_comp_QInfty
code: @[reassoc (attr := simp)]
theorem PInfty_comp_QInfty : (PInfty : K[X] ⟶ _) ≫ QInfty = 0 
goal: AlgebraicTopology.DoldKan.PInfty ≫ AlgebraicTopology.DoldKan.QInfty = 0

full_name: AlgebraicTopology.DoldKan.QInfty_f_comp_PInfty_f
code: @[reassoc (attr := simp)]
theorem QInfty_f_comp_PInfty_f (n : ℕ) : (QInfty.f n : X _[n] ⟶ _) ≫ PInfty.f n = 0 
goal: AlgebraicTopology.DoldKan.QInfty.f n ≫ AlgebraicTopology.DoldKan.PInfty.f n = 0

full_name: AlgebraicTopology.DoldKan.QInfty_comp_PInfty
code: @[reassoc (attr := simp)]
theorem QInfty_comp_PInfty : (QInfty : K[X] ⟶ _) ≫ PInfty = 0 
goal: AlgebraicTopology.DoldKan.QInfty ≫ AlgebraicTopology.DoldKan.PInfty = 0

full_name: AlgebraicTopology.DoldKan.PInfty_add_QInfty
code: @[simp]
theorem PInfty_add_QInfty : (PInfty : K[X] ⟶ _) + QInfty = 𝟙 _ 
goal: AlgebraicTopology.DoldKan.PInfty + AlgebraicTopology.DoldKan.QInfty = 𝟙 K[X]

full_name: AlgebraicTopology.DoldKan.PInfty_f_add_QInfty_f
code: theorem PInfty_f_add_QInfty_f (n : ℕ) : (PInfty.f n : X _[n] ⟶ _) + QInfty.f n = 𝟙 _ 
goal: AlgebraicTopology.DoldKan.PInfty.f n + AlgebraicTopology.DoldKan.QInfty.f n = 𝟙 (K[X].X n)

full_name: AlgebraicTopology.DoldKan.natTransPInfty_app
code: /-- `PInfty` induces a natural transformation, i.e. an endomorphism of
the functor `alternatingFaceMapComplex C`. -/
@[simps]
noncomputable def natTransPInfty : alternatingFaceMapComplex C ⟶ alternatingFaceMapComplex C 
goal: ∀ (x : CategoryTheory.SimplicialObject C),
  (AlgebraicTopology.DoldKan.natTransPInfty C).app x = AlgebraicTopology.DoldKan.PInfty

full_name: AlgebraicTopology.DoldKan.natTransPInfty
code: /-- `PInfty` induces a natural transformation, i.e. an endomorphism of
the functor `alternatingFaceMapComplex C`. -/
@[simps]
noncomputable def natTransPInfty : alternatingFaceMapComplex C ⟶ alternatingFaceMapComplex C 
goal: AlgebraicTopology.alternatingFaceMapComplex C ⟶ AlgebraicTopology.alternatingFaceMapComplex C

full_name: AlgebraicTopology.DoldKan.natTransPInfty_f_app
code: /-- The natural transformation in each degree that is induced by `natTransPInfty`. -/
@[simps!]
noncomputable def natTransPInfty_f (n : ℕ) 
goal: (AlgebraicTopology.DoldKan.natTransPInfty_f C n).app X = AlgebraicTopology.DoldKan.PInfty.f n

full_name: AlgebraicTopology.DoldKan.natTransPInfty_f
code: /-- The natural transformation in each degree that is induced by `natTransPInfty`. -/
@[simps!]
noncomputable def natTransPInfty_f (n : ℕ) 
goal: AlgebraicTopology.alternatingFaceMapComplex C ⋙ HomologicalComplex.eval C (ComplexShape.down ℕ) n ⟶
  AlgebraicTopology.alternatingFaceMapComplex C ⋙ HomologicalComplex.eval C (ComplexShape.down ℕ) n

full_name: AlgebraicTopology.DoldKan.map_PInfty_f
code: @[simp]
theorem map_PInfty_f {D : Type*} [Category D] [Preadditive D] (G : C ⥤ D) [G.Additive]
    (X : SimplicialObject C) (n : ℕ) :
    (PInfty : K[((whiskering C D).obj G).obj X] ⟶ _).f n =
      G.map ((PInfty : AlternatingFaceMapComplex.obj X ⟶ _).f n) 
goal: AlgebraicTopology.DoldKan.PInfty.f n = G.map (AlgebraicTopology.DoldKan.PInfty.f n)

full_name: AlgebraicTopology.DoldKan.karoubi_PInfty_f
code: /-- Given an object `Y : Karoubi (SimplicialObject C)`, this lemma
computes `PInfty` for the associated object in `SimplicialObject (Karoubi C)`
in terms of `PInfty` for `Y.X : SimplicialObject C` and `Y.p`. -/
theorem karoubi_PInfty_f {Y : Karoubi (SimplicialObject C)} (n : ℕ) :
    ((PInfty : K[(karoubiFunctorCategoryEmbedding _ _).obj Y] ⟶ _).f n).f =
      Y.p.app (op [n]) ≫ (PInfty : K[Y.X] ⟶ _).f n 
goal: (AlgebraicTopology.DoldKan.PInfty.f n).f = Y.p.app (Opposite.op [n]) ≫ AlgebraicTopology.DoldKan.PInfty.f n