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.