@@ -172,43 +172,39 @@ end Γ₂N₁
172
172
173
173
-- porting note: removed @[ simps ] attribute because it was creating timeouts
174
174
/-- The compatibility isomorphism relating `N₂ ⋙ Γ₂` and `N₁ ⋙ Γ₂`. -/
175
- def compatibility_Γ₂N₁_Γ₂N₂ : toKaroubi (SimplicialObject C) ⋙ N₂ ⋙ Γ₂ ≅ N₁ ⋙ Γ₂ :=
176
- eqToIso ( by rw [← Functor.assoc, compatibility_N₁_N₂])
175
+ def Γ₂ N₂ToKaroubiIso : toKaroubi (SimplicialObject C) ⋙ N₂ ⋙ Γ₂ ≅ N₁ ⋙ Γ₂ :=
176
+ (Functor.associator _ _ _).symm ≪≫ isoWhiskerRight toKaroubiCompN₂IsoN₁ Γ₂
177
177
set_option linter.uppercaseLean3 false in
178
- #align algebraic_topology.dold_kan.compatibility_Γ₂N₁_Γ₂N₂ AlgebraicTopology.DoldKan.compatibility_Γ₂N₁_Γ₂N₂
178
+ #align algebraic_topology.dold_kan.compatibility_Γ₂N₁_Γ₂N₂ AlgebraicTopology.DoldKan.Γ₂N₂ToKaroubiIso
179
179
180
- -- porting note: no @[ simp ] attribute because this would trigger a timeout
181
- lemma compatibility_Γ₂N₁_Γ₂N₂_hom_app (X : SimplicialObject C) :
182
- compatibility_Γ₂N₁_Γ₂N₂.hom.app X =
183
- eqToHom (by rw [← Functor.assoc, compatibility_N₁_N₂]) := by
184
- dsimp only [compatibility_Γ₂N₁_Γ₂N₂, CategoryTheory.eqToIso]
185
- apply eqToHom_app
180
+ @[simp]
181
+ lemma Γ₂N₂ToKaroubiIso_hom_app (X : SimplicialObject C) :
182
+ Γ₂N₂ToKaroubiIso.hom.app X = Γ₂.map (toKaroubiCompN₂IsoN₁.hom.app X) := by
183
+ simp [Γ₂N₂ToKaroubiIso]
186
184
187
- -- Porting note: added to speed up elaboration
188
- attribute [irreducible] compatibility_Γ₂N₁_Γ₂N₂
185
+ @[simp]
186
+ lemma Γ₂N₂ToKaroubiIso_inv_app (X : SimplicialObject C) :
187
+ Γ₂N₂ToKaroubiIso.inv.app X = Γ₂.map (toKaroubiCompN₂IsoN₁.inv.app X) := by
188
+ simp [Γ₂N₂ToKaroubiIso]
189
189
190
- lemma compatibility_Γ₂N₁_Γ₂N₂_inv_app (X : SimplicialObject C) :
191
- compatibility_Γ₂N₁_Γ₂N₂.inv.app X =
192
- eqToHom (by rw [← Functor.assoc, compatibility_N₁_N₂]) := by
193
- rw [← cancel_mono (compatibility_Γ₂N₁_Γ₂N₂.hom.app X), Iso.inv_hom_id_app,
194
- compatibility_Γ₂N₁_Γ₂N₂_hom_app, eqToHom_trans, eqToHom_refl]
190
+ -- Porting note: added to speed up elaboration
191
+ attribute [irreducible] Γ₂N₂ToKaroubiIso
195
192
196
193
namespace Γ₂N₂
197
194
198
195
/-- The natural transformation `N₂ ⋙ Γ₂ ⟶ 𝟭 (SimplicialObject C)`. -/
199
196
def natTrans : (N₂ : Karoubi (SimplicialObject C) ⥤ _) ⋙ Γ₂ ⟶ 𝟭 _ :=
200
197
((whiskeringLeft _ _ _).obj (toKaroubi (SimplicialObject C))).preimage
201
- (by exact compatibility_Γ₂N₁_Γ₂N₂ .hom ≫ Γ₂N₁.natTrans)
198
+ (Γ₂N₂ToKaroubiIso .hom ≫ Γ₂N₁.natTrans)
202
199
set_option linter.uppercaseLean3 false in
203
200
#align algebraic_topology.dold_kan.Γ₂N₂.nat_trans AlgebraicTopology.DoldKan.Γ₂N₂.natTrans
204
201
205
202
theorem natTrans_app_f_app (P : Karoubi (SimplicialObject C)) :
206
- Γ₂N₂.natTrans.app P = by
207
- exact (N₂ ⋙ Γ₂).map P.decompId_i ≫
208
- (compatibility_Γ₂N₁_Γ₂N₂ .hom ≫ Γ₂N₁.natTrans).app P.X ≫ P.decompId_p := by
203
+ Γ₂N₂.natTrans.app P =
204
+ (N₂ ⋙ Γ₂).map P.decompId_i ≫
205
+ (Γ₂N₂ToKaroubiIso .hom ≫ Γ₂N₁.natTrans).app P.X ≫ P.decompId_p := by
209
206
dsimp only [natTrans]
210
- rw [whiskeringLeft_obj_preimage_app
211
- (compatibility_Γ₂N₁_Γ₂N₂.hom ≫ Γ₂N₁.natTrans : _ ⟶ toKaroubi _ ⋙ 𝟭 _) P, Functor.id_map]
207
+ simp only [whiskeringLeft_obj_preimage_app, Functor.id_map, assoc]
212
208
set_option linter.uppercaseLean3 false in
213
209
#align algebraic_topology.dold_kan.Γ₂N₂.nat_trans_app_f_app AlgebraicTopology.DoldKan.Γ₂N₂.natTrans_app_f_app
214
210
@@ -219,7 +215,7 @@ end Γ₂N₂
219
215
220
216
theorem compatibility_Γ₂N₁_Γ₂N₂_natTrans (X : SimplicialObject C) :
221
217
Γ₂N₁.natTrans.app X =
222
- (compatibility_Γ₂N₁_Γ₂N₂ .app X).inv ≫
218
+ (Γ₂N₂ToKaroubiIso .app X).inv ≫
223
219
Γ₂N₂.natTrans.app ((toKaroubi (SimplicialObject C)).obj X) := by
224
220
rw [Γ₂N₂.natTrans_app_f_app]
225
221
dsimp only [Karoubi.decompId_i_toKaroubi, Karoubi.decompId_p_toKaroubi, Functor.comp_map,
@@ -239,14 +235,16 @@ theorem identity_N₂_objectwise (P : Karoubi (SimplicialObject C)) :
239
235
have eq₂ : (Γ₀.splitting (N₂.obj P).X).ιSummand (Splitting.IndexSet.id (op [n])) ≫
240
236
(N₂.map (Γ₂N₂.natTrans.app P)).f.f n = PInfty.f n ≫ P.p.app (op [n]) := by
241
237
dsimp
242
- simp only [assoc, Γ₂N₂.natTrans_app_f_app, Functor.comp_map, NatTrans.comp_app,
243
- Karoubi.comp_f, compatibility_Γ₂N₁_Γ₂N₂_hom_app, eqToHom_refl, Karoubi.eqToHom_f,
244
- PInfty_on_Γ₀_splitting_summand_eq_self_assoc, Functor.comp_obj]
245
- dsimp [N₂]
246
- simp only [Splitting.ι_desc_assoc, assoc, id_comp, unop_op,
247
- Splitting.IndexSet.id_fst, len_mk, Splitting.IndexSet.e,
248
- Splitting.IndexSet.id_snd_coe, op_id, P.X.map_id, id_comp,
249
- PInfty_f_naturality_assoc, PInfty_f_idem_assoc, app_idem]
238
+ rw [PInfty_on_Γ₀_splitting_summand_eq_self_assoc, Γ₂N₂.natTrans_app_f_app]
239
+ dsimp
240
+ rw [Γ₂N₂ToKaroubiIso_hom_app, assoc, Splitting.ι_desc_assoc, assoc, assoc]
241
+ dsimp [toKaroubi]
242
+ rw [Splitting.ι_desc_assoc]
243
+ dsimp
244
+ simp only [assoc, Splitting.ι_desc_assoc, unop_op, Splitting.IndexSet.id_fst,
245
+ len_mk, NatTrans.naturality, PInfty_f_idem_assoc,
246
+ PInfty_f_naturality_assoc, app_idem_assoc]
247
+ erw [P.X.map_id, comp_id]
250
248
simp only [Karoubi.comp_f, HomologicalComplex.comp_f, Karoubi.id_eq, N₂_obj_p_f, assoc,
251
249
eq₁, eq₂, PInfty_f_naturality_assoc, app_idem, PInfty_f_idem_assoc]
252
250
set_option linter.uppercaseLean3 false in
0 commit comments