Commit 2023-08-31 08:18 85c04e73
View on Github ārefactor(Algebra/Star/*): Allow for star operation on non-associative algebras (#6562)
Typically a * operation on a mathematical structure R
equipped with a multiplication is an involutive anti-automorphism i.e.
ā r s : R, star (r * s) = star s * star r
Currently mathlib defines a class StarSemigroup
to be a semigroup satisfying this property. However, the requirement for the multiplication to be associative is unnecessarily restrictive. There are important classes of star-algebra which are not associative (e.g. JB*-algebras).
This PR removes the requirement for a StarSemigroup
to be a semigroup, merely requiring it to have a multiplication.
I've changed the name from StarSemigroup
to StarMul
since it's no longer a semigroup.
Zulip discussion
Previously opened as a mathlib PR https://github.com/leanprover-community/mathlib/pull/17949