@@ -104,6 +104,10 @@ theorem normalizeObj_tensor (X Y : F C) (n : NormalMonoidalObject C) :
104104/-- Auxiliary definition for `normalize`. -/
105105def normalizeObj' (X : F C) : N C ⥤ N C := Discrete.functor fun n ↦ ⟨normalizeObj X n⟩
106106
107+ @[simp]
108+ theorem as_obj_normalizeObj' (X : F C) (n : N C) :
109+ ((normalizeObj' X).obj n).as = normalizeObj X n.as := rfl
110+
107111section
108112
109113open Hom
@@ -185,14 +189,21 @@ def normalizeIsoApp :
185189
186190/-- Almost non-definitionally equal to `normalizeIsoApp`, but has a better definitional property
187191in the proof of `normalize_naturality`. -/
188- @[simp]
189192def normalizeIsoApp' :
190193 ∀ (X : F C) (n : NormalMonoidalObject C), inclusionObj n ⊗ X ≅ inclusionObj (normalizeObj X n)
191194 | of _, _ => Iso.refl _
192195 | unit, _ => ρ_ _
193196 | tensor X Y, n =>
194197 (α_ _ _ _).symm ≪≫ whiskerRightIso (normalizeIsoApp' X n) Y ≪≫ normalizeIsoApp' _ _
195198
199+ @[simp] theorem normalizeIsoApp'_tensor (X Y : F C) (n : NormalMonoidalObject C) :
200+ normalizeIsoApp' C (X ⊗ Y) n =
201+ (α_ _ _ _).symm ≪≫ whiskerRightIso (normalizeIsoApp' C X n) Y ≪≫
202+ normalizeIsoApp' C Y _ := rfl
203+
204+ @[simp] theorem normalizeIsoApp'_unit (n : NormalMonoidalObject C) :
205+ normalizeIsoApp' C (𝟙_ (F C)) n = ρ_ _ := rfl
206+
196207theorem normalizeIsoApp_eq :
197208 ∀ (X : F C) (n : N C), normalizeIsoApp C X n = normalizeIsoApp' C X n.as
198209 | of _, _ => rfl
@@ -201,7 +212,7 @@ theorem normalizeIsoApp_eq :
201212 rw [normalizeIsoApp, normalizeIsoApp']
202213 rw [normalizeIsoApp_eq X n]
203214 rw [normalizeIsoApp_eq Y ⟨normalizeObj X n.as⟩]
204- rfl
215+ simp
205216
206217@[simp]
207218theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
@@ -252,13 +263,13 @@ theorem normalize_naturality (n : NormalMonoidalObject C) {X Y : F C} (f : X ⟶
252263 case comp f g ihf ihg => simp [ihg, reassoc_of% (ihf _)]
253264 case whiskerLeft X' X Y f ih =>
254265 intro n
255- dsimp only [normalizeObj_tensor, normalizeIsoApp', tensor_eq_tensor , Iso.trans_hom,
266+ dsimp only [normalizeObj_tensor, normalizeIsoApp'_tensor , Iso.trans_hom,
256267 Iso.symm_hom, whiskerRightIso_hom, Function.comp_apply, inclusion_obj]
257268 rw [associator_inv_naturality_right_assoc, whisker_exchange_assoc, ih]
258269 simp
259270 case whiskerRight X Y h η' ih =>
260271 intro n
261- dsimp only [normalizeObj_tensor, normalizeIsoApp', tensor_eq_tensor , Iso.trans_hom,
272+ dsimp only [normalizeObj_tensor, normalizeIsoApp'_tensor , Iso.trans_hom,
262273 Iso.symm_hom, whiskerRightIso_hom, Function.comp_apply, inclusion_obj]
263274 rw [associator_inv_naturality_middle_assoc, ← comp_whiskerRight_assoc, ih]
264275 have := dcongr_arg (fun x => (normalizeIsoApp' C η' x).hom) (normalizeObj_congr n h)
@@ -267,7 +278,6 @@ theorem normalize_naturality (n : NormalMonoidalObject C) {X Y : F C} (f : X ⟶
267278
268279end
269280
270- set_option backward.isDefEq.respectTransparency false in
271281/-- The isomorphism between `n ⊗ X` and `normalize X n` is natural (in both `X` and `n`, but
272282naturality in `n` is trivial and was "proved" in `normalizeIsoAux`). This is the real heart
273283of our proof of the coherence theorem. -/
0 commit comments