Zulip Chat Archive
Stream: mathlib4
Topic: BitVec lemmas
Jakob von Raumer (Dec 28 2024 at 12:12):
I agree with the sentiment behind keeping the lemmas about BitVec
in mathlib at a minimum, but shouldn't we at least have the ring iso to ZMod (2 ^ m)
in there as an off-bridge? Right now it seems it's a CommRing
instance without any algebraic properties proven about it? /cc @Kim Morrison @Alex Keizer @Patrick Massot
Eric Wieser (Dec 28 2024 at 13:24):
That equivalence is not true when m=0
Eric Wieser (Dec 28 2024 at 13:24):
I'd expect the iso with Fin (2^m)
though
Eric Wieser (Dec 28 2024 at 13:26):
If you want Zmod then I'd expect you to have to compose with another iso
Jakob von Raumer (Dec 28 2024 at 13:31):
Shouldn't all algebraic statements rather be about ZMod
? I thought the ring structure on Fin
is more or less only defined to then put it on ZMod
Jakob von Raumer (Dec 28 2024 at 13:32):
Hm, though I guess both have their applications in terms of what the zero case should be
Eric Wieser (Dec 28 2024 at 13:56):
The nice thing about the Fin
spelling is that the simplification lemmas can reduce the iso to ofFin
and toFin
, without needing to introduce new ofZMod
and toZMod
Patrick Massot (Dec 28 2024 at 17:57):
I have no opinion about BitVec except I know that having BitVec stuff in Mathlib is annoying to the FRO.
Eric Wieser (Dec 28 2024 at 18:02):
Given we have the Ring instance in mathlib, I think a PR to add the corresponding RingEquiv
alongside it would be very reasonable
Jakob von Raumer (Dec 29 2024 at 12:18):
Will do!
Jakob von Raumer (Dec 29 2024 at 12:58):
Last updated: May 02 2025 at 03:31 UTC