Zulip Chat Archive
Stream: maths
Topic: Finsupp.lex backwards
Violeta Hernández (Aug 22 2024 at 10:34):
Am I being dumb, or is Finsupp.lex kind of defined backwards from usual convention?
Violeta Hernández (Aug 22 2024 at 10:35):
Say I have f g : {0, 1} → ℕ. I'd expect f < g whenever f 1 < g 1, or f 1 = g 1 and f 0 < g 0.
Violeta Hernández (Aug 22 2024 at 10:36):
If I understand docs#Finsupp.lex_def correctly, the actual condition would be f 0 < g 0 or f 0 = g 0 and f 1 < g 1
Kevin Buzzard (Aug 22 2024 at 10:37):
ab comes before ba in the dictionary, right? So I'd expect f < g whenever f 0 < g 0, or f 0 = g 0 and f 1 < g 1.
Violeta Hernández (Aug 22 2024 at 10:38):
Ah, that makes sense. I was thinking in terms of decimal expansions, but those might actually just be backwards from everything else.
Violeta Hernández (Aug 22 2024 at 10:38):
The issue is that the result I want to prove is about them
Violeta Hernández (Aug 22 2024 at 10:40):
I think I can just pre-compose my functions with toDual. So in my example, I'd reinterpret f g : {0, 1}ᵒᵈ → ℕ and then everything works
Antoine Chambert-Loir (Aug 22 2024 at 15:26):
I don't know which definition is the best one, but I observed for #14981, to define the lexicographic order of a multivariate power series, that one needs to switch the order of the variables (take a WellFoundedGT order!), so I agree that it would be more natural to define the other one as docs#Lex.
On the other hand, in mathematics, we use various lexicographic orders on (Fin n) to_0 Nat :
- Lexicographic order on the variables
- Inverse lexicographic order on the variables (that would be
RevLex) - Two variants where we first sort out by degrees, and then take lexicographic or inverse lexicographic order.
Sooner or later, we will need to have them in mathlib.
Last updated: May 02 2025 at 03:31 UTC