Skip to content

Commit b740455

Browse files
committed
feat: predicate for a monoid object to be commutative (#22646)
I didn't know where to place these changes within the files, so I placed them at the end. From Toric
1 parent a8ea484 commit b740455

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

Mathlib/CategoryTheory/Monoidal/CommMon_.lean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,3 +233,18 @@ def equivLaxBraidedFunctorPUnit : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C
233233
counitIso := counitIso C
234234

235235
end CommMon_
236+
237+
namespace CommMon_
238+
239+
variable {C}
240+
241+
/-- Construct an object of `CommMon_ C` from an object `X : C` a `Mon_Class X` instance
242+
and a `IsCommMon X` insance. -/
243+
def mk' (X : C) [Mon_Class X] [IsCommMon X] : CommMon_ C where
244+
__ := Mon_.mk' X
245+
mul_comm := IsCommMon.mul_comm X
246+
247+
instance (X : CommMon_ C) : IsCommMon X.X where
248+
mul_comm' := X.mul_comm
249+
250+
end CommMon_

Mathlib/CategoryTheory/Monoidal/Mon_.lean

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,25 @@ end SymmetricCategory
671671

672672
end Mon_
673673

674+
section
675+
676+
variable {C} [BraidedCategory.{v₁} C]
677+
678+
/-- Predicate for a monoid object to be commutative. -/
679+
class IsCommMon (X : C) [Mon_Class X] where
680+
mul_comm' : (β_ X X).hom ≫ μ = μ := by aesop_cat
681+
682+
open scoped Mon_Class
683+
684+
namespace IsCommMon
685+
686+
@[reassoc (attr := simp)]
687+
theorem mul_comm (X : C) [Mon_Class X] [IsCommMon X] : (β_ X X).hom ≫ μ = μ := mul_comm'
688+
689+
end IsCommMon
690+
691+
end
692+
674693
/-!
675694
Projects:
676695
* Check that `Mon_ MonCat ≌ CommMonCat`, via the Eckmann-Hilton argument.

0 commit comments

Comments
 (0)