Skip to content

feat(Core/Algebra): to_additive and closure API for IsSubquotient - #1712

Merged
hawkrobe merged 8 commits into
mainfrom
subquotient-polish
Aug 1, 2026
Merged

feat(Core/Algebra): to_additive and closure API for IsSubquotient#1712
hawkrobe merged 8 commits into
mainfrom
subquotient-polish

Conversation

@hawkrobe

@hawkrobe hawkrobe commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Upstream polish for Subquotient.lean, folding two mathlib-reviewer audits and the register rulings:

  • @[to_additive] throughout, generating the full AddMonoid.IsSubquotient API — including the must-fix name overrides on the product lemmas (bare to_additive generated isSubquotient_sum_left for a lemma about the Prod type).
  • New API: IsSubquotient.prod (componentwise closure — what pseudovariety theory needs), .finite (finiteness descends; drops [Finite T] from the antisymmetry theorem), Submonoid.isSubquotient, Con.isSubquotient_quotient, MonoidHom.isSubquotient_mrange, @[to_additive (attr := refl)] on refl.
  • Proof golf from the reviews: trans via submonoidComap_surjective_of_surjective, antisymmetry via the bijective_of_nat_card_le pair; leaf imports corrected (Congruence.Hom, Cardinal.Finite, explicit Algebra.Group.Prod).
  • MulEquiv.ofInjective' (primed per mathlib's reserved-name comment above ofLeftInverse') extracted to its upstream-mirroring leaf Core/Algebra/Group/Submonoid/Operations.lean; of_injective is now the compositional one-liner.
  • Docstring register: mathlib-anatomy module doc (Main definitions restored, Main results cut as basic API), decl-strings stripped to the def plus the Eilenberg antisymmetry theorem.

@github-actions
github-actions Bot enabled auto-merge (squash) August 1, 2026 00:02
@hawkrobe
hawkrobe marked this pull request as draft August 1, 2026 00:04
auto-merge was automatically disabled August 1, 2026 00:04

Pull request was converted to draft

@hawkrobe
hawkrobe marked this pull request as ready for review August 1, 2026 00:54
@hawkrobe
hawkrobe merged commit eb0c1d6 into main Aug 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant