Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(CategoryTheory/Monoidal): partially setting simp lemmas #10061

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ noncomputable instance instMonoidalCategory : MonoidalCategory (AlgebraCat.{u} R
simp only [eqToIso_refl, Iso.refl_trans, Iso.refl_symm, Iso.trans_hom, tensorIso_hom,
Iso.refl_hom, MonoidalCategory.tensor_id]
erw [Category.id_comp, Category.comp_id, MonoidalCategory.tensor_id, Category.id_comp]
leftUnitor_eq := fun X => by
dsimp only [forget₂_module_obj, forget₂_module_map, Iso.refl_symm, Iso.trans_hom,
Iso.refl_hom, tensorIso_hom]
simp only [MonoidalCategory.leftUnitor_conjugation, Category.id_comp, Iso.hom_inv_id]
rfl
rightUnitor_eq := fun X => by
dsimp
erw [Category.id_comp, MonoidalCategory.tensor_id, Category.id_comp]
Expand Down
23 changes: 5 additions & 18 deletions Mathlib/CategoryTheory/Bicategory/SingleObj.lean
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,12 @@ instance : Bicategory (MonoidalSingleObj C) where
Hom _ _ := C
id _ := 𝟙_ C
comp X Y := tensorObj X Y
whiskerLeft X Y Z f := tensorHom (𝟙 X) f
whiskerRight f Z := tensorHom f (𝟙 Z)
whiskerLeft X Y Z f := X ◁ f
whiskerRight f Z := f ▷ Z
associator X Y Z := α_ X Y Z
leftUnitor X := λ_ X
rightUnitor X := ρ_ X
comp_whiskerLeft _ _ _ _ _ := by
simp_rw [associator_inv_naturality, Iso.hom_inv_id_assoc, tensor_id]
whisker_assoc _ _ _ _ _ := by simp_rw [associator_inv_naturality, Iso.hom_inv_id_assoc]
whiskerRight_comp _ _ _ := by simp_rw [← tensor_id, associator_naturality, Iso.inv_hom_id_assoc]
id_whiskerLeft _ := by simp_rw [leftUnitor_inv_naturality, Iso.hom_inv_id_assoc]
whiskerRight_id _ := by simp_rw [rightUnitor_inv_naturality, Iso.hom_inv_id_assoc]
pentagon _ _ _ _ := by simp_rw [pentagon]
whisker_exchange := whisker_exchange

namespace MonoidalSingleObj

Expand All @@ -74,6 +68,8 @@ protected def star : MonoidalSingleObj C :=
PUnit.unit
#align category_theory.monoidal_single_obj.star CategoryTheory.MonoidalSingleObj.star

attribute [local simp] id_tensorHom tensorHom_id in

/-- The monoidal functor from the endomorphisms of the single object
when we promote a monoidal category to a single object bicategory,
to the original monoidal category.
Expand All @@ -86,15 +82,6 @@ def endMonoidalStarFunctor : MonoidalFunctor (EndMonoidal (MonoidalSingleObj.sta
map f := f
ε := 𝟙 _
μ X Y := 𝟙 _
-- The proof will be automated after merging #6307.
μ_natural_left f g := by
simp_rw [Category.id_comp, Category.comp_id]
-- Should we provide further simp lemmas so this goal becomes visible?
exact (tensor_id_comp_id_tensor _ _).symm
μ_natural_right f g := by
simp_rw [Category.id_comp, Category.comp_id]
-- Should we provide further simp lemmas so this goal becomes visible?
exact (tensor_id_comp_id_tensor _ _).symm
#align category_theory.monoidal_single_obj.End_monoidal_star_functor CategoryTheory.MonoidalSingleObj.endMonoidalStarFunctor

/-- The equivalence between the endomorphisms of the single object
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/CategoryTheory/Closed/FunctorCategory.lean
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def closedCounit (F : D ⥤ C) : closedIhom F ⋙ tensorLeft F ⟶ 𝟭 (D ⥤ C
dsimp
simp only [closedIhom_obj_map, pre_comm_ihom_map]
rw [← tensor_id_comp_id_tensor, id_tensor_comp]
simp }
simp [tensor_id_comp_id_tensor_assoc] }
#align category_theory.functor.closed_counit CategoryTheory.Functor.closedCounit

/-- If `C` is a monoidal closed category and `D` is a groupoid, then every functor `F : D ⥤ C` is
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/CategoryTheory/Monoidal/Braided.lean
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ theorem braiding_leftUnitor_aux₁ (X : C) :
(α_ (𝟙_ C) (𝟙_ C) X).hom ≫
(𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ _ X _).inv ≫ ((λ_ X).hom ⊗ 𝟙 _) =
((λ_ _).hom ⊗ 𝟙 X) ≫ (β_ X (𝟙_ C)).inv :=
by rw [← leftUnitor_tensor, leftUnitor_naturality]; simp
by rw [← leftUnitor_tensor, leftUnitor_naturality]; simp [id_tensorHom, tensorHom_id]
#align category_theory.braiding_left_unitor_aux₁ CategoryTheory.braiding_leftUnitor_aux₁

theorem braiding_leftUnitor_aux₂ (X : C) :
Expand Down Expand Up @@ -233,7 +233,7 @@ theorem braiding_rightUnitor_aux₁ (X : C) :
(α_ X (𝟙_ C) (𝟙_ C)).inv ≫
((β_ (𝟙_ C) X).inv ⊗ 𝟙 (𝟙_ C)) ≫ (α_ _ X _).hom ≫ (𝟙 _ ⊗ (ρ_ X).hom) =
(𝟙 X ⊗ (ρ_ _).hom) ≫ (β_ (𝟙_ C) X).inv :=
by rw [← rightUnitor_tensor, rightUnitor_naturality]; simp
by rw [← rightUnitor_tensor, rightUnitor_naturality]; simp [id_tensorHom, tensorHom_id]
#align category_theory.braiding_right_unitor_aux₁ CategoryTheory.braiding_rightUnitor_aux₁

theorem braiding_rightUnitor_aux₂ (X : C) :
Expand Down