Zulip Chat Archive
Stream: combinatorial-games
Topic: The next transcendental is at most SVO
Violeta Hernández (Oct 11 2025 at 23:42):
I felt like it'd be appropriate to put this in a separate thread to the #combinatorial-games > Nimbers thread. An acquaintance (Rachel L. A. Hunter) recently communicated a proof that every nimber of the form φ(1@ω, x@0) is transcendental (where the notation is Veblen's multivariate function). In particular, the next transcendental is at most the Small Veblen Ordinal, giving a partial answer to a conjecture by Lenstra. I've gone over the proof and though I can't say I completely grasp it, it does seem correct.
Violeta Hernández (Oct 11 2025 at 23:42):
Here's the document, shared with permission: nimtrans.pdf
Violeta Hernández (Oct 11 2025 at 23:47):
For reference, here's a Lean definition of the multivariate Veblen function. The description on Wikipedia is kind of confusing, though admittedly so is this.
import Mathlib.Data.Finset.Max
import Mathlib.Data.Finsupp.Single
import Mathlib.SetTheory.Ordinal.Veblen
namespace Ordinal
noncomputable def veblen₀ (f : Ordinal →₀ Ordinal) : Ordinal :=
let g := f.erase 0
if hg : g = 0 then ω ^ f 0 else
let e := g.support.min' (Finsupp.support_nonempty_iff.2 hg)
derivFamily
(fun (x : Set.Iio (f e) × Set.Iio e) o ↦ veblen₀ ((g.update e x.1).update x.2 o)) (f 0)
termination_by f -- with colex order
decreasing_by sorry
end Ordinal
The notation (a₁@b₁, ..., aₙ@bₙ) is simply the finitely supported function with f(aᵢ) = bᵢ and f(x) = 0 otherwise.
Violeta Hernández (Oct 11 2025 at 23:54):
The secret sauce here is the definition . For a nimber polynomial whose coefficients are less than , this is the smallest nimber such that every non-constant polynomial with contains a root/splits in .
She proves by induction on that if , then implies . Which then straightforwardly implies the claimed result.
Violeta Hernández (Oct 11 2025 at 23:59):
If I'm not mistaken, her proof in fact proves the stronger statement that implies , where of course can now be anything else.
Aaron Liu (Oct 12 2025 at 00:00):
I guess I can try porting it to Lean
Violeta Hernández (Oct 12 2025 at 00:00):
Well, I would like to be methodic about this.
Aaron Liu (Oct 12 2025 at 00:05):
what does that mean
Violeta Hernández (Oct 12 2025 at 00:05):
I would like to first distill the argument into its bare components
Violeta Hernández (Oct 12 2025 at 00:05):
I think there's a lemma about which goes implicit in the document but which we probably want to show explicitly. Again, assume that I'm not mistaken.
Let be a nimber polynomial and let be larger than all its coefficients. Let be the "co-degree" of , i.e. the index of the least non-zero coefficient. Define and where goes over all polynomials with and where for every . Define as the supremum of for . Then .
Violeta Hernández (Oct 12 2025 at 00:08):
I think that this lemma allows us to unify the and successor cases in the document.
Violeta Hernández (Oct 12 2025 at 00:10):
Oh and of course. Before we do any of this we'd have to formalize Veblen's multivariate function itself. I think I can take care of that.
Aaron Liu (Oct 12 2025 at 00:13):
Violeta Hernández said:
For reference, here's a Lean definition of the multivariate Veblen function. The description on Wikipedia is kind of confusing, though admittedly so is this.
this is the first definition I've seen that I can remember and not have to go back and look it up
Violeta Hernández (Oct 12 2025 at 00:14):
Veblen's multivariate function is just inherently confusing I think
Violeta Hernández (Oct 12 2025 at 00:15):
φ(1, 0, 0) is a fixed point of φ(-, 0) though not necessarily of φ(x, -)
Aaron Liu (Oct 12 2025 at 00:16):
unfortunately it doesn't seem to define the correct function
Violeta Hernández (Oct 12 2025 at 00:16):
my definition or Wikipedia's?
Aaron Liu (Oct 12 2025 at 00:16):
your definition
Aaron Liu (Oct 12 2025 at 00:18):
No maybe I just misread it
Aaron Liu (Oct 12 2025 at 00:18):
no this is probably fine
Aaron Liu (Oct 12 2025 at 00:19):
no yeah this is fine
Aaron Liu (Oct 12 2025 at 00:28):
it's so confusing
Aaron Liu (Oct 12 2025 at 00:29):
I'm confirming everything up to and then I will assume it's correct
Violeta Hernández (Oct 12 2025 at 00:57):
wouldn't be the case where is a linear polynomial which is trivial anyways?
Aaron Liu (Oct 12 2025 at 00:58):
confirming the output of your definition of Veblen
Violeta Hernández (Oct 12 2025 at 01:05):
ah
Aaron Liu (Oct 12 2025 at 01:10):
It seems to be doing fine
Aaron Liu (Oct 12 2025 at 01:11):
I'm guess the first thing to do is to prove the Veblen function terminates then?
Violeta Hernández (Oct 12 2025 at 01:24):
Well
Violeta Hernández (Oct 12 2025 at 01:25):
What we really need to do is define the order instance for docs#Colex of a docs#Finsupp
Violeta Hernández (Oct 12 2025 at 01:25):
the API should be pretty much copy and paste from the docs#Lex API
Violeta Hernández (Oct 12 2025 at 21:06):
I think it's not particularly controversial to say the multivariate Veblen function belongs in our repo rather than Mathlib
Violeta Hernández (Oct 12 2025 at 21:07):
I'm currently working on PR-ing the Preorder (Colex (α →₀ β)) instance to Mathlib
Violeta Hernández (Oct 12 2025 at 21:07):
Once we have that it shouldn't be very difficult to prove termination
Violeta Hernández (Oct 12 2025 at 23:02):
This might take a while
image.png
Violeta Hernández (Oct 13 2025 at 23:41):
Turns out there's way more dependent PRs for this colex stuff than I was anticipating. What do you think about just putting it in our repo for the time being?
Last updated: Dec 20 2025 at 21:32 UTC