Zulip Chat Archive
Stream: Is there code for X?
Topic: getting `ring` to work on non-rings?
Alex Kontorovich (Feb 13 2024 at 16:54):
Is there such a thing as ring?
? It would be quite useful, e.g., in situations like this:
import Mathlib
example {E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] (intVIII intVII intV intIV : E) :
intVIII - (-intVII + intV + intIV) = intVII - intV + intVIII - intIV := by
sorry -- ring fails
Here is some annoying trivial identity, but ring
fails because E
is not assumed to be a ring. But if we replace the type of intIV : E
etc by ℂ
, then ring
works. Could ring?
say what it did to prove the identity in the case of ℂ
, so I can try the same series of moves in the more general setting...?
Johan Commelin (Feb 13 2024 at 16:57):
The way ring
works means that a ring?
doesn't really make sense, unfortunately.
Johan Commelin (Feb 13 2024 at 16:57):
I guess that in principle, one could try to reconstruct a sequence of rw
s from the term that ring
produces (if it produces one). But that seems nontrivial.
Johan Commelin (Feb 13 2024 at 16:58):
But there is ring1
, right? Doesn't that try to put expressions in "normal form"?
Jireh Loreaux (Feb 13 2024 at 17:00):
No, that's ring_nf
Eric Rodriguez (Feb 13 2024 at 17:00):
does abel
work here?
Alex Kontorovich (Feb 13 2024 at 17:01):
Yes!! Thank you!
Kevin Buzzard (Feb 13 2024 at 17:49):
It's not a ring but it is an abelian group:-)
Alex Kontorovich (Feb 13 2024 at 19:59):
Yep, I didn't know abel
existed. Learn something new every day!...
Patrick Massot (Feb 13 2024 at 20:08):
Maybe you could benefit from rereading Chapter 8 of #mil then.
Patrick Massot (Feb 13 2024 at 20:08):
(this is where abel
is mentioned in #mil)
Alex Kontorovich (Feb 13 2024 at 20:10):
I'm sure I'd benefit a lot from reading Chapters 1 - 11!... (Just need a few more hours in a day...)
Last updated: May 02 2025 at 03:31 UTC