Commit 2025-11-25 22:07 2f69a716

View on Github →

chore(Tactic/Ring): use Qq more honestly (#30647) This PR removes almost all uses of (q(...) : Expr) in the ring tactic implementation. This includes switching from Ring/DivisionSemiring to CommRing/Semifield, because then we can rely on assumeInstancesCommute to make Qq happy. This should not affect the generality of the ring tactic, because a Ring/DivisionSemiring that is also commutative is also a CommRing/Semifield. I wanted to do some other work on ring, but that stumbled on the fact that some q(...) proof terms weren't actually being type checked properly by Qq. This PR fixes this.

Estimated changes

modified theorem Mathlib.Tactic.Ring.div_pf
modified theorem Mathlib.Tactic.Ring.inv_mul
modified theorem Mathlib.Tactic.Ring.neg_add
modified theorem Mathlib.Tactic.Ring.neg_mul
modified theorem Mathlib.Tactic.Ring.sub_pf