Commit 2026-03-03 15:46 18100d90

View on Github →

feat(RingTheory): generalise perfection to monoids (#31007)

  1. We generalise PerfectRing to monoids (without changing the name).
  2. We move Submonoid.perfection and Ring.Perfection to the already existing Perfection namespace, which solves the problem that Ring.Perfection and its lemmas Perfection.xxx are in different namespaces. Also, the monoid perfection and ring perfection have the same underlying set, so this unify the two approaches.
  3. Perfection.lift is now generalised to monoids: liftMonoidHom : (M →* N) ≃ (M →* Perfection N p) where M is a perfect monoid.

Estimated changes

deleted def Monoid.perfection
modified def Perfection.coeff
modified theorem Perfection.coeff_frobenius
modified theorem Perfection.coeff_map
modified theorem Perfection.coeff_pow_p'
modified theorem Perfection.coeff_pow_p
deleted theorem Perfection.coeff_pthRoot
modified theorem Perfection.ext
added theorem Perfection.extMonoid
modified def Perfection.map
modified def Perfection.pthRoot
added def Perfection
modified theorem PerfectionMap.mk'
deleted def Ring.Perfection