@@ -193,31 +193,6 @@ by { symmetry, apply nat_iso.naturality_2 }
193
193
194
194
end add_monoid
195
195
196
- section opaque_eq_to_iso
197
-
198
- variables {ι : Type *} {i j k : ι}
199
-
200
- /-- This definition is used instead of `eq_to_iso` so that the proof of `i = j` is visible
201
- to the simplifier -/
202
- def opaque_eq_to_iso (h : i = j) : @iso (discrete ι) _ ⟨i⟩ ⟨j⟩ := discrete.eq_to_iso h
203
-
204
- @[simp]
205
- lemma opaque_eq_to_iso_symm (h : i = j) :
206
- (opaque_eq_to_iso h).symm = opaque_eq_to_iso h.symm := rfl
207
-
208
- @[simp]
209
- lemma opaque_eq_to_iso_inv (h : i = j) :
210
- (opaque_eq_to_iso h).inv = (opaque_eq_to_iso h.symm).hom := rfl
211
-
212
- local attribute [simp] eq_to_hom_map
213
-
214
- @[simp, reassoc]
215
- lemma map_opaque_eq_to_iso_comp_app (F : discrete ι ⥤ C ⥤ C) (h : i = j) (h' : j = k) (X : C) :
216
- (F.map (opaque_eq_to_iso h).hom).app X ≫ (F.map (opaque_eq_to_iso h').hom).app X =
217
- (F.map (opaque_eq_to_iso $ h.trans h').hom).app X := by { delta opaque_eq_to_iso, simp }
218
-
219
- end opaque_eq_to_iso
220
-
221
196
section add_group
222
197
223
198
variables (C) {A} [add_group A] [has_shift C A]
@@ -228,13 +203,13 @@ variables (X Y : C) (f : X ⟶ Y)
228
203
abbreviation shift_functor_comp_shift_functor_neg (i : A) :
229
204
shift_functor C i ⋙ shift_functor C (-i) ≅ 𝟭 C :=
230
205
unit_of_tensor_iso_unit (shift_monoidal_functor C A) ⟨i⟩ ⟨(-i : A)⟩
231
- (opaque_eq_to_iso (add_neg_self i))
206
+ (discrete.eq_to_iso (add_neg_self i))
232
207
233
208
/-- Shifting by `-i` and then shifting by `i` is the identity. -/
234
209
abbreviation shift_functor_neg_comp_shift_functor (i : A) :
235
210
shift_functor C (-i) ⋙ shift_functor C i ≅ 𝟭 C :=
236
211
unit_of_tensor_iso_unit (shift_monoidal_functor C A) ⟨(-i : A)⟩ ⟨i⟩
237
- (opaque_eq_to_iso (neg_add_self i))
212
+ (discrete.eq_to_iso (neg_add_self i))
238
213
239
214
section
240
215
@@ -287,12 +262,17 @@ lemma shift_equiv_triangle (n : A) (X : C) :
287
262
(add_neg_equiv (shift_monoidal_functor C A) n).functor_unit_iso_comp X
288
263
289
264
section
290
- local attribute [simp] eq_to_hom_map
291
265
local attribute [reducible] discrete.add_monoidal
292
266
293
267
lemma shift_shift_neg_hom_shift (n : A) (X : C) :
294
268
(shift_shift_neg X n).hom ⟦n⟧' = (shift_neg_shift (X⟦n⟧) n).hom :=
295
- by simp
269
+ begin
270
+ -- This is just `simp, simp [eq_to_hom_map]`.
271
+ simp only [iso.app_hom, unit_of_tensor_iso_unit_hom_app, eq_to_iso.hom, functor.map_comp,
272
+ obj_μ_app, eq_to_iso.inv, obj_ε_inv_app, μ_naturalityₗ_assoc, category.assoc,
273
+ μ_inv_hom_app_assoc, ε_inv_app_obj, μ_naturalityᵣ_assoc],
274
+ simp only [eq_to_hom_map, eq_to_hom_app, eq_to_hom_trans],
275
+ end
296
276
297
277
end
298
278
@@ -333,19 +313,27 @@ variables (X Y : C) (f : X ⟶ Y)
333
313
/-- When shifts are indexed by an additive commutative monoid, then shifts commute. -/
334
314
def shift_comm (i j : A) : X⟦i⟧⟦j⟧ ≅ X⟦j⟧⟦i⟧ :=
335
315
(shift_add X i j).symm ≪≫ ((shift_monoidal_functor C A).to_functor.map_iso
336
- (opaque_eq_to_iso $ add_comm i j : _ )).app X ≪≫ shift_add X j i
316
+ (discrete.eq_to_iso $ add_comm i j : (⟨i+j⟩ : discrete A) ≅ ⟨j+i⟩ )).app X ≪≫ shift_add X j i
337
317
338
318
@[simp] lemma shift_comm_symm (i j : A) : (shift_comm X i j).symm = shift_comm X j i :=
339
319
begin
340
- ext, dsimp [shift_comm], simpa
320
+ ext, dsimp [shift_comm], simpa [eq_to_hom_map],
341
321
end
342
322
343
323
variables {X Y}
344
324
345
325
/-- When shifts are indexed by an additive commutative monoid, then shifts commute. -/
346
326
lemma shift_comm' (i j : A) :
347
327
f⟦i⟧'⟦j⟧' = (shift_comm _ _ _).hom ≫ f⟦j⟧'⟦i⟧' ≫ (shift_comm _ _ _).hom :=
348
- by simp [shift_comm]
328
+ begin
329
+ -- This is just `simp, simp [eq_to_hom_map]`.
330
+ simp only [shift_comm, iso.trans_hom, iso.symm_hom, iso.app_inv, iso.symm_inv,
331
+ monoidal_functor.μ_iso_hom, iso.app_hom, functor.map_iso_hom, eq_to_iso.hom, μ_naturality_assoc,
332
+ nat_trans.naturality_assoc, nat_trans.naturality, functor.comp_map, category.assoc,
333
+ μ_inv_hom_app_assoc],
334
+ simp only [eq_to_hom_map, eq_to_hom_app, eq_to_hom_trans_assoc, eq_to_hom_refl, category.id_comp,
335
+ μ_hom_inv_app_assoc],
336
+ end
349
337
350
338
@[reassoc] lemma shift_comm_hom_comp (i j : A) :
351
339
(shift_comm X i j).hom ≫ f⟦j⟧'⟦i⟧' = f⟦i⟧'⟦j⟧' ≫ (shift_comm Y i j).hom :=
0 commit comments