Zulip Chat Archive

Stream: combinatorial-games

Topic: Nimbers


Violeta Hernández (Jul 26 2025 at 20:21):

@Django Peeters Hi! We have our own channel now.

Violeta Hernández (Jul 26 2025 at 20:27):

Here's a list of some pending work on nimbers:

  • Prove that nimbers are algebraically complete. There's an incomplete argument I co-authored somewhere that I could dig up and resurrect.
  • Prove that nimbers below w^w^w are algebraically complete. This should basically boil down to formalizing Lenstra's paper.
  • Prove that *(2^x + y) = *(2^x) + *y for y < 2^x. This should be a straightforward inductive argument.
  • Characterize nimber multiplication on natural numbers. And as a bonus, define some sort of NatNimber structure we can use to eval expressions with finite nimbers. (Division might be a bit troublesome...)

Violeta Hernández (Jul 27 2025 at 02:12):

Point 3 seems simple enough, I'll write it down.

Violeta Hernández (Jul 27 2025 at 04:31):

Just found the branch where I had progress on proving that they were algebraically complete:
https://github.com/leanprover-community/mathlib4/blob/701ad05f447002ee685df2218e1c6c3ca903e7e1/Mathlib/SetTheory/Nimber/Algebraic.lean

Violeta Hernández (Jul 27 2025 at 04:32):

I think it's simpler (pun intended) to first prove the first simplicity theorem: if ∗x is a group and y < x, then ∗(x + y) = ∗x + ∗y.

Violeta Hernández (Jul 27 2025 at 04:33):

Then the induction only needs to show that ∗(2 ^ x) is a group for any x.

Violeta Hernández (Jul 27 2025 at 06:40):

Is there a way to make Ordinal.toNimber x pretty-print as ∗x?

Violeta Hernández (Jul 27 2025 at 07:34):

Well, I just managed to prove the result on powers of 2. It was not in fact a straightforward inductive argument! Or rather, to give a nicer proof, we needed a bit of preliminary theory.
https://github.com/vihdzp/combinatorial-games/pull/153

Django Peeters (Jul 27 2025 at 08:19):

Violeta Hernández said:

Is there a way to make Ordinal.toNimber x pretty-print as ∗x?

I think you need prefix " ∗ " => Ordinal.toNimber.

Violeta Hernández (Jul 27 2025 at 08:20):

I have that, but it still pretty-prints as Ordinal.toNimber.

Django Peeters (Jul 27 2025 at 08:27):

Maybe it needs a higher precedence?

Violeta Hernández (Jul 27 2025 at 08:28):

The notation itself works, it just doesn't show up in the infoview
image.png

Django Peeters (Jul 27 2025 at 16:24):

Any progress?

Django Peeters (Jul 27 2025 at 16:34):

On another note, I have a paper proof of exercise 12 in Lenstra's "nim multiplication":
i<2na+i=j+(nj)(a)2j\prod_{i < 2^n}{\ast a + \ast i} = \sum_{\ast j + \ast (n-j)}{(\ast a)^{2^j}}

Violeta Hernández (Jul 27 2025 at 19:42):

Django Peeters said:

Any progress?

I went to sleep, I'm going to start work on the second simplest extension theorem now!

Aaron Liu (Jul 27 2025 at 19:43):

Violeta Hernández said:

The notation itself works, it just doesn't show up in the infoview
image.png

You can write a delab :) Maybe notation3 can do something for you?

Violeta Hernández (Jul 27 2025 at 19:45):

I don't know how to write delabs :frown:

Violeta Hernández (Jul 27 2025 at 19:47):

Django Peeters said:

On another note, I have a paper proof of exercise 12 in Lenstra's "nim multiplication":
i<2na+i=j+(nj)(a)2j\prod_{i < 2^n}{\ast a + \ast i} = \sum_{\ast j + \ast (n-j)}{(\ast a)^{2^j}}

Nice! I don't think that follows from the simplest extension theorems directly, how do you prove that?

Django Peeters (Jul 28 2025 at 08:11):

Induction, of course :clown:.
Jokes aside, the exercise itself says "let a,n be naturals" but I think a can be any ordinal. I fidled around with some ideas and the hardest part is controlling the sum.

Django Peeters (Jul 28 2025 at 08:12):

Btw, am I seeing this wrong, or is my math formatting not working?

Violeta Hernández (Jul 28 2025 at 12:23):

It doesn't work on mobile, but it works on desktop.

Violeta Hernández (Jul 29 2025 at 05:34):

@Django Peeters If you have the time, I'd appreciate if you could review my PR on (the first part of) the simplest extension theorem
https://github.com/vihdzp/combinatorial-games/pull/153

Django Peeters (Jul 29 2025 at 07:14):

I have time today. The multiplication in w^w^w using Python (actually Sage) is coming along too :)

Django Peeters (Jul 29 2025 at 09:19):

I think this will be my first review.

Django Peeters (Jul 29 2025 at 10:04):

My review is done.

Violeta Hernández (Jul 30 2025 at 00:53):

Thanks for the review! And sorry @Tristan Figueroa-Reid for the overeager merge.

Tristan Figueroa-Reid (Jul 30 2025 at 00:54):

All good! I didn't assign myself as a reviewer on that PR beforehand regardless :+1:

Violeta Hernández (Jul 30 2025 at 00:54):

I've got part 2 ready at #161, it's quite a smaller PR

Violeta Hernández (Jul 30 2025 at 00:54):

Currently working on part 3... Dreading having to work with nimber polynomials.

Violeta Hernández (Jul 30 2025 at 00:57):

Or ordinal polynomials, for that matter!

Violeta Hernández (Jul 30 2025 at 00:57):

Lean doesn't even let you talk about Ordinal[X], since it requires that polynomials be defined over semirings, which have commutative addition... which Ordinal doesn't.

Violeta Hernández (Jul 30 2025 at 00:58):

The limitation makes sense. How would Lean know whether to multiply c * x ^ n or x ^ n * c? And in which order to add up the terms?

Violeta Hernández (Jul 30 2025 at 00:59):

I think what I'll do is just write down the sum explicitly. Is there a definition for ordered sums indexed by naturals in Lean?

Tristan Figueroa-Reid (Jul 30 2025 at 01:00):

Not sure of anything more specific than List.sum.

Violeta Hernández (Jul 30 2025 at 01:01):

I think I'll have to use that. There's docs#Finset.sum, but that requires commutativity for obvious reasons.

Aaron Liu (Jul 30 2025 at 01:26):

docs#Finset.noncommSum

Aaron Liu (Jul 30 2025 at 01:27):

It only requires the elements of the finset to commute, instead of requiring everything to commute

Violeta Hernández (Jul 30 2025 at 01:27):

Isn't what I want either. Ordinals only satisfy ω ^ a + ω ^ b = ω ^ b + ω ^ a when a = b.

Violeta Hernández (Jul 30 2025 at 01:28):

I do need to take the sum in a very specific order

Violeta Hernández (Jul 30 2025 at 01:28):

So I think I'll just use List.sum

Aaron Liu (Jul 30 2025 at 01:28):

Oh wait yeah I get it now

Django Peeters (Jul 30 2025 at 09:51):

Django Peeters said:

I have time today. The multiplication in w^w^w using Python (actually Sage) is coming along too :)

Done. I've tested until excess(107) and it seems there are no bugs. Regardless of my initial plan, the only thing I've used from Sage is some prime-related methods and arbitrary-precision integers (already in python). This may be doable to convert to C or C++.

Django Peeters (Jul 30 2025 at 20:09):

nim_multiplication.py
Here it is in Python. I've tried for the next prime not cached, but it looks like that would take ~9 days :dizzy: .
PS: I forgot to mark the second argument of power(?,?) for needing arbitrary precision.
Most of this code is a translation from scala of Aaron Siegel's NimFieldCalculator and related files.

Junyan Xu (Jul 30 2025 at 20:19):

Violeta Hernández said:

Lean doesn't even let you talk about Ordinal[X], since it requires that polynomials be defined over semirings, which have commutative addition... which Ordinal doesn't.

Are you sure you don't want to use Nimber[X] instead?

Violeta Hernández (Jul 30 2025 at 20:54):

Junyan Xu said:

Violeta Hernández said:

Lean doesn't even let you talk about Ordinal[X], since it requires that polynomials be defined over semirings, which have commutative addition... which Ordinal doesn't.

Are you sure you don't want to use Nimber[X] instead?

I think the better question is whether I don't want to use docs#Ordinal.CNF instead.

Violeta Hernández (Jul 30 2025 at 20:55):

I've just remembered that exists.

Violeta Hernández (Jul 30 2025 at 20:55):

I kind of dread working with the cantor normal form. I've tried to refactor that file multiple times but it always ends up stuck in the queue.

Violeta Hernández (Jul 30 2025 at 21:02):

My idea was to redefine it as an docs#AList, since that more naturally expresses the idea that the CNF is a function from exponents to coefficients, rather than just a list of pairs. I think Mario dissented that it was odd that the entries now had type Σ _, Ordinal instead of just Ordinal × Ordinal. And the PR fell through.

Violeta Hernández (Jul 30 2025 at 21:03):

Another nice thing about using an AList is that we can then use docs#AList.lookupFinsupp, and express the CNF as a finitely supported function Ordinal →₀ Ordinal.

Violeta Hernández (Jul 30 2025 at 21:03):

What do you think about these ideas? Should I re-open the PR?

Violeta Hernández (Jul 30 2025 at 22:01):

If you think this is a good idea, I can put my stuff on the combinatorial-games repo and work on top of it, while I slowly PR it into Mathlib.

Violeta Hernández (Jul 30 2025 at 22:01):

(I think that's been our modus operandi so far)

Django Peeters (Aug 01 2025 at 21:55):

Django Peeters said:

Django Peeters said:

I have time today. The multiplication in w^w^w using Python (actually Sage) is coming along too :)

Done. I've tested until excess(107) and it seems there are no bugs. Regardless of my initial plan, the only thing I've used from Sage is some prime-related methods and arbitrary-precision integers (already in python). This may be doable to convert to C or C++.

C++ file is about 40% done. All headers are written down and now I have to implement ImpartialTermAlgebra and some common functions.

Violeta Hernández (Aug 02 2025 at 21:17):

Violeta Hernández said:

If you think this is a good idea, I can put my stuff on the combinatorial-games repo and work on top of it, while I slowly PR it into Mathlib.

Thought about this a bit more. I think we can keep CNF with its current type and use AList only as an auxiliary definition to define the finsupp variant.

Violeta Hernández (Aug 02 2025 at 21:49):

Django Peeters said:

C++ file is about 40% done. All headers are written down and now I have to implement ImpartialTermAlgebra and some common functions.

I'm interested in how this algorithm works, I'll check out your Python code a bit later today.

Django Peeters (Aug 04 2025 at 11:04):

Now ImpartialTermAlgebra is done. The next stretch is implementing the interface between this representation and the ordinals below w^w^w

Django Peeters (Aug 05 2025 at 13:13):

I think I'm 70% through. 1 big function left to implement and after that it's time to test&debug.

Django Peeters (Aug 05 2025 at 14:27):

The Python version has some bugs where it adds 2 ordinals in the wrong order (aka the Cantor sum is absorbing some terms which should actually be added in the reverse order)...

Django Peeters (Aug 05 2025 at 14:28):

But only the interface between the algebra and the ordinals I think (e.g. alpha).

Django Peeters (Aug 05 2025 at 18:28):

I've looked at the code and alpha may be the only function with an error in the Python version.

Django Peeters (Aug 06 2025 at 14:25):

Nope, the Python version (hence also the C++ version) has more errors. excess and qSet seem to fail both on some primes so I think I translated ImpartialTermAlgebra wrong from Scala...

Django Peeters (Aug 06 2025 at 18:38):

It should be fixed now. I'm gonna send the corrected Python version again and put my debugged C++ version on github later.

Django Peeters (Aug 06 2025 at 19:23):

nim_multiplication.py is bug-free I hope.

Django Peeters (Aug 06 2025 at 19:24):

Mostly translation bugs. Now time for github.

Django Peeters (Aug 06 2025 at 21:36):

It's on github. So we essentially want something like this, but in Lean and appropriate API, right? And hopefully a program that's efficient enough for most calculations.

Django Peeters (Aug 07 2025 at 22:09):

I'm gonna try and make it faster for now.

Django Peeters (Aug 12 2025 at 12:12):

I made it faster.

Django Peeters (Aug 12 2025 at 15:54):

I still have some optimization ideas left, but tomorrow I'll try to do some formalization in Lean. Maybe characterize finite nimber multiplication.

Django Peeters (Aug 12 2025 at 15:56):

Violeta Hernández said:

Here's a list of some pending work on nimbers:

  • Prove that nimbers are algebraically complete. There's an incomplete argument I co-authored somewhere that I could dig up and resurrect.
  • Prove that nimbers below w^w^w are algebraically complete. This should basically boil down to formalizing Lenstra's paper.
  • Prove that *(2^x + y) = *(2^x) + *y for y < 2^x. This should be a straightforward inductive argument.
  • Characterize nimber multiplication on natural numbers. And as a bonus, define some sort of NatNimber structure we can use to eval expressions with finite nimbers. (Division might be a bit troublesome...)

I don't know how to do the NatNumber though.

Aaron Liu (Aug 12 2025 at 16:00):

how does division work

Django Peeters (Aug 12 2025 at 16:10):

You could do it the naive way, but there's also a recursive version which is already formalized in the repository.

Violeta Hernández (Aug 12 2025 at 20:55):

Aaron Liu said:

how does division work

I don't know of an algorithm to find nim inverses of natural numbers. There's a sequence on OEIS but it isn't very helpful either. AFAIK the best way is to just use Nat.find.

Violeta Hernández (Aug 12 2025 at 20:58):

Django Peeters said:

You could do it the naive way, but there's also a recursive version which is already formalized in the repository.

This definition characterizes the inverse as the least nimber not in some infinite set, so I don't think it can be used for computation.

Violeta Hernández (Aug 12 2025 at 20:59):

https://oeis.org/A051917

Violeta Hernández (Aug 12 2025 at 20:59):

In fact this sequence only goes up to 255. Surely it's not too difficult to extend it to the square?

Violeta Hernández (Aug 12 2025 at 21:28):

I just came across this
https://docs.rs/nimber/0.1.1/src/nimber/finite.rs.html

Violeta Hernández (Aug 12 2025 at 21:28):

It gives algorithms for nim sums, products, inverses, and even roots of quadratic polyonmials for finite nimbers.

Violeta Hernández (Aug 12 2025 at 21:29):

This would be really cool to formalize in Lean!

Violeta Hernández (Aug 12 2025 at 21:45):

It seems like the general idea for nimber computation with naturals is to split n=a22t+bn = a 2^{2^t} + b, where a,b<22ta, b < 2^{2^t}. Since Fermat two powers work really nicely under all the arithmetical operations, we're able to recurse on tt.

Violeta Hernández (Aug 12 2025 at 22:18):

To multiply two nimbers, you can use the formula:

Violeta Hernández (Aug 12 2025 at 22:20):

(deleted)

Violeta Hernández (Aug 12 2025 at 22:20):

image.png

Violeta Hernández (Aug 12 2025 at 22:21):

This reduces the calculation to either nimber multiplications with a smaller value of t, or nimber multiplications x22tx2^{2^t} where x<22tx < 2^{2^t}, which are equal to the usual multiplication on natural numbers.

Violeta Hernández (Aug 12 2025 at 22:35):

In fact, plugging in c=22t1c=2^{2^t-1} and d=0d=0, you get this

Violeta Hernández (Aug 12 2025 at 22:35):

370964201478553600.png

Violeta Hernández (Aug 12 2025 at 22:36):

Which implies you only need a subroutine to multiply x<22tx < 2^{2^t} by 22t12^{2^t-1}

Violeta Hernández (Aug 12 2025 at 22:49):

Now, the problem. How do we actually show 2^2^n is a ring?

Aaron Liu (Aug 12 2025 at 22:51):

show it's a docs#Subring of the nimbers

Violeta Hernández (Aug 12 2025 at 22:52):

No I mean how do we prove that 2^2^n IsRing

Violeta Hernández (Aug 12 2025 at 22:53):

I'm sure there has to be some simple proof involving the simplicity theorems

Violeta Hernández (Aug 12 2025 at 22:56):

Actually, I presume you have to simultaneously prove IsRing (2^2^n) and (2^2^n)^2 = 2^(2^n-1) + 2^2^n

Violeta Hernández (Aug 12 2025 at 22:57):

Those two claims, alongside the multiplication formula I gave, suffice to prove IsRing (2^2^(n+1))

Violeta Hernández (Aug 12 2025 at 23:04):

So really the question is how to prove that identity about (2^2^n)^2.

Aaron Liu (Aug 12 2025 at 23:04):

follow your nose

Violeta Hernández (Aug 12 2025 at 23:05):

Let me get my bourbon

Violeta Hernández (Aug 12 2025 at 23:05):

Oh oops notebook I meant notebook

Aaron Liu (Aug 12 2025 at 23:06):

what are the excludents for (2^2^n)^2?

Violeta Hernández (Aug 12 2025 at 23:10):

(a + b) * 2^2^n + a * b for a, b < 2^2^n

Violeta Hernández (Aug 12 2025 at 23:10):

These are not pretty

Violeta Hernández (Aug 12 2025 at 23:12):

In fact to even prove nimbers < 2^2^n are in there, you have to prove 2^2^n is quadratically closed

Aaron Liu (Aug 12 2025 at 23:13):

oh it can't be too hard

Violeta Hernández (Aug 12 2025 at 23:13):

Oh it totally isnt

Violeta Hernández (Aug 12 2025 at 23:13):

In fact, every IsField x is quadratically closed

Violeta Hernández (Aug 12 2025 at 23:14):

Since the square function is injective on char 2 fields

Aaron Liu (Aug 12 2025 at 23:14):

oh yeah right

Aaron Liu (Aug 12 2025 at 23:15):

it looks like you also need a certain amount of independence

Aaron Liu (Aug 12 2025 at 23:15):

linear independence of characters

Violeta Hernández (Aug 12 2025 at 23:16):

Hm yeah actually I'm starting to doubt what I said

Violeta Hernández (Aug 12 2025 at 23:16):

There's no way any field of char 2 is quadratically closed

Violeta Hernández (Aug 12 2025 at 23:16):

Every finite field of char 2 should be

Aaron Liu (Aug 12 2025 at 23:16):

since injective implies surjective

Violeta Hernández (Aug 12 2025 at 23:18):

So nimbers below 2^2^n are excludents for (2^2^n)^2

Aaron Liu (Aug 12 2025 at 23:18):

now try ones between 2^2^n and 2^2^n * 2

Violeta Hernández (Aug 12 2025 at 23:18):

Those are of the form 2^2^n + a * (a + 1)

Violeta Hernández (Aug 12 2025 at 23:18):

For a < 2^2^n

Violeta Hernández (Aug 12 2025 at 23:20):

...what's the quadratic formula in a char 2 field?

Aaron Liu (Aug 12 2025 at 23:20):

no dividing by two

Aaron Liu (Aug 12 2025 at 23:21):

the quadratic formula won't serve you here

Violeta Hernández (Aug 12 2025 at 23:21):

Damn

Aaron Liu (Aug 12 2025 at 23:21):

why is that the first thing you thought of

Violeta Hernández (Aug 12 2025 at 23:22):

Well, we want to find the first k such that a^2 + a + k has no root below 2^2^n

Aaron Liu (Aug 12 2025 at 23:24):

so far I know that a * (a + 1) on 2^2^n is not identically zero

Violeta Hernández (Aug 12 2025 at 23:24):

Wait I have an idea

Aaron Liu (Aug 12 2025 at 23:24):

oh I'm listening

Violeta Hernández (Aug 12 2025 at 23:25):

What if we substitute b = 2^(2^n - 1) + a in there?

Aaron Liu (Aug 12 2025 at 23:25):

you're the one with the notepad

Violeta Hernández (Aug 12 2025 at 23:27):

I mean the idea is that if a * (a + 1) is not surjective, it should take exactly half of all values

Violeta Hernández (Aug 12 2025 at 23:27):

Though maybe I'm thinking too much about fields that aren't char 2

Violeta Hernández (Aug 12 2025 at 23:28):

What is (2^(2^n - 1))^2 equal to?

Aaron Liu (Aug 12 2025 at 23:28):

maybe we can set up something explicit with docs#GaloisField

Violeta Hernández (Aug 12 2025 at 23:30):

No idea how

Aaron Liu (Aug 12 2025 at 23:31):

maybe with some of those simplest extension theorems

Aaron Liu (Aug 12 2025 at 23:31):

do we know that powers of two are closed under addition?

Violeta Hernández (Aug 12 2025 at 23:31):

We do

Violeta Hernández (Aug 12 2025 at 23:32):

https://vihdzp.github.io/combinatorial-games/CombinatorialGames/Nimber/Simplicity.html#Nimber.IsGroup.two_opow

Aaron Liu (Aug 12 2025 at 23:32):

do we know that nimbers are an integral domain

Violeta Hernández (Aug 12 2025 at 23:32):

We know that they're a field

Aaron Liu (Aug 12 2025 at 23:32):

ok that works

Violeta Hernández (Aug 12 2025 at 23:33):

Hmmm

Violeta Hernández (Aug 12 2025 at 23:33):

(k + a) * (k + a + 1) = k * (k + 1) + a * (a + 1)

Violeta Hernández (Aug 12 2025 at 23:34):

That's a very peculiar equation

Violeta Hernández (Aug 12 2025 at 23:35):

It implies the image of a * (a + 1) is closed under addition

Aaron Liu (Aug 12 2025 at 23:36):

it implies fun a => a * (a + 1) is an AddMonoidHom

Aaron Liu (Aug 12 2025 at 23:36):

what happens when you change 1 to some other nimber

Violeta Hernández (Aug 12 2025 at 23:38):

(a + b) * (a + b + c) = a^2 + (a + b) * c + b^2

Violeta Hernández (Aug 12 2025 at 23:38):

Not quite as nice

Aaron Liu (Aug 12 2025 at 23:39):

= a * (a + c) + b * (b + c) I don't know what you're talking about this is plenty nice

Violeta Hernández (Aug 12 2025 at 23:39):

Oh you're right lol

Violeta Hernández (Aug 12 2025 at 23:39):

Whoa

Aaron Liu (Aug 12 2025 at 23:40):

wait it's the sum of squaring (which is an add monoid hom in char 2) and multiplying by c so obviously it's an add monoid hom

Violeta Hernández (Aug 12 2025 at 23:40):

Oh yeah

Violeta Hernández (Aug 12 2025 at 23:40):

Makes sense

Aaron Liu (Aug 12 2025 at 23:41):

so so far we have

  • fun a => a * (a + c) add monoid hom
  • fun a => a * (a + c) not identically zero

Violeta Hernández (Aug 12 2025 at 23:42):

Wait I just realized something which makes me feel dumb

Violeta Hernández (Aug 12 2025 at 23:42):

a * (a + 1) = (a + 1) * (a + 1 + 1)

Violeta Hernández (Aug 12 2025 at 23:43):

So if we have a root r of a * (a + 1) + k, the other root is r + 1

Aaron Liu (Aug 12 2025 at 23:44):

this is the truth

Junyan Xu (Aug 12 2025 at 23:46):

You're discovering some Artin--Schreier theory

For IsField (2^2^n) have you read the proof of theorem 49 on ONAG

Violeta Hernández (Aug 12 2025 at 23:46):

Oh I probably should have started there

Aaron Liu (Aug 12 2025 at 23:46):

oh it was already done 100 years ago

Aaron Liu (Aug 12 2025 at 23:47):

Junyan Xu said:

For IsField (2^2^n) have you read the proof of theorem 49 on ONAG

I knew about this but discovering is so much fun

Junyan Xu (Aug 12 2025 at 23:50):

There's also something in VIII.4 of Siegel's CGT
possibly a more organized approach to simplest extension theorems

Violeta Hernández (Aug 12 2025 at 23:50):

Oh so what you prove inductively is that 2^2^n is a field, and that x^2 + x takes on the values less than 2^(2^n - 1)

Violeta Hernández (Aug 12 2025 at 23:50):

Junyan Xu said:

There's also something in VIII.4 of Siegel's CGT
possibly a more organized approach to simplest extension theorems

That's the reference I've used to formalize them, Conway's argument actually has an error in it!

Violeta Hernández (Aug 12 2025 at 23:51):

https://mathoverflow.net/questions/477566/clarification-on-proof-of-the-algebraic-completeness-of-nimbers

Violeta Hernández (Aug 12 2025 at 23:52):

Violeta Hernández said:

Oh so what you prove inductively is that 2^2^n is a field, and that x^2 + x takes on the values less than 2^(2^n - 1)

Oh and actually you need the very last simplicity theorem to do this

Violeta Hernández (Aug 12 2025 at 23:53):

Since what you do is show that (2^2^n)^2 + 2^2^n = 2^(2^n - 1) by using that x^2 + x + 2^(2^n - 1) is the lexicographically earliest polynomial without a root in 2^2^n

Violeta Hernández (Aug 12 2025 at 23:53):

I wasn't expecting nimber arithmetic on naturals to be this difficult to pin down

Aaron Liu (Aug 12 2025 at 23:55):

it's just a finite field

Violeta Hernández (Aug 12 2025 at 23:55):

I mean yeah

Violeta Hernández (Aug 12 2025 at 23:55):

But as to actually proving that

Aaron Liu (Aug 12 2025 at 23:56):

I wonder if there are char-p analogues for p ≠ 2

Violeta Hernández (Aug 12 2025 at 23:56):

https://arxiv.org/abs/1108.0962

Violeta Hernández (Aug 12 2025 at 23:58):

Haven't read this thoroughly, but it seems like the construction is quite different in a few regards

Violeta Hernández (Aug 13 2025 at 00:19):

ON the topic of the last simplicity theorem, I've been having trouble even just writing down a lemma that I need for it
image.png

Violeta Hernández (Aug 13 2025 at 00:34):

I'm thinking, perhaps we can make a new predicate IsNthDegClosed n x for nimbers that contain roots of all non-constant polynomials with coefficients < n, and redefine IsAlgClosed x as ∀ n, IsNthDegClosed n x

Violeta Hernández (Aug 13 2025 at 00:35):

(better name suggestions welcome)

Violeta Hernández (Aug 13 2025 at 00:35):

Then we could state results such as IsNthDegClosed 2 (∗ω)

Violeta Hernández (Aug 13 2025 at 01:42):

Yeah, this IsNthDegClosed predicate was a great idea

Violeta Hernández (Aug 13 2025 at 01:42):

There's a lot of convenience results to be proven

Violeta Hernández (Aug 13 2025 at 01:42):

Such that an IsNthDegClosed 1 ring is a field

Violeta Hernández (Aug 13 2025 at 01:43):

Or that to prove IsNthDegClosed n x, for a field x, you just need to check monic polynomials

Violeta Hernández (Aug 13 2025 at 03:22):

https://github.com/vihdzp/combinatorial-games/pull/190

Violeta Hernández (Aug 13 2025 at 03:45):

So we can now state lemma 4.4.c' in Siegel as

theorem IsNthDegreeClosed.foldr_mul_add_eq_of_lt {n : } {x : Nimber} (h : IsNthDegreeClosed n x)
    (l : List Nimber) (hl :  y  l, y < x) (hln : l.length  n + 1) :
    l.zipIdx.foldr (fun a b  a.1 * x ^ a.2 + b) 0 =
    of (l.zipIdx.foldr (fun a b  a.1.val * x.val ^ a.2 + b) 0) := by
  sorry

Violeta Hernández (Aug 13 2025 at 09:52):

Actually, it's probably idea to wrap "evaluate a nimber polynomial with ordinal operations" as its own function; then we can do

/-- Evaluate a nimber polynomial using ordinal arithmetic. -/
def ordinalEval (p : Nimber[X]) (x : Nimber) : Nimber :=
  of <| (List.range (p.natDegree + 1)).foldr (fun k a  a + (p.coeff k).val * x.val ^ k) 0

theorem IsNthDegreeClosed.eval_eq_of_lt {n : } {x : Nimber} (h : IsNthDegreeClosed n x)
    {p : Nimber[X]} (hpn : p.degree  n) (hp :  k, p.coeff k < x) :
    p.eval x = ordinalEval p x := by
  sorry

Violeta Hernández (Aug 13 2025 at 12:35):

Made good progress on this tonight

Violeta Hernández (Aug 13 2025 at 12:36):

I want to say that we'll know that nimbers are algebraically closed before next week

Violeta Hernández (Aug 13 2025 at 14:56):

Just found this really weird lemma which generalizes a lot of the arithmetic from both theorems 4.4b' and 4.4c'
image.png

Violeta Hernández (Aug 13 2025 at 14:56):

Really proud of myself, finding this saved me like an hour

Aaron Liu (Aug 13 2025 at 14:56):

congrats

Violeta Hernández (Aug 13 2025 at 14:57):

my next class is in 2 hours

Violeta Hernández (Aug 13 2025 at 14:57):

i'll see if i can finish 4.4c' proper in that timespan

Django Peeters (Aug 13 2025 at 14:59):

This one is not explicitely mentioned in CGT:20250813_165846.jpg

Violeta Hernández (Aug 13 2025 at 15:03):

You mean Theorem 44 from ONAG?

Violeta Hernández (Aug 13 2025 at 15:03):

That one is outright wrong

Django Peeters (Aug 13 2025 at 15:05):

Yea, this is supposed to be a corrected version

Django Peeters (Aug 13 2025 at 15:05):

Maybe from Lenstra

Violeta Hernández (Aug 13 2025 at 15:07):

Wait, what's the difference between the two statements?

Django Peeters (Aug 13 2025 at 15:09):

Let me find my copy of ONAG

Violeta Hernández (Aug 13 2025 at 15:09):

image.png
Here's a screencap for you

Django Peeters (Aug 13 2025 at 15:09):

Thx

Django Peeters (Aug 13 2025 at 15:10):

Iirc the proof in ONAG is wrong according to the note on p.63

Django Peeters (Aug 13 2025 at 15:52):

What's up with WithTop.lean failing to build?

Violeta Hernández (Aug 13 2025 at 15:52):

Damn it, I probably forgot to lake exe mk_all

Violeta Hernández (Aug 13 2025 at 15:55):

oh i see the mistake

Violeta Hernández (Aug 13 2025 at 15:55):

it's a small fix, I'll push it directly to master

Violeta Hernández (Aug 13 2025 at 16:42):

should work now

Violeta Hernández (Aug 13 2025 at 17:05):

i was nearly able to prove that the induction hypothesis implies x^n = of (x.val ^ n)

Violeta Hernández (Aug 13 2025 at 17:05):

i'll continue later

Django Peeters (Aug 13 2025 at 18:58):

I'm gonna start on the w^w^w point and name it WWW.lean for now.

Violeta Hernández (Aug 13 2025 at 20:27):

image.png
Holy I actually did it

Violeta Hernández (Aug 13 2025 at 20:35):

this is like 90% of the way to the last part of the simplicity theorem

Violeta Hernández (Aug 13 2025 at 20:35):

I think I genuinely need a break though, will continue tomorrow

Django Peeters (Aug 13 2025 at 21:15):

I got this far lol
image.png

Violeta Hernández (Aug 13 2025 at 21:19):

Surely there's some simp lemma stating nth Prime 0 = 2?

Violeta Hernández (Aug 13 2025 at 21:20):

There's no way that isn't in Mathlib

Violeta Hernández (Aug 13 2025 at 21:21):

Btw for alpha and kappa you're missing a few of

Tristan Figueroa-Reid (Aug 13 2025 at 21:22):

Violeta Hernández said:

Surely there's some simp lemma stating nth Prime 0 = 2?

Surprisingly there isn't!

Violeta Hernández (Aug 13 2025 at 21:22):

Huh

Violeta Hernández (Aug 13 2025 at 21:22):

docs#Nat.nth_prime_zero_eq_two

Tristan Figueroa-Reid (Aug 13 2025 at 21:22):

??

Violeta Hernández (Aug 13 2025 at 21:23):

There it is

Tristan Figueroa-Reid (Aug 13 2025 at 21:23):

https://loogle.lean-lang.org/?q=Nat.nth%2C+Prime turned up empty for me - have I been using loogle wrong this entire time?

Tristan Figueroa-Reid (Aug 13 2025 at 21:24):

nth_prime_zero_eq_two isn't new either. That's really strange..

Violeta Hernández (Aug 13 2025 at 21:24):

Nat.Prime and Prime are two different predicates

Django Peeters (Aug 13 2025 at 21:29):

Violeta Hernández said:

Btw for alpha and kappa you're missing a few of

Then why isn't it complaining?

Violeta Hernández (Aug 13 2025 at 21:30):

Nimbers are definitionally equal to ordinals

Violeta Hernández (Aug 13 2025 at 21:31):

I'm not sure if you've worked with other type aliases before, like docs#OrderDual

Violeta Hernández (Aug 13 2025 at 21:31):

The order dual of a type is definitionally equal to the type, what changes are the instances on the type

Django Peeters (Aug 13 2025 at 21:31):

No, I've never worked with type aliases before

Violeta Hernández (Aug 13 2025 at 21:32):

So for instance you have of x = x and of y = y, but if you try to write down of x + of y = x + y you'll run into issues, because these are two different additions

Django Peeters (Aug 13 2025 at 21:33):

I don't see why that would be a problem here

Aaron Liu (Aug 13 2025 at 21:34):

It can stop simp from working

Violeta Hernández (Aug 13 2025 at 21:34):

If you start abusing def-eqs, you might run into difficult to debug instance problems, and simp might not be able to solve some goals

Aaron Liu (Aug 13 2025 at 21:34):

If you do defeq abuse

Aaron Liu (Aug 13 2025 at 21:34):

Also tactics like abel and ring

Django Peeters (Aug 13 2025 at 21:35):

So this is actually us abusing Lean in a way?

Violeta Hernández (Aug 13 2025 at 21:35):

Not really, this is just a nuanced pattern to be aware of

Violeta Hernández (Aug 13 2025 at 21:36):

We could prohibit def-eq abuse altogether by tagging Nimber as irreducible

Violeta Hernández (Aug 13 2025 at 21:36):

But there are some situations where making use of def-eq is fine and ends up simplifying proofs

Violeta Hernández (Aug 13 2025 at 21:36):

So I've chosen not to prohibit it

Django Peeters (Aug 13 2025 at 21:36):

Hmm

Django Peeters (Aug 13 2025 at 21:36):

Okay

Django Peeters (Aug 13 2025 at 21:37):

Where did you learn this

Violeta Hernández (Aug 13 2025 at 21:37):

Just by working with OrderDual really

Aaron Liu (Aug 13 2025 at 21:38):

I have no idea where I learned this

Aaron Liu (Aug 13 2025 at 21:38):

I just learned it

Violeta Hernández (Aug 13 2025 at 21:38):

You can often prove order-swapped versions of theorems using one-liners with OrderDual def-eq abuse

Violeta Hernández (Aug 13 2025 at 21:38):

But you have to be careful to keep the public API abuse free, lest you run into the aforementioned problems

Violeta Hernández (Aug 13 2025 at 21:38):

Similar remarks go for docs#toLex

Aaron Liu (Aug 13 2025 at 21:39):

Is (dual a < dual b) = (b < a) and other similar defeqs really defeq abuse?

Violeta Hernández (Aug 13 2025 at 21:40):

Def-eq abuse is a spectrum

Violeta Hernández (Aug 13 2025 at 21:41):

You can do weirder things like IsLUB (a := a^od) = IsGLB (a := a) or IsSuccLimit (a := a^od) = IsPredLimit (a := a)

Violeta Hernández (Aug 13 2025 at 21:42):

I guess the idea is that as long as the "abuse" is contained within proofs, it's fine

Django Peeters (Aug 13 2025 at 21:42):

Django Peeters said:

I got this far lol
image.png

Any other remarks on these definitions?

Violeta Hernández (Aug 13 2025 at 21:43):

alpha and kappa shouldn't take those nth Prime k = _ arguments

Violeta Hernández (Aug 13 2025 at 21:44):

You can define them in terms of k, rather than p

Aaron Liu (Aug 13 2025 at 21:44):

especially not implicitly, since they're impossible to infer

Django Peeters (Aug 13 2025 at 21:45):

But what if I want the definition to align with it's literature counterpart.

Aaron Liu (Aug 13 2025 at 21:45):

just don't

Violeta Hernández (Aug 13 2025 at 21:45):

Lean defines a / 0 = 0

Django Peeters (Aug 13 2025 at 21:45):

That's different

Violeta Hernández (Aug 13 2025 at 21:45):

Obviously we try to align things to literature, but there are other considerations

Aaron Liu (Aug 13 2025 at 21:46):

you're taking q along with a proof saying q = ...

Aaron Liu (Aug 13 2025 at 21:46):

The only time I have ever done this was for performance reasons

Violeta Hernández (Aug 13 2025 at 21:47):

I think it will make our life much easier if we define alpha k for all k, rather than just primes

Django Peeters (Aug 13 2025 at 21:49):

Interesting, I'll continue tomorrow

Violeta Hernández (Aug 14 2025 at 08:34):

Would it be a design antipattern to define a LinearOrder (Nimber[X]) instance?

Violeta Hernández (Aug 14 2025 at 08:35):

I'm from the Rust school of thought "don't add upstream instances on upstream types" but I imagine Lean has other considerations

Violeta Hernández (Aug 14 2025 at 08:35):

Surely no one will ever PR a Preorder (R[X]) instance that just breaks all my code, right?

Tristan Figueroa-Reid (Aug 14 2025 at 08:43):

My impression of Lean is that they avoid the orphan rule since newtyping is much more costly than it is in Rust. (afaik this is borrowed from haskell and the haskell community is still split on the orphan rule)

I would say go for making a linear order on Nimber polynomials? As long as there isn't some canonical ordering on generall polynomials.

Violeta Hernández (Aug 14 2025 at 08:44):

Having a CompleteLinearOrder instance is definitely much nicer than to work with the "raw" order relation.

Violeta Hernández (Aug 14 2025 at 08:45):

Specifically, this was my idea:

/-- Returns the lexicographically earliest polynomial, all of whose coefficients are less than `x`,
without any roots less than `x`. If none exists, returns `⊤`.

This function takes values on `WithTop (Nimber[X])`, which is a well-ordered complete lattice (the
order on `Nimber[X]` is the lexicographic order). -/
noncomputable def simplestIrreducible (x : Nimber) : WithTop (Nimber[X]) :=
  sInf (WithTop.some '' {p | 0 < p.degree  ( k, p.coeff k < x)   r < x, ¬ p.IsRoot r})

Violeta Hernández (Aug 14 2025 at 08:47):

As it turns out, most of the results I was proving on IsNthDegreeClosed can be re-stated to take a p < simplestIrreducible x assumption, rather than p.degree ≤ n

Violeta Hernández (Aug 14 2025 at 08:47):

Of course, the former implies the latter on an n-th degree closed field

Violeta Hernández (Aug 14 2025 at 08:48):

(The design of the proof is still rapidly changing, I think I won't be PR-ing anything until I have the full proof)

Django Peeters (Aug 14 2025 at 09:56):

Do we already have if Nimbers *a and *b are fields, a < b, then b = a^c for some Ordinal c?

Django Peeters (Aug 14 2025 at 09:57):

( Mod our dummy statement that *0 is a field)

Violeta Hernández (Aug 14 2025 at 10:08):

Django Peeters said:

Do we already have if Nimbers *a and *b are fields, a < b, then b = a^c for some Ordinal c?

We don't!

Violeta Hernández (Aug 14 2025 at 10:08):

How do you prove that?

Django Peeters (Aug 14 2025 at 10:15):

I don't know, but I think a bit of field theory and then relating it to the order type with some basis-argument.

Django Peeters (Aug 14 2025 at 10:16):

And iirc both Lenstra and Aaron Siegel give this as an exercise without proof.

Django Peeters (Aug 14 2025 at 10:16):

So no peeking

Violeta Hernández (Aug 14 2025 at 10:56):

I'll take a look at that later

Django Peeters (Aug 14 2025 at 11:07):

Where should we put this theorem?

Violeta Hernández (Aug 14 2025 at 11:07):

Realistically we should probably split the simplicity file at some point

Violeta Hernández (Aug 14 2025 at 11:07):

But I think we should prove first and organize later!

Django Peeters (Aug 14 2025 at 11:07):

Works for me!

Violeta Hernández (Aug 14 2025 at 11:08):

Violeta Hernández said:

Realistically we should probably split the simplicity file at some point

My work branch has 1300 lines of code in here...

Violeta Hernández (Aug 14 2025 at 11:09):

My idea is to split it as:

  • Simplicity.Basic: the first 3 parts of the simplicity theorem
  • Simplicity.Polynomial: various auxiliary definitions and theorems about nimber polynomials
  • Simplicity.Algebraic: the last part of the simplicity theorem + the proof nimbers are algebraically complete

Violeta Hernández (Aug 14 2025 at 11:26):

Also you have to start correcting me when I call it the simplicity theorem instead of the simplest extension theorem, haha

Violeta Hernández (Aug 14 2025 at 11:26):

Or the name might actually stick!

Django Peeters (Aug 14 2025 at 11:28):

I also saw "algebraically complete", which should be "algebraically closed".

Violeta Hernández (Aug 14 2025 at 11:29):

Really? I've been working on this for this long and you haven't corrected me on that? :rofl:

Violeta Hernández (Aug 14 2025 at 11:29):

TIL I've been calling these the wrong thing my whole life

Aaron Liu (Aug 14 2025 at 11:37):

Django Peeters said:

I don't know, but I think a bit of field theory and then relating it to the order type with some basis-argument.

do we know what the multiples of an element look like

Django Peeters (Aug 14 2025 at 12:05):

Violeta Hernández said:

Really? I've been working on this for this long and you haven't corrected me on that? :rofl:

I just noticed it yesterday lol

Django Peeters (Aug 14 2025 at 12:06):

Aaron Liu said:

Django Peeters said:

I don't know, but I think a bit of field theory and then relating it to the order type with some basis-argument.

do we know what the multiples of an element look like

No, but my gut tells me to use the simplest extension theorems.

Django Peeters (Aug 14 2025 at 12:06):

Or yes, kinda

Django Peeters (Aug 14 2025 at 12:09):

If we take an a-basis {b_i | i in I} for b, then the elements in b look like a_1*b_1 +...+a_n*b_n.

Django Peeters (Aug 14 2025 at 12:10):

As Nimbers

Aaron Liu (Aug 14 2025 at 12:16):

Django Peeters said:

If we take an a-basis {b_i | i in I} for b, then the elements in b look like a_1*b_1 +...+a_n*b_n.

The definition of a basis?

Django Peeters (Aug 14 2025 at 12:24):

What

Violeta Hernández (Aug 14 2025 at 13:07):

aesop is incredible
image.png

Django Peeters (Aug 14 2025 at 13:09):

If it works it ain't broken, lol

Violeta Hernández (Aug 14 2025 at 13:15):

Oh I'm definitely not complaining!

Aaron Liu (Aug 14 2025 at 13:18):

I just hope it's fast

Violeta Hernández (Aug 14 2025 at 13:22):

Didn't need extra heartbeats or anything

Django Peeters (Aug 14 2025 at 17:45):

Polynomial.coeff_eq_zero_of_degree_lt is causing name collisions. It's already in mathlib.

Aaron Liu (Aug 14 2025 at 17:49):

If it's the same statement then you can just get rid of it

Django Peeters (Aug 14 2025 at 17:50):

I'll see what I can do

Violeta Hernández (Aug 14 2025 at 19:02):

Django Peeters said:

Polynomial.coeff_eq_zero_of_degree_lt is causing name collisions. It's already in mathlib.

I've left a lot of auxiliary theorems all over the repository, the idea is for them to slowly make their way into Mathlib

Violeta Hernández (Aug 14 2025 at 19:03):

If they're already there you can just remove them!

Violeta Hernández (Aug 14 2025 at 20:47):

Why is ω quadratically closed?

Aaron Liu (Aug 14 2025 at 20:48):

since every quadratic polynomial with coefficients in ω has a root

Violeta Hernández (Aug 14 2025 at 20:48):

As far as I can tell, ONAG only really proves that it contains roots for x^2 + x + n

Aaron Liu (Aug 14 2025 at 20:48):

it's probably equivalent

Violeta Hernández (Aug 14 2025 at 20:49):

Oh it's yet another thing Siegel outright explains better
image.png

Aaron Liu (Aug 14 2025 at 20:49):

oh no we're in char 2

Violeta Hernández (Aug 14 2025 at 20:49):

Here fα=x2+x+αf_\alpha = x^2 + x + \alpha

Aaron Liu (Aug 14 2025 at 20:49):

oh I remember this argument

Django Peeters (Aug 14 2025 at 20:53):

Is there a way to not make your VSCode look like a battle field

Aaron Liu (Aug 14 2025 at 20:54):

Django Peeters said:

Is there a way to not make your VSCode look like a battle field

what is battling

Tristan Figueroa-Reid (Aug 14 2025 at 20:54):

(if this is about the infoview) clearing hypotheses you don't need while writing proofs helps somewhat, but it's a double-edged sword.

Violeta Hernández (Aug 14 2025 at 20:58):

Once we implement NatNimber, we should implement a function to solve quadratic equations

Violeta Hernández (Aug 14 2025 at 20:58):

The Rust repo I sent earlier has an algorithm for that, though I haven't quite combed through it

Aaron Liu (Aug 14 2025 at 20:59):

Violeta Hernández said:

Once we implement NatNimber, we should implement a function to solve quadratic equations

like a function or a tactic

Violeta Hernández (Aug 14 2025 at 20:59):

Computable function

Violeta Hernández (Aug 14 2025 at 20:59):

But using it to make a norm_num impl would be a great goal as well!

Aaron Liu (Aug 14 2025 at 21:00):

I hope norm_num will work for this

Aaron Liu (Aug 14 2025 at 21:00):

oh we can do division too

Aaron Liu (Aug 14 2025 at 21:00):

and addition and multiplication and subtraction

Violeta Hernández (Aug 14 2025 at 21:00):

yep, repo contains an algorithm for that as well

Violeta Hernández (Aug 14 2025 at 21:00):

(and square roots)

Tristan Figueroa-Reid (Aug 14 2025 at 21:01):

(I haven't used CGSuite much, but perhaps CGSuite has some impls for this as well? I'm not inclined to trust the correctness of a random rust library)

Aaron Liu (Aug 14 2025 at 21:01):

Tristan Figueroa-Reid said:

(I haven't used CGSuite much, but perhaps CGSuite has some impls for this as well? I'm not inclined to trust the correctness of a random rust library)

the fun part is proving correctness

Violeta Hernández (Aug 14 2025 at 21:02):

does CGSuite have browsable docs?

Django Peeters (Aug 14 2025 at 21:02):

Do you use attributes for this to work with norm_num?

Aaron Liu (Aug 14 2025 at 21:02):

you write a norm_num extension

Tristan Figueroa-Reid (Aug 14 2025 at 21:02):

Violeta Hernández said:

does CGSuite have browsable docs?

Don't think so (nothing on the cgsuite site at least), but it's just Scala/Java so you can auto-generate some locally.

Aaron Liu (Aug 14 2025 at 21:03):

examples can be found in file#Tactic/NormNum/Basic

Tristan Figueroa-Reid (Aug 14 2025 at 21:04):

Tristan Figueroa-Reid said:

Violeta Hernández said:

does CGSuite have browsable docs?

Don't think so (nothing on the cgsuite site at least), but it's just Scala/Java so you can auto-generate some locally.

(oh! Misinterpeted this - if you open the CGSuite app there are docs locally)

Django Peeters (Aug 14 2025 at 21:07):

Aaron Liu said:

examples can be found in file#Tactic/NormNum/Basic

Thank you. This is all Chinese for me.

Violeta Hernández (Aug 14 2025 at 21:08):

Aaron Liu said:

examples can be found in file#Tactic/NormNum/Basic

This seems to depend mostly on the docs#Mathlib.Meta.NormNum.IsNat structure. Is that a problem? ∗n really is not the same as ↑n.

Django Peeters (Aug 14 2025 at 21:08):

How fast can Lean algorithms be compared to Rust or C?

Tristan Figueroa-Reid (Aug 14 2025 at 21:10):

I'm unaware of any lean4 benchmark, but I don't think it particularly matters? Lean4 does produce native artifacts (does anyone know if lean4 uses LLVM as its backend?)

Violeta Hernández (Aug 14 2025 at 21:11):

There's obviously some tradeoff between correctness and performance

Violeta Hernández (Aug 14 2025 at 21:11):

But if you're using native_decide or #eval then Lean isn't half bad

Aaron Liu (Aug 14 2025 at 21:11):

Violeta Hernández said:

Aaron Liu said:

examples can be found in file#Tactic/NormNum/Basic

This seems to depend mostly on the docs#Mathlib.Meta.NormNum.IsNat structure. Is that a problem? ∗n really is not the same as ↑n.

oh no

Violeta Hernández (Aug 14 2025 at 21:12):

Though, maybe that just means we have to search for patterns e.g. ∗_ + ∗_ rather than just _ + _

Violeta Hernández (Aug 14 2025 at 21:12):

Idk, I can't make out most of what that file is doing

Violeta Hernández (Aug 14 2025 at 21:13):

We already have a proof that nimber natural addition is the same as XOR, if anyone wants to give writing this tactic a try

Aaron Liu (Aug 14 2025 at 21:14):

Violeta Hernández said:

Though, maybe that just means we have to search for patterns e.g. ∗_ + ∗_ rather than just _ + _

that also doesn't work

Django Peeters (Aug 14 2025 at 21:14):

No thx, it'd take me like a whole year

Aaron Liu (Aug 14 2025 at 21:14):

you need to output one of the following

  • nat
  • int
  • nnrat
  • rat
  • True
  • False

Tristan Figueroa-Reid (Aug 14 2025 at 21:14):

oh

Aaron Liu (Aug 14 2025 at 21:14):

there are no other options at the moment

Violeta Hernández (Aug 14 2025 at 21:14):

That sucks

Violeta Hernández (Aug 14 2025 at 21:15):

Wait, but that's not the full story, is it?

Aaron Liu (Aug 14 2025 at 21:15):

so you can't output *n

Violeta Hernández (Aug 14 2025 at 21:15):

norm_num afaik works with Ordinal which is clearly not one of those types

Violeta Hernández (Aug 14 2025 at 21:16):

(with finite ordinals, that is)

Aaron Liu (Aug 14 2025 at 21:16):

well it outputs nat via natcast

Aaron Liu (Aug 14 2025 at 21:17):

and of course by int I really mean intcast of an int literal, and nnrat cast and rat cast

Aaron Liu (Aug 14 2025 at 21:18):

but True and False are literally just docs#True and docs#False

Aaron Liu (Aug 14 2025 at 21:19):

no casting going on there

Violeta Hernández (Aug 14 2025 at 21:20):

Perhaps we can create a wrapper? Maybe to prove an equality on Nimber we first cast it to in terms of new functions nim_add, nim_mul, etc. Then we write norm_num extensions for those functions, then we cast back to Nimber.

Aaron Liu (Aug 14 2025 at 21:20):

that could work

Tristan Figueroa-Reid (Aug 14 2025 at 21:21):

Though for what benefit? It seems nicer to extend norm_num in the first place (or create a more abstract base and specialize norm_num to its specific Nat/Int/Rat/... types) unless we need a norm_num-like tactic for something.

Violeta Hernández (Aug 14 2025 at 21:22):

Well, I don't really know what's possible here

Violeta Hernández (Aug 14 2025 at 21:22):

I'm trying to figure out what the limits of norm num are

Violeta Hernández (Aug 14 2025 at 21:22):

Perhaps that's worth opening a thread elsewhere

Django Peeters (Aug 14 2025 at 21:26):

Would it be possible to do something similar for arithmetic in w^w^w?

Violeta Hernández (Aug 14 2025 at 21:26):

We'd have to use docs#NONote for that

Violeta Hernández (Aug 14 2025 at 21:26):

but in theory we could

Violeta Hernández (Aug 14 2025 at 21:26):

well, not the norm_num thing

Violeta Hernández (Aug 14 2025 at 21:27):

rather the "computable arithmetic" thing

Violeta Hernández (Aug 14 2025 at 21:32):

That file is a mess. I did a complete rewrite of it about a year ago, but it's 1k lines of code so I've been hesitant on PRing it

Violeta Hernández (Aug 14 2025 at 21:33):

Violeta Hernández said:

norm_num afaik works with Ordinal which is clearly not one of those types

Hm, I think this only really works because arithmetic on finite ordinals is exactly the same as arithmetic on natural numbers

Violeta Hernández (Aug 14 2025 at 21:34):

In fact, it doesn't even seem to work for multiplication... only addition

Aaron Liu (Aug 14 2025 at 21:34):

someone should write a norm_num extension

Aaron Liu (Aug 14 2025 at 21:35):

for multiplication

Aaron Liu (Aug 14 2025 at 21:35):

on finite ordinals

Aaron Liu (Aug 14 2025 at 21:36):

Violeta Hernández said:

In fact, it doesn't even seem to work for multiplication... only addition

probably because the extension assumes some sort of ring, and ordinal addition is noncommutative

Aaron Liu (Aug 14 2025 at 21:37):

for addition you only need docs#AddMonoidWithOne which doesn't assume commutative addition

Violeta Hernández (Aug 14 2025 at 21:38):

I just found this: https://github.com/leanprover-community/mathlib4/blob/ed5dc595cc78f827821728092d34c935aa261d9c/Mathlib/Tactic/NormNum/LegendreSymbol.lean

Violeta Hernández (Aug 14 2025 at 21:39):

Potentially a good template for what we'll be doing

Violeta Hernández (Aug 14 2025 at 21:42):

Aaron Liu said:

for multiplication

oh my god, literally three days ago
https://github.com/leanprover-community/mathlib4/blob/ed5dc595cc78f827821728092d34c935aa261d9c/Mathlib/Tactic/NormNum/Ordinal.lean#L35

Violeta Hernández (Aug 14 2025 at 21:43):

oh nvm, the change 3 days ago was just fixing a typo

Violeta Hernández (Aug 14 2025 at 21:43):

still, literally 3 weeks ago

Violeta Hernández (Aug 14 2025 at 21:45):

From reading these examples I think I've gotten a better idea of how norm_cast works

Violeta Hernández (Aug 14 2025 at 21:45):

And yeah, the design means you actually just can't return something that isn't NatCast.

Violeta Hernández (Aug 14 2025 at 21:48):

Although. Perhaps we can sidestep this by defining an internal type Nimber' inheriting the operations of Nimber but with natCast n re-defined as ∗n.

Violeta Hernández (Aug 14 2025 at 21:50):

Then the norm cast extension would return .isNat for this Nimber' type, except that whatever it proves would be def-eq to the actual claim on Nimber.

Violeta Hernández (Aug 14 2025 at 21:50):

i.e. this type would be entirely internal to the norm_num extension

Violeta Hernández (Aug 14 2025 at 21:53):

I might be saying nonsense though

Tristan Figueroa-Reid (Aug 14 2025 at 21:54):

No, that's a good design pattern if you want to explicitly avoid modifying norm_num.

Aaron Liu (Aug 14 2025 at 21:55):

Violeta Hernández said:

From reading these examples I think I've gotten a better idea of how norm_cast works

norm_num

Violeta Hernández (Aug 14 2025 at 21:58):

that

Violeta Hernández (Aug 14 2025 at 22:02):

hate that we have two very different tactics with very similar names

Violeta Hernández (Aug 14 2025 at 22:46):

Well, in any case, we can't create this tactic if we haven't even defined the operations!

Violeta Hernández (Aug 14 2025 at 22:47):

I am beyond exhausted at the moment, but I think I've proven basically everything required for the final simplest extension theorem

Violeta Hernández (Aug 14 2025 at 22:47):

Will be out of town tomorrow but by Sunday that should be done

Violeta Hernández (Aug 14 2025 at 23:00):

(really I'd finish this tonight if I wasn't running on like 4 hours of sleep)

Tristan Figueroa-Reid (Aug 14 2025 at 23:00):

(is the proof attempt on a branch?)

Violeta Hernández (Aug 14 2025 at 23:00):

vi.simplicity_5

Violeta Hernández (Aug 14 2025 at 23:00):

(i'm not good at names)

Aaron Liu (Aug 14 2025 at 23:07):

Violeta Hernández said:

(really I'd finish this tonight if I wasn't running on like 4 hours of sleep)

That's not good

Aaron Liu (Aug 14 2025 at 23:08):

Violeta Hernández said:

(i'm not good at names)

It's not a bad name

Tristan Figueroa-Reid (Aug 14 2025 at 23:08):

(If anyone else also wants to try to fill in the sorrys, I'll be happy to help golf as well.)

Violeta Hernández (Aug 14 2025 at 23:09):

I have a very clear idea of how to fill in the last two sorries

Violeta Hernández (Aug 14 2025 at 23:09):

What I do need help with is moving all the random auxiliary results I proved to Mathlib!

Aaron Liu (Aug 14 2025 at 23:10):

I am also good at filling in sorrys, even when I only have a vague idea of a proof

Aaron Liu (Aug 14 2025 at 23:10):

But of course it's a lot easier to follow an existing proof

Violeta Hernández (Aug 14 2025 at 23:10):

If you really want to work with proofs, I think you could start proving that IsField (∗2^2^n)

Aaron Liu (Aug 14 2025 at 23:11):

However I dislike trying to figure out the best way to state something

Violeta Hernández (Aug 14 2025 at 23:12):

Actually you know what I've got nothing going on in the next two hours

Violeta Hernández (Aug 14 2025 at 23:12):

I'll grab some coffee and see what I can do in that timeframe

Aaron Liu (Aug 14 2025 at 23:12):

You could try catching up on some sleep instead

Violeta Hernández (Aug 14 2025 at 23:12):

I wish

Violeta Hernández (Aug 14 2025 at 23:12):

I have to go to the capital in two hours :frown:

Aaron Liu (Aug 14 2025 at 23:23):

Violeta Hernández said:

If you really want to work with proofs, I think you could start proving that IsField (∗2^2^n)

Do you have a statement I can use

Aaron Liu (Aug 14 2025 at 23:23):

A statement in Lean

Violeta Hernández (Aug 14 2025 at 23:24):

proof_wanted IsField.two_two_pow (n : ) : IsField ((2 ^ 2 ^ n))

Aaron Liu (Aug 14 2025 at 23:24):

Great themst works

Violeta Hernández (Aug 14 2025 at 23:24):

of course the very first thing you need to do is prove

proof_wanted IsRing.toIsField_of_finite {n : } (h : IsRing (n)) : IsField (n)

Violeta Hernández (Aug 14 2025 at 23:24):

Which is the injectivity → surjectivity argument

Aaron Liu (Aug 14 2025 at 23:25):

That's trivial

Violeta Hernández (Aug 14 2025 at 23:25):

yes, but we haven't written it down yet

Aaron Liu (Aug 14 2025 at 23:25):

ok

Violeta Hernández (Aug 14 2025 at 23:27):

Another lemma we should prove is

proof_wanted IsRing.X_sq_add_X_lt_simplestIrreducible {n : } (h : IsRing (n)) :
    X^2 + X < simplestIrreducible (n)

Violeta Hernández (Aug 14 2025 at 23:27):

where simplestIrreducible is the definition on my branch

Violeta Hernández (Aug 14 2025 at 23:32):

X^2 ≤ _ follows from IsField.X_sq_le_simplestIrreducible which I just pushed

Violeta Hernández (Aug 14 2025 at 23:33):

X^2 + C a ≠ _ is because these fields have all square roots

Violeta Hernández (Aug 14 2025 at 23:34):

X^2 + X ≠ _ is because of coeff_simplestIrreducible_zero_ne

Aaron Liu (Aug 14 2025 at 23:37):

which branch do I go to if I want to start proving

Aaron Liu (Aug 14 2025 at 23:37):

for some reason master isn't building

Tristan Figueroa-Reid (Aug 14 2025 at 23:37):

vi.simplicity_5

Violeta Hernández (Aug 14 2025 at 23:38):

Master isn't building? Again?

Violeta Hernández (Aug 14 2025 at 23:39):

So much for CI

Tristan Figueroa-Reid (Aug 14 2025 at 23:39):

I'll see if I can reproduce that - if it isn't building locally, it's a CI issue since CI isn't reproducing it.

Violeta Hernández (Aug 14 2025 at 23:40):

will re-run CI on master to see if it says anything

Tristan Figueroa-Reid (Aug 14 2025 at 23:40):

(it shouldn't - I would be much more concerned if it failed)

Tristan Figueroa-Reid (Aug 14 2025 at 23:47):

Aaron Liu said:

for some reason master isn't building

It compiles fine for me locally - what was the error that you got?

Violeta Hernández (Aug 14 2025 at 23:48):

Btw I know one of you will complain about this but

Violeta Hernández (Aug 14 2025 at 23:49):

The reason I made simplestIrreducible take values in WithTop rather than just assigning the dummy value 0 is so that statements of the form "for all p < simplestIrreducible" hold for all polynomials in the alg closed case, rather than just being vacuously true

Violeta Hernández (Aug 14 2025 at 23:50):

Also, simplestIrreducible is uncomfortably long for a name

Violeta Hernández (Aug 14 2025 at 23:50):

Suggestions welcome

Aaron Liu (Aug 14 2025 at 23:58):

Well I have finite subring -> subfield now

import Mathlib

def Subring.toSubfieldOfFinite {α : Type u} [DivisionRing α] (s : Subring α)
    (hs : Set.Finite (SetLike.coe s)) : Subfield α where
  toSubring := s
  inv_mem' := by
    intro x hx
    -- import Mathlib.RingTheory.LittleWedderburn
    have : Finite s := hs.to_subtype
    have hsi : IsField s := Finite.isDomain_to_isField s
    -- for this one you have to assume `Field α` instead of `DivisionRing α`
    -- import Mathlib.RingTheory.IntegralDomain
    -- have : IsField s := Finite.isField_of_domain
    obtain rfl | hx0 := eq_or_ne x 0
    · simp
    let ux : s := x, hx
    have hux0 : ux  0 := ne_of_apply_ne Subtype.val hx0
    obtain y, hy := hsi.mul_inv_cancel hux0
    rw [Subtype.ext_iff, Subring.coe_mul, Subring.coe_one] at hy
    have hxi : x⁻¹ = y := inv_eq_of_mul_eq_one_right hy
    rw [hxi]
    exact y.prop

Aaron Liu (Aug 14 2025 at 23:59):

I think I can reduce imports so that you don't have to import little wedderburn

Violeta Hernández (Aug 15 2025 at 00:03):

The idea is that we should write this in terms of IsRing and IsField

Aaron Liu (Aug 15 2025 at 00:04):

def Subring.toSubfieldOfFinite {α : Type u} [DivisionRing α] (s : Subring α)
    (hs : Set.Finite (SetLike.coe s)) : Subfield α where
  toSubring := s
  inv_mem' := by
    intro x hx
    have : Finite s := hs.to_subtype
    have : Fintype s := .ofFinite s
    classical
    let hsi : DivisionRing s := Fintype.divisionRingOfIsDomain s
    obtain rfl | hx0 := eq_or_ne x 0
    · simp
    let ux : s := x, hx
    have hux0 : ux  0 := ne_of_apply_ne Subtype.val hx0
    have hxi : x⁻¹ = (ux⁻¹ : s) :=
      inv_eq_of_mul_eq_one_right (congrArg Subtype.val (mul_inv_cancel₀ hux0))
    rw [hxi]
    exact (ux⁻¹).prop

Aaron Liu (Aug 15 2025 at 00:04):

Violeta Hernández said:

The idea is that we should write this in terms of IsRing and IsField

The idea is that this is a theorem that should go in mathlib

Aaron Liu (Aug 15 2025 at 00:05):

and we can translate between IsRing and Subring and IsField and Subfield excluding the edge cases of zero and one

Violeta Hernández (Aug 15 2025 at 00:06):

It's a bit painful to work with the subtypes

Violeta Hernández (Aug 15 2025 at 00:06):

But if it makes the subtypeless result easier, then go for it

Violeta Hernández (Aug 15 2025 at 00:18):

Btw this stuff about natural numbers should go in another file imo

Aaron Liu (Aug 15 2025 at 00:33):

how do I show that finite ordinals are finite

Violeta Hernández (Aug 15 2025 at 00:33):

docs#Ordinal.lt_omega0 ?

Aaron Liu (Aug 15 2025 at 00:34):

ok let me clarify

Aaron Liu (Aug 15 2025 at 00:34):

how do I show that Set.Finite (Set.Iio (Nat.cast n : Ordinal))

Aaron Liu (Aug 15 2025 at 00:37):

I guess I'll just provide a surjection from Fin n

Aaron Liu (Aug 15 2025 at 00:54):

that was so much more work than I thought it was going to be

theorem IsField.two_two_pow (n : ) : IsField ((2 ^ 2 ^ n)) := by
  let sk : Set Nimber := Set.Iio ((2 ^ 2 ^ n))
  have rsk : IsRing ((2 ^ 2 ^ n)) := IsRing.two_two_pow n
  have u1 : 1  sk := by
    rw [ Nimber.of_one]
    apply Set.mem_Iio.2
    apply of.lt_iff_lt.2
    rw [ Nat.cast_one,  @Nat.cast_ofNat Ordinal (nat_lit 2),
       Ordinal.opow_natCast,  Ordinal.natCast_opow, Nat.cast_lt]
    simp
  let rk : Subring Nimber := {
    carrier := sk
    zero_mem' := (zero_lt_one' Nimber).trans u1
    one_mem' := u1
    neg_mem' := id
    add_mem' := @IsGroup.add_lt _ rsk.toIsGroup
    mul_mem' := @IsRing.mul_lt _ rsk
  }
  let uf (i : Fin (2 ^ 2 ^ n)) : sk := by
    refine of (Nat.cast i.val), of.lt_iff_lt.2 ?_⟩
    conv_rhs => rw [ Nat.cast_ofNat,  Ordinal.opow_natCast,  Ordinal.natCast_opow]
    exact Nat.cast_lt.2 i.isLt
  have fk : Finite sk := by
    apply Finite.of_surjective uf
    intro x
    obtain k, hk :  n : Nat, val x = n := Ordinal.lt_omega0.1 ((of.lt_iff_lt.1 x.prop).trans
      (Ordinal.lt_omega0.2 2 ^ 2 ^ n, by simp [ Ordinal.opow_natCast]))
    have uk : k < 2 ^ 2 ^ n := by
      refine Nat.cast_lt.1 (hk.symm.trans_lt ?_)
      rw [Nimber.val_lt_iff, Ordinal.natCast_opow, Ordinal.opow_natCast, Nat.cast_ofNat]
      exact x.prop
    exact ⟨⟨k, uk, Subtype.ext (val_eq_iff.1 hk).symm
  let uk : Subfield Nimber := rk.toSubfieldOfFinite (Set.toFinite sk)
  exact rsk, fun x _ => uk.inv_mem

Aaron Liu (Aug 15 2025 at 00:55):

now to prove IsRing.two_two_pow

Violeta Hernández (Aug 15 2025 at 00:55):

...is this taking IsRing (2^2^n) as an assumption?

Aaron Liu (Aug 15 2025 at 00:55):

Violeta Hernández said:

...is this taking IsRing (2^2^n) as an assumption?

yes

Violeta Hernández (Aug 15 2025 at 00:55):

Really you have to prove both that it's a ring and a field in the induction

Aaron Liu (Aug 15 2025 at 00:56):

well fine

Violeta Hernández (Aug 15 2025 at 00:56):

So you're better off proving IsRing (*n) -> IsField (*n)

Aaron Liu (Aug 15 2025 at 00:56):

we can generalize it to 1 < n → IsRing n → IsField n

Violeta Hernández (Aug 15 2025 at 00:56):

Works for all n

Violeta Hernández (Aug 15 2025 at 00:56):

Just do 0 and 1 separately

Aaron Liu (Aug 15 2025 at 00:56):

I guess we can also prove the case where n ≤ 1

Violeta Hernández (Aug 15 2025 at 00:58):

It seems unreasonable that 1 in Iio (*2^2^n) can't be proven by just simp

Violeta Hernández (Aug 15 2025 at 00:59):

You could add 1 < *x iff 1 < x as a simp lemma

Violeta Hernández (Aug 15 2025 at 00:59):

Alongside variants for other order relations and for 0

Violeta Hernández (Aug 15 2025 at 01:00):

And for removing val instead, if you want to go the extra mile

Aaron Liu (Aug 15 2025 at 01:04):

Well I changed it to be IsRing → IsField

-- universe monomorphic
theorem IsField.of_isRing_natCast (n : ) (hn : IsRing.{u} (n)) : IsField.{u} (n) := by
  obtain hn | h1n := le_or_gt n 1
  · interval_cases n <;> simp
  let sk : Set Nimber := Set.Iio (n)
  have u1 : 1  sk := by simp [sk,  Nimber.of_one, h1n]
  let rk : Subring Nimber := {
    carrier := sk
    zero_mem' := (zero_lt_one' Nimber).trans u1
    one_mem' := u1
    neg_mem' := id
    add_mem' := @IsGroup.add_lt _ hn.toIsGroup
    mul_mem' := @IsRing.mul_lt _ hn
  }
  let uf (i : Fin n) : sk :=
    of (Nat.cast i.val), of.lt_iff_lt.2 (Nat.cast_lt.2 i.isLt)
  have fk : Finite sk := by
    apply Finite.of_surjective uf
    intro x
    obtain k, hk :  n : Nat, val x = n := Ordinal.lt_omega0.1
      ((of.lt_iff_lt.1 x.prop).trans (Ordinal.nat_lt_omega0 n))
    have uk : k < n := Nat.cast_lt.1 (hk.symm.trans_lt (Nimber.val_lt_iff.2 x.prop))
    exact ⟨⟨k, uk, Subtype.ext (val_eq_iff.1 hk).symm
  let uk : Subfield Nimber := rk.toSubfieldOfFinite (Set.toFinite sk)
  exact hn, fun x _ => uk.inv_mem

Aaron Liu (Aug 15 2025 at 01:04):

should I make it polymorphic

Violeta Hernández (Aug 15 2025 at 01:09):

Wdym

Violeta Hernández (Aug 15 2025 at 01:09):

Oh I see what you mean

Tristan Figueroa-Reid (Aug 15 2025 at 01:09):

universe polymorphic

Violeta Hernández (Aug 15 2025 at 01:09):

Nah

Violeta Hernández (Aug 15 2025 at 01:09):

We haven't really had a need to move things between universes

Violeta Hernández (Aug 15 2025 at 01:09):

We haven't even defined IGame.lift

Violeta Hernández (Aug 15 2025 at 01:25):

Btw perhaps you can prove Finite (Iio (*n)) by proving it's equal to (of o natCast) '' Iio n?

Violeta Hernández (Aug 15 2025 at 01:26):

This feels like the sort of goal that should be an aesop one liner

Violeta Hernández (Aug 15 2025 at 01:29):

In fact that might be one of the random "todo upstream" lemmas I left in the repo

Violeta Hernández (Aug 15 2025 at 01:30):

Check the nim file

Violeta Hernández (Aug 15 2025 at 01:48):

In fact, are we sure it's not easier to omit the subtypes and simply use docs#mul_right_injective

Aaron Liu (Aug 15 2025 at 01:53):

@Violeta Hernández if you have an easier proof then go for it!

Violeta Hernández (Aug 15 2025 at 02:08):

Currently on a bus

Django Peeters (Aug 15 2025 at 08:24):

I want to make a Field instance from IsField.

Tristan Figueroa-Reid (Aug 15 2025 at 08:25):

https://loogle.lean-lang.org/?q=IsField%2C+%E2%8A%A2+Field+_ ?

Django Peeters (Aug 15 2025 at 08:27):

I mean Nimber.IsField.

Django Peeters (Aug 15 2025 at 08:31):

Tristan Figueroa-Reid said:

https://loogle.lean-lang.org/?q=IsField%2C+%E2%8A%A2+Field+_ ?

Did you find this using loogle?

Django Peeters (Aug 15 2025 at 10:54):

I'm kinda stuck. Does this look anywhere close to good?
image.png

Aaron Liu (Aug 15 2025 at 12:20):

No that does not look good

Aaron Liu (Aug 15 2025 at 12:21):

You should make a subfield and then use docs#Subfield.toField

Aaron Liu (Aug 15 2025 at 12:47):

you should also not take hypotheses implicitly

Aaron Liu (Aug 15 2025 at 12:47):

they will never be found by unification

Aaron Liu (Aug 15 2025 at 12:48):

h' and h'' should be explicit arguments

Django Peeters (Aug 15 2025 at 12:57):

Why doesn't unification find them?

Aaron Liu (Aug 15 2025 at 12:58):

nothing to unify with

Django Peeters (Aug 15 2025 at 13:01):

I need to lookup what unification is

Violeta Hernández (Aug 15 2025 at 13:57):

Django Peeters said:

Why doesn't unification find them?

Unification finds things that are already in the expression. For instance if f : (n : Nat) -> (hn : n ≠ 0) -> Nat, you can generally write f _ hn, and n will get inferred from whatever hn is.

You usually can't unify proofs, since save for rare circumstances, your expression won't contain them built in.

Violeta Hernández (Aug 15 2025 at 13:58):

Django Peeters said:

I mean Nimber.IsField.

Use IsField.toSubfield, there's a type coercion on Subfield and a Field instance on that.

Violeta Hernández (Aug 15 2025 at 13:58):

But also, subtypes can be more annoying to work with than you expect. Are you sure you need to use them?

Aaron Liu (Aug 15 2025 at 14:01):

Violeta Hernández said:

But also, subtypes can be more annoying to work with than you expect. Are you sure you need to use them?

you seem to have some terrible experience with subtypes in the past

Violeta Hernández (Aug 15 2025 at 14:02):

Well it's more of a terrible experience with subtypes in the present

Violeta Hernández (Aug 15 2025 at 14:03):

Having to carry around 1 < x assumptions just because polynomials require a semiring to even be defined, having to work on Subfield because Lean won't let me declare a Field instance on Subring without creating diamonds

Violeta Hernández (Aug 15 2025 at 14:03):

And having to constantly carry around assumptions of type a < x

Violeta Hernández (Aug 15 2025 at 14:04):

It's much easier to state results in terms of Nimber, and use the subtypes as auxiliary constructions to get there

Aaron Liu (Aug 15 2025 at 14:04):

you still have to know a < x even without subtypes?

Aaron Liu (Aug 15 2025 at 14:04):

I guess it's the partial operations

Violeta Hernández (Aug 15 2025 at 14:04):

Yeah, but I don't have to carry these terms around in my expressions

Violeta Hernández (Aug 15 2025 at 14:05):

There's a reason we like to separate proofs and data

Violeta Hernández (Aug 15 2025 at 14:05):

And the subtype pattern sort of breaks that

Aaron Liu (Aug 15 2025 at 14:05):

sure I guess

Violeta Hernández (Aug 15 2025 at 14:05):

By the way, how much progress did you make yesterday?

Violeta Hernández (Aug 15 2025 at 14:06):

I can work on this for like an hour or so rn

Aaron Liu (Aug 15 2025 at 14:06):

I showed that the finite rings are fields

Django Peeters (Aug 15 2025 at 14:10):

Violeta Hernández said:

But also, subtypes can be more annoying to work with than you expect. Are you sure you need to use them?

I need some way to access the machinery from fieldtheory to prove b = a^c, so yes, I think I need to use them.

Django Peeters (Aug 15 2025 at 14:41):

Violeta Hernández said:

Django Peeters said:

I mean Nimber.IsField.

Use IsField.toSubfield, there's a type coercion on Subfield and a Field instance on that.

I can't find IsField.toSubfield in Mathlib, nor in the repo's master. Is it on one of the non-master-branches?

Violeta Hernández (Aug 15 2025 at 14:42):

It's in the vi.simplicity_5 branch I keep alluding to

Violeta Hernández (Aug 15 2025 at 14:42):

@Aaron Liu This is slightly simpler than your proof I think

theorem IsRing.toIsField_of_finite {n : } (h : IsRing.{u} (n)) : IsField.{u} (n) where
  inv_lt' x hx₀ hx := by
    obtain hn₁ | hn₁ := le_or_gt n 1
    · interval_cases n <;> simp_all
    have := (finite_Iio_of_natCast n).to_subtype
    let f (y : Iio (n)) : Iio (n) := x * y, h.mul_lt hx y.2
    have hf : Function.Injective f := fun _  by aesop
    obtain ⟨⟨y, hy' : _ < n, hy := Finite.surjective_of_injective hf
      1, (Nat.one_lt_cast (α := Ordinal)).2 hn₁
    convert hy'
    apply inv_eq_of_mul_eq_one_right
    simpa [f] using hy
  __ := h

Aaron Liu (Aug 15 2025 at 14:43):

good job

Violeta Hernández (Aug 15 2025 at 14:43):

The lemma finite_Iio_of_natCast is one I just added to the OrdinalAlias file

Aaron Liu (Aug 15 2025 at 14:43):

so you're hiding part of the proof in a new proof

Violeta Hernández (Aug 15 2025 at 14:43):

Well, if you want to be cynical about it

Violeta Hernández (Aug 15 2025 at 14:46):

Actually yeah, I think your proof might be shorter once you factor that out

Violeta Hernández (Aug 15 2025 at 14:53):

Yeah, once you factor that out the entire proof is just

theorem IsRing.toIsField_of_finite {n : } (h : IsRing.{u} (n)) : IsField.{u} (n) where
  inv_lt' x _ hx := by
    obtain hn₁ | hn₁ := le_or_gt n 1
    · interval_cases n <;> simp_all
    · exact ((h.toSubring ((Nat.one_lt_cast (α := Ordinal)).2 hn₁)).toSubfield_of_finite
        (finite_Iio_of_natCast n)).inv_mem hx
  __ := h

Violeta Hernández (Aug 15 2025 at 14:57):

Maybe subtypes aren't so bad

Aaron Liu (Aug 15 2025 at 14:58):

Violeta Hernández said:

Maybe subtypes aren't so bad

yeah they really aren't bad

Aaron Liu (Aug 15 2025 at 14:59):

people just don't like them

Django Peeters (Aug 15 2025 at 16:14):

Apparently mathlib doesn't have nth Prime n > 1 yet.

Violeta Hernández (Aug 15 2025 at 16:16):

We have docs#Nat.add_two_le_nth_prime

Django Peeters (Aug 15 2025 at 16:19):

How did you find this?

Aaron Liu (Aug 15 2025 at 16:19):

loogle probably

Violeta Hernández (Aug 15 2025 at 16:19):

Just searching around in the docs

Aaron Liu (Aug 15 2025 at 16:19):

or maybe docs

Django Peeters (Aug 15 2025 at 16:19):

Hmm, my search skills are also lacking :(

Aaron Liu (Aug 15 2025 at 16:19):

@loogle Nat.nth, Nat.Prime

loogle (Aug 15 2025 at 16:19):

:search: Nat.nth_prime_four_eq_eleven, Nat.nth_prime_one_eq_three, and 6 more

Django Peeters (Aug 15 2025 at 19:24):

Okay, I proved some lexicographic ordering.
image.png

Django Peeters (Aug 15 2025 at 20:28):

What's up with all these proof_wanted's instead of using sorry's?

Violeta Hernández (Aug 15 2025 at 21:08):

They're basically the same

Violeta Hernández (Aug 15 2025 at 21:09):

The difference is that you can't use a result marked as proof_wanted, while you can use a result proved with sorry

Violeta Hernández (Aug 15 2025 at 21:09):

Mathlib allows the former, but not the latter

Violeta Hernández (Aug 15 2025 at 21:10):

Django Peeters said:

Okay, I proved some lexicographic ordering.
image.png

Would it make sense to define Nimber.kappa_q as a function ℕ ⊗ₗ ℕ → Nimber, and prove it strictly monotone?

Django Peeters (Aug 15 2025 at 21:11):

Would it make more sense than taking the two inputs one by one?

Django Peeters (Aug 15 2025 at 21:13):

I don't know.

Django Peeters (Aug 15 2025 at 21:13):

I'll have to formalize more to see if this is the case.

Violeta Hernández (Aug 15 2025 at 21:15):

Django Peeters said:

Would it make more sense than taking the two inputs one by one?

Likely not, I just thought to ask

Django Peeters (Aug 15 2025 at 21:21):

It's linear in both arguments, right?

Violeta Hernández (Aug 15 2025 at 21:21):

Linear?

Violeta Hernández (Aug 15 2025 at 21:22):

You mean monotone?

Django Peeters (Aug 15 2025 at 21:22):

The tensor product

Violeta Hernández (Aug 15 2025 at 21:22):

Oh no I didn't mean the tensor product

Violeta Hernández (Aug 15 2025 at 21:22):

I meant the product of types (with the lexicographic ordering)

Django Peeters (Aug 15 2025 at 21:22):

My phone rendered ℕ ⊗ₗ ℕ.

Violeta Hernández (Aug 15 2025 at 21:22):

Yeah, that's how you write that in Lean

Aaron Liu (Aug 15 2025 at 21:22):

you wrote it with the tensor symbol

Violeta Hernández (Aug 15 2025 at 21:23):

oh wait you're right

Aaron Liu (Aug 15 2025 at 21:23):

ℕ ×ₗ ℕ

Violeta Hernández (Aug 15 2025 at 21:23):

I meant that yeah

Django Peeters (Aug 15 2025 at 21:23):

No, my phone rendered ℕ ⊗□ ℕ.

Aaron Liu (Aug 15 2025 at 21:23):

mine too

Django Peeters (Aug 15 2025 at 21:24):

Wut

Violeta Hernández (Aug 15 2025 at 21:24):

Well to be more explicit I mean Lex (ℕ × ℕ)

Django Peeters (Aug 15 2025 at 21:24):

Why is it a box, that's so confusing.

Aaron Liu (Aug 15 2025 at 21:24):

but from context clues I could tell that the box was supposed to be a subscript l and the tensor was supposed to be a product

Violeta Hernández (Aug 15 2025 at 21:39):

I've got time (and energy) to work on this again

Violeta Hernández (Aug 15 2025 at 21:45):

Just proved that simplestIrreducible is monic in a field

Aaron Liu (Aug 15 2025 at 21:46):

I'll see if I can show that 2 ^ 2 ^ n is a ring for finite n

Violeta Hernández (Aug 15 2025 at 21:47):

reminder that the way you prove that is by simultaneously proving simplestIrreducible (∗(2^2^n)) = X^2 + X + (∗(2^(2^n - 1)))

Aaron Liu (Aug 15 2025 at 21:47):

I don't remember how to do this

Aaron Liu (Aug 15 2025 at 21:47):

do you know of a good place to read about it

Aaron Liu (Aug 15 2025 at 21:47):

or is it simple enough that you can just explain it

Aaron Liu (Aug 15 2025 at 21:48):

over Zulip

Violeta Hernández (Aug 15 2025 at 21:48):

ONAG gives a good enough explanation but it's also simple enough for me to do it

Violeta Hernández (Aug 15 2025 at 21:48):

IsField.X_sq_lt_simplestIrreducible proves all linear polynomials have roots

Aaron Liu (Aug 15 2025 at 21:48):

alright I'll see what ONAG has to say about this

Violeta Hernández (Aug 15 2025 at 21:48):

Then you prove polynomials X^2 + a have roots by that argument about the square function being surjective and thus injective

Violeta Hernández (Aug 15 2025 at 21:49):

For X^2 + X + a it's some algebra I don't remember and yeah you should just check ONAG

Aaron Liu (Aug 15 2025 at 21:50):

can I import some field theory

Violeta Hernández (Aug 15 2025 at 21:50):

Yeah sure

Violeta Hernández (Aug 15 2025 at 21:50):

This is presumably going on another file anyways

Violeta Hernández (Aug 15 2025 at 21:51):

Do we actually have "all char 2 finite fields have all square roots" in Mathlib?

Aaron Liu (Aug 15 2025 at 21:51):

probably

Aaron Liu (Aug 15 2025 at 21:51):

I'll take a look

Aaron Liu (Aug 15 2025 at 21:54):

is it docs#PerfectRing.ofFiniteOfIsReduced

Aaron Liu (Aug 15 2025 at 21:54):

mathlib generality makes everything slightly hard to find

Violeta Hernández (Aug 15 2025 at 21:56):

Perfect ring?

Aaron Liu (Aug 15 2025 at 21:56):

you can read the definition

Violeta Hernández (Aug 15 2025 at 21:56):

Ohh that x^p is bijective

Violeta Hernández (Aug 15 2025 at 21:58):

Ok so IsField.isRoot_simplestIrreducible is literally the only sorry remaining in my branch

Violeta Hernández (Aug 15 2025 at 21:58):

I have a paper pseudo-Lean proof over here somewhere

Violeta Hernández (Aug 15 2025 at 21:58):

Shouldn't take more than like two hours

Violeta Hernández (Aug 15 2025 at 21:58):

(clueless)

Aaron Liu (Aug 15 2025 at 21:58):

just make sure to sleep

Violeta Hernández (Aug 15 2025 at 21:59):

I slept pretty well last night, dw

Violeta Hernández (Aug 15 2025 at 22:00):

Had some personal life situations going on which have now been resolved

Aaron Liu (Aug 15 2025 at 22:00):

great

Aaron Liu (Aug 15 2025 at 22:00):

keep it up

Violeta Hernández (Aug 15 2025 at 22:06):

btw did no one figure out a better name for simplestIrreducible

Violeta Hernández (Aug 15 2025 at 22:06):

that's 19 characters long I don't like it

Aaron Liu (Aug 15 2025 at 22:17):

ONAG is omitting a lot and it's a bit tricky to piece it all together

Violeta Hernández (Aug 15 2025 at 22:18):

perhaps Siegel does it better

Aaron Liu (Aug 15 2025 at 22:18):

perhaps

Aaron Liu (Aug 15 2025 at 22:18):

but I would have to get out another book

Violeta Hernández (Aug 15 2025 at 22:18):

let me get the screencap

Violeta Hernández (Aug 15 2025 at 22:19):

image.png

Violeta Hernández (Aug 15 2025 at 22:23):

Wait I'm struggling

Violeta Hernández (Aug 15 2025 at 22:23):

How do I prove this
image.png

Aaron Liu (Aug 15 2025 at 22:24):

you might have to explain why you think this is true

Violeta Hernández (Aug 15 2025 at 22:24):

Well the reason I thought it was true is because x.simplestIrreducible doesn't split

Violeta Hernández (Aug 15 2025 at 22:24):

But clearly I'm missing something

Violeta Hernández (Aug 15 2025 at 22:24):

Because this is an inequality of values, not of polynomials

Violeta Hernández (Aug 15 2025 at 22:25):

Siegel doesn't really explain this either? Or maybe I'm not understanding him
image.png

Violeta Hernández (Aug 15 2025 at 22:26):

...I think I see the missing step, though

Aaron Liu (Aug 15 2025 at 22:26):

I really don't

Violeta Hernández (Aug 15 2025 at 22:27):

∏ i, (x + f i) = eval (∏ i, (X + C (f i))) which is a polynomial of degree n, which we know is equal to oeval, which we know is less of (val x ^ n) = x ^ n

Violeta Hernández (Aug 15 2025 at 22:28):

Like, you have to run the argument backwards

Aaron Liu (Aug 15 2025 at 22:28):

great, go do that then

Violeta Hernández (Aug 15 2025 at 22:28):

You don't have to tell me!

Violeta Hernández (Aug 15 2025 at 22:28):

Thanks for the rubberducking

Violeta Hernández (Aug 15 2025 at 22:35):

wait no that's nonsense

Aaron Liu (Aug 15 2025 at 22:36):

oh no

Violeta Hernández (Aug 15 2025 at 22:36):

We don't want to prove that this is less than x ^ n, we want to prove that it's unequal to f(x)

Violeta Hernández (Aug 15 2025 at 22:36):

Translating to the Siegel notation

Violeta Hernández (Aug 15 2025 at 22:36):

I don't see why f(γ)f(γ)f'(\gamma) \ne f(\gamma)

Aaron Liu (Aug 15 2025 at 22:36):

I still don't know what ff is

Violeta Hernández (Aug 15 2025 at 22:36):

The simplest irreducible polynomial

Violeta Hernández (Aug 15 2025 at 22:37):

And ff' is some other polynomial that splits and all of whose roots are less than γ\gamma

Violeta Hernández (Aug 15 2025 at 22:37):

Obviously fff' \ne f since ff' splits and ff doesn't

Violeta Hernández (Aug 15 2025 at 22:37):

But f(γ)f(γ)f'(\gamma) \ne f(\gamma) isn't a consequence of that

Aaron Liu (Aug 15 2025 at 22:38):

what are they polynomials in

Aaron Liu (Aug 15 2025 at 22:38):

polynomials in γ\gamma?

Violeta Hernández (Aug 15 2025 at 22:39):

Yep

Violeta Hernández (Aug 15 2025 at 22:39):

In the Siegel treatment, at least

Aaron Liu (Aug 15 2025 at 22:39):

and γ\gamma is a field

Aaron Liu (Aug 15 2025 at 22:39):

ok thinking time

Violeta Hernández (Aug 15 2025 at 22:41):

I'm pretty sure the other part of the proof is correct

Violeta Hernández (Aug 15 2025 at 22:41):

"Every g(γ)g'(\gamma) is an excludent for γn\gamma^{\boxed{n}}"

Violeta Hernández (Aug 15 2025 at 22:42):

My only gripe is "g(γ)g(\gamma) itself is not"

Aaron Liu (Aug 15 2025 at 22:45):

wait what's n

Violeta Hernández (Aug 15 2025 at 22:45):

The degree of ff

Aaron Liu (Aug 15 2025 at 22:47):

everything coming before the simplest irreducible has to split?

Aaron Liu (Aug 15 2025 at 22:48):

wait what's the definition of "simplest irreducible"

Aaron Liu (Aug 15 2025 at 22:48):

it can't literally be that since the polynomial X is obviously irreducible

Aaron Liu (Aug 15 2025 at 22:48):

along with all the other linear polynomials

Violeta Hernández (Aug 15 2025 at 22:51):

Aaron Liu said:

wait what's the definition of "simplest irreducible"

Lexicographically first polynomial in γ\gamma of non-zero degree without roots less than γ\gamma

Violeta Hernández (Aug 15 2025 at 22:51):

Again, the name is bad

Violeta Hernández (Aug 15 2025 at 22:51):

Please give it a better one

Aaron Liu (Aug 15 2025 at 22:52):

I think that means everything before it splits

Violeta Hernández (Aug 15 2025 at 22:52):

Yep

Violeta Hernández (Aug 15 2025 at 22:52):

That's not what's in contention

Aaron Liu (Aug 15 2025 at 22:53):

so it's the first polynomial which doesn't split

Aaron Liu (Aug 15 2025 at 22:53):

maybe that could be inspiration for a better name

Violeta Hernández (Aug 15 2025 at 22:53):

And as a corollary, it has no roots less than γ\gamma

Violeta Hernández (Aug 15 2025 at 22:53):

Is there a word for "polynomial that doesn't split"?

Violeta Hernández (Aug 15 2025 at 22:54):

what if we just name it something generic and ambiguous like "characteristic polynomial"

Aaron Liu (Aug 15 2025 at 22:55):

ok I think I proved the thing

Aaron Liu (Aug 15 2025 at 22:55):

so we need to show that f(γ)+f(γ)0f'(\gamma) + f(\gamma) \ne 0

Violeta Hernández (Aug 15 2025 at 22:55):

Yep

Aaron Liu (Aug 15 2025 at 22:56):

but ff' is monic and ff is monic and they have the same degree so f+ff' + f has degree less than nn

Aaron Liu (Aug 15 2025 at 22:56):

so it splits

Violeta Hernández (Aug 15 2025 at 22:56):

Oh!

Violeta Hernández (Aug 15 2025 at 22:56):

That's it!

Violeta Hernández (Aug 15 2025 at 22:59):

So really the fact that ff' splits was a red herring

Violeta Hernández (Aug 15 2025 at 23:03):

Well, not quite

Violeta Hernández (Aug 15 2025 at 23:03):

You do need to use that to prove fff' \ne f

Violeta Hernández (Aug 15 2025 at 23:37):

Alright! Just proved this part of the argument in Lean.

Violeta Hernández (Aug 15 2025 at 23:37):

Other part should not be much more complicated.

Violeta Hernández (Aug 16 2025 at 00:32):

I'm mostly done, though there's a bit of a hefty subgoal I realize I have to prove, namely:

theorem forall_lt_oeval_iff {x : Nimber} (hx₁ : 1 < x) {P : Ordinal  Prop}
    {p : Nimber[X]} (hpk :  k, p.coeff k < x) :
    ( y < oeval x p, P y)   q < p, ( k, q.coeff k < x)  P (oeval x q) := sorry

Aaron Liu (Aug 16 2025 at 00:33):

have fun

Violeta Hernández (Aug 16 2025 at 00:33):

anything involving the CNF is not fun

Violeta Hernández (Aug 16 2025 at 13:36):

Hi I'm back

Violeta Hernández (Aug 16 2025 at 13:36):

Good news: the proof of the last simplest extension theorem is pretty much done

Violeta Hernández (Aug 16 2025 at 13:36):

Bad news: by "pretty much done" I mean "barring some really annoying lemmas about oeval I haven't proven"

Aaron Liu (Aug 16 2025 at 13:37):

did you have fun

Violeta Hernández (Aug 16 2025 at 13:37):

No :frown:

Violeta Hernández (Aug 16 2025 at 13:37):

I have like an hour left to work on this before I have to take another bus

Violeta Hernández (Aug 16 2025 at 13:37):

I'll try to leave all the sorries contained to oeval

Violeta Hernández (Aug 16 2025 at 13:38):

So maybe one of you can try to fill them in for me

Aaron Liu (Aug 16 2025 at 13:42):

I'm stuck trying to figure out how to show that IsRing 2

Django Peeters (Aug 16 2025 at 13:43):

aesop?

Violeta Hernández (Aug 16 2025 at 13:43):

You are trying to prove IsRing (∗2), right? And not IsRing 2 = IsRing 0

Violeta Hernández (Aug 16 2025 at 13:44):

Presumably we're missing a lemma x < ∗2 ↔ x = 0 ∨ x = 1

Aaron Liu (Aug 16 2025 at 13:44):

that should probably be automatically generated

Violeta Hernández (Aug 16 2025 at 13:44):

I'd prove it by showing ∗2 = succ (∗1), which should be def-eq to the statement on Ordinal

Violeta Hernández (Aug 16 2025 at 13:44):

We already have the lemma x ≤ 1 ↔ x = 0 ∨ x = 1

Violeta Hernández (Aug 16 2025 at 13:45):

Aaron Liu said:

that should probably be automatically generated

I wish there was a way to make interval_cases work with stuff like this

Aaron Liu (Aug 16 2025 at 13:45):

unfortunately it's not extensible

Violeta Hernández (Aug 16 2025 at 13:47):

Yeah, simple enough

@[simp] theorem succ_one : succ 1 = 2 := Ordinal.succ_one

theorem lt_two_iff {x : Nimber} : x < 2  x = 0  x = 1 := by
  rw [ succ_one, lt_succ_iff, le_one_iff]

Violeta Hernández (Aug 16 2025 at 13:48):

Arguably you don't even need the latter lemma, it's easy enough to simply rewrite ∗2 = succ 1 when it comes up

Violeta Hernández (Aug 16 2025 at 14:23):

Violeta Hernández said:

I'll try to leave all the sorries contained to oeval

I think I achieved this

Aaron Liu (Aug 16 2025 at 14:23):

great

Aaron Liu (Aug 16 2025 at 15:00):

how do I show ∗2 * ∗2 = ∗3

Violeta Hernández (Aug 16 2025 at 15:01):

Brute casework

Violeta Hernández (Aug 16 2025 at 15:03):

  • This can't be 0 because ∗2 ≠ 0 (and nimbers are a domain)
  • This can't be 1 because ∗2 ≠ 1 (and squaring is injective)
  • This can't be 2 because ∗2 ≠ ∗1 (and nimbers are a domain)
  • This is less or equal to ∗3, since ∗a * ∗2 + ∗2 * ∗b + ∗a * ∗b ≠ ∗3 for a, b ≤ 1.

Violeta Hernández (Aug 16 2025 at 15:08):

To be even more explicit,

  • ∗a * ∗2 + ∗2 * ∗b + ∗a * ∗b = 0 when a = b = 0
  • ∗a * ∗2 + ∗2 * ∗b + ∗a * ∗b = 1 when a = 0, b = 1 or viceversa
  • ∗a * ∗2 + ∗2 * ∗b + ∗a * ∗b = ∗2 when a = b = 1

It might be faster to prove ∗2 * ∗2 = ∗3 using these subgoals.

Aaron Liu (Aug 16 2025 at 15:08):

I can figure out a case bash

Aaron Liu (Aug 16 2025 at 15:08):

I was just thinking surely there must be an easier way

Violeta Hernández (Aug 16 2025 at 15:08):

Hm no I don't think so

Violeta Hernández (Aug 16 2025 at 15:09):

Obviously once we've proven correctness of NatNimber we could just use that and decidability

Violeta Hernández (Aug 16 2025 at 15:09):

But that'd be putting the cart before the horse

Aaron Liu (Aug 16 2025 at 15:21):

Violeta Hernández said:

image.png

ok I still don't get it

Violeta Hernández (Aug 16 2025 at 15:21):

What's the thing you're confused about?

Aaron Liu (Aug 16 2025 at 15:22):

how do you get the next field

Violeta Hernández (Aug 16 2025 at 15:23):

Oh

Violeta Hernández (Aug 16 2025 at 15:23):

Ok so, suppose ∗(2^2^n) is a field

Violeta Hernández (Aug 16 2025 at 15:23):

Then you can write any element < ∗(2^2^(n+1)) in the form ∗(a * 2^2^n + b), for a, b < 2^2^n

Aaron Liu (Aug 16 2025 at 15:24):

why

Violeta Hernández (Aug 16 2025 at 15:25):

This is just a lemma about the natural numbers

Aaron Liu (Aug 16 2025 at 15:25):

makes sense

Violeta Hernández (Aug 16 2025 at 15:25):

A number less than x^2 can be written as a * x + b for a, b < x

Aaron Liu (Aug 16 2025 at 15:25):

something something docs#finProdFinEquiv

Violeta Hernández (Aug 16 2025 at 15:25):

By IsGroup.mul_add_eq_of_lt and IsRing.mul_eq_of_lt, you can show ∗(a * 2^2^n + b) = ∗a * ∗(2^2^n) + ∗b

Violeta Hernández (Aug 16 2025 at 15:26):

Which means you can multiply two nimbers less than ∗(2^2^(n+1)) by just expanding this entire thing out

Aaron Liu (Aug 16 2025 at 15:27):

great that works

Violeta Hernández (Aug 16 2025 at 15:27):

And you can show that what you get is less than 2^2^(n+1)

Aaron Liu (Aug 16 2025 at 15:28):

believable

Violeta Hernández (Aug 16 2025 at 15:28):

That last part involves a lot of calculations and a few more instances of IsGroup.mul_add_eq_of_lt and IsRing.mul_eq_of_lt so you might want to do it on paper first

Violeta Hernández (Aug 16 2025 at 17:06):

Violeta Hernández said:

I'm mostly done, though there's a bit of a hefty subgoal I realize I have to prove, namely:

theorem forall_lt_oeval_iff {x : Nimber} (hx₁ : 1 < x) {P : Ordinal  Prop}
    {p : Nimber[X]} (hpk :  k, p.coeff k < x) :
    ( y < oeval x p, P y)   q < p, ( k, q.coeff k < x)  P (oeval x q) := sorry

This is literally the last sorry I've got

Violeta Hernández (Aug 16 2025 at 17:06):

(Well, that and some other sublemmas I think I'll need to show this)

Violeta Hernández (Aug 16 2025 at 18:07):

I realize I can rename simplestIrreducible to leastIrreducible now that I've define the ordering on Nimber[X] proper

Violeta Hernández (Aug 16 2025 at 18:07):

The name still has issues but at least it's shorter

Django Peeters (Aug 16 2025 at 18:11):

How about leastNotSplit?

Violeta Hernández (Aug 16 2025 at 18:11):

hmmmmm

Violeta Hernández (Aug 16 2025 at 18:12):

Yeah that's even better actually

Aaron Liu (Aug 16 2025 at 20:05):

Let us use, as sometimes customary, εα\varepsilon_{\alpha} for the α\alpha th solution of α=[ωα]\alpha = [\omega^{\alpha}] (counting from α=0\alpha = 0), then ζα\zeta_{\alpha} for the α\alpha th solution of α=εα\alpha = \varepsilon_{\alpha}, ηα\eta_{\alpha} for the α\alpha th solution of α=ζα\alpha = \zeta_{\alpha}, and so on through the (transfinite) Greek Alphabet. We shall use the symbol α\boxed{\alpha} to denote the α\alpha th letter of this Alphabet. Then we can state:

I love this guy

Django Peeters (Aug 16 2025 at 20:06):

Lol, Conway is legendary

Violeta Hernández (Aug 16 2025 at 20:06):

Ah yes, the Veblen function αβ\boxed{\alpha}_{\beta}, just as I remember it

Aaron Liu (Aug 16 2025 at 20:08):

this is immediately not enough as in the next paragraph I see

(b) the least α\alpha with α0=α\boxed{\alpha}_0 = \alpha.

Violeta Hernández (Aug 16 2025 at 20:10):

I think that's a weird way of referring to the ordinal φ(1,0,0)\varphi(1, 0, 0)

Aaron Liu (Aug 16 2025 at 20:10):

yes that's how I interpreted it

Aaron Liu (Aug 16 2025 at 20:10):

I think it has a name

Aaron Liu (Aug 16 2025 at 20:10):

https://en.wikipedia.org/wiki/Feferman%E2%80%93Sch%C3%BCtte_ordinal

Violeta Hernández (Aug 16 2025 at 20:11):

Oh yeah!

Violeta Hernández (Aug 16 2025 at 20:11):

We actually have that in Mathlib

Violeta Hernández (Aug 16 2025 at 20:11):

docs#Ordinal.gamma

Violeta Hernández (Aug 16 2025 at 20:11):

(this ordinal is gamma 0)

Violeta Hernández (Aug 16 2025 at 20:30):

Ok so I'm actually kind of stuck with these last theorems

Aaron Liu (Aug 16 2025 at 20:30):

oh no

Violeta Hernández (Aug 16 2025 at 20:34):

These are the last sorries
image.png

Aaron Liu (Aug 16 2025 at 20:35):

try induction

Violeta Hernández (Aug 16 2025 at 20:35):

I know it's induction!

Violeta Hernández (Aug 16 2025 at 20:36):

I'm just struggling to set it up

Aaron Liu (Aug 16 2025 at 20:36):

you can set it up later

Aaron Liu (Aug 16 2025 at 20:36):

just focus on proving the theorem for now

Violeta Hernández (Aug 16 2025 at 20:36):

What I mean is, I think there's other auxiliary results that I need to prove first

Aaron Liu (Aug 16 2025 at 20:37):

usually what I do is I just do it and then if I find out I need an auxiliary result in the course of the proof I recursively start proving the auxiliary result

Violeta Hernández (Aug 16 2025 at 20:41):

Let me try and write the pen-and-paper argument for these theorems.

Violeta Hernández (Aug 16 2025 at 20:45):

oeval_lt_of_lt: the hypothesis p < q implies there's some n such that all higher coefficients of p and q match. So we can remove then to get p' and q', and it suffices to prove oeval x p' < oeval x q'. This is true because oeval x p' = ∗(x.val ^ n * (p.coeff n).val + (oeval x p.eraseLead).val) < ∗(x.val ^ n * (p.coeff n + 1)) ≤ ∗(x.val ^ n * (q.coeff n).val) ≤ oeval x q'.

Violeta Hernández (Aug 16 2025 at 20:45):

So the main issue is that whole p' and q' thing

Aaron Liu (Aug 16 2025 at 20:47):

Have you started the proof yet?

Aaron Liu (Aug 16 2025 at 20:47):

Just do induction

Violeta Hernández (Aug 16 2025 at 20:47):

...on n?

Aaron Liu (Aug 16 2025 at 20:48):

On n, or on p, or q, or even on h

Aaron Liu (Aug 16 2025 at 20:49):

Well not n actually

Violeta Hernández (Aug 16 2025 at 20:50):

You know actually I think the other sorry might be much easier

Violeta Hernández (Aug 16 2025 at 20:50):

I'll start there

Aaron Liu (Aug 16 2025 at 20:51):

if it's too hard I can just do them for you

Violeta Hernández (Aug 16 2025 at 20:51):

That one should just be induction on p.degree

Violeta Hernández (Aug 16 2025 at 20:51):

Aaron Liu said:

if it's too hard I can just do them for you

Ok that's a bit condescending, but I could use the help

Aaron Liu (Aug 16 2025 at 20:51):

Violeta Hernández said:

Aaron Liu said:

if it's too hard I can just do them for you

Ok that's a bit condescending, but I could use the help

oh sorry I just want to help

Violeta Hernández (Aug 16 2025 at 20:51):

I've pushed to the simplicity_5 branch I've been using

Django Peeters (Aug 16 2025 at 20:52):

How much did you formalize today?

Violeta Hernández (Aug 16 2025 at 20:52):

Well, this is all that's missing for the full simplest extension theorem

Violeta Hernández (Aug 16 2025 at 21:37):

Violeta Hernández said:

You know actually I think the other sorry might be much easier

Oh yeah it totally was

Violeta Hernández (Aug 16 2025 at 21:37):

So we have a single sorry now

Aaron Liu (Aug 16 2025 at 21:37):

I am working on it

Violeta Hernández (Aug 16 2025 at 21:37):

I'll leave you to it!

Aaron Liu (Aug 16 2025 at 21:39):

after seeing the definition of oeval I suddenly understand why everything is so difficult

Violeta Hernández (Aug 16 2025 at 21:40):

You're more than welcome to come up with something better

Aaron Liu (Aug 16 2025 at 21:40):

oh I probably won't change it

Violeta Hernández (Aug 16 2025 at 21:40):

The idea is that you're supposed to be working using oeval_C_mul_X_pow_add

Aaron Liu (Aug 16 2025 at 21:41):

makes sense

Django Peeters (Aug 16 2025 at 21:44):

I'm gonna switch back to C++ tomorrow. Maybe we'll know alpha(263) in the near future.

Aaron Liu (Aug 16 2025 at 21:44):

anticipation

Aaron Liu (Aug 17 2025 at 00:50):

@Violeta Hernández I did it!

theorem oeval_lt_oeval {x : Nimber} {p q : Nimber[X]} (h : p < q)
    (hpk :  k, p.coeff k < x) (hqk :  k, q.coeff k < x) : oeval x p < oeval x q := by
  rw [Nimber.Lex.lt_def] at h
  obtain n, hnl, hnr := h
  have hx : 0 < x := (zero_le (p.coeff 0)).trans_lt (hpk 0)
  induction hk : p.natDegree - n using Nat.caseStrongRecOn generalizing p q with
  | zero =>
    rw [Nat.sub_eq_zero_iff_le] at hk
    apply (mul_coeff_le_oeval x q n).trans_lt'
    have hpn : (erase n p).degree < n := by
      apply lt_of_le_of_ne ((p.degree_erase_le n).trans
        (degree_le_natDegree.trans (WithBot.coe_mono hk)))
      intro hdd
      exact coeff_ne_zero_of_eq_degree hdd (erase_same p n)
    rw [ p.monomial_add_erase n,  C_mul_X_pow_eq_monomial]
    rw [oeval_C_mul_X_pow_add hpn, of.lt_iff_lt]
    have hpe (k : Nat) : (p.erase n).coeff k < x := by
      rw [p.coeff_erase]
      split <;> simp [hpk, hx]
    apply (add_lt_add_left (val_lt_iff.2 (oeval_lt_opow hpe hpn)) _).trans_le
    rw [ mul_add_one]
    apply mul_le_mul_left'
    rwa [add_one_le_iff, val.lt_iff_lt]
  | ind k ih =>
    have hp0 : p  0 := by rintro rfl; simp at hk
    have hq0 : q  0 := by rintro rfl; simp at hnr
    have hqd : n  q.natDegree := by
      by_contra! hn
      apply coeff_eq_zero_of_natDegree_lt at hn
      simp [hn] at hnr
    have hpqd : p.natDegree  q.natDegree := by
      rw [Polynomial.natDegree_le_iff_coeff_eq_zero]
      intro N hN
      exact (hnl N (hqd.trans_lt hN)).trans (coeff_eq_zero_of_natDegree_lt hN)
    replace hqd : n < q.natDegree := by
      apply lt_of_le_of_ne hqd
      rintro rfl
      simp [hpqd] at hk
    replace hpqd : p.natDegree = q.natDegree := by
      apply Polynomial.natDegree_eq_of_le_of_coeff_ne_zero hpqd
      rw [hnl _ hqd]
      simp [hq0]
    rw [ p.eraseLead_add_C_mul_X_pow, add_comm p.eraseLead,
       q.eraseLead_add_C_mul_X_pow, add_comm q.eraseLead]
    rw [oeval_C_mul_X_pow_add ((degree_eraseLead_lt hp0).trans_le degree_le_natDegree),
      oeval_C_mul_X_pow_add ((degree_eraseLead_lt hq0).trans_le degree_le_natDegree)]
    rw [hpqd,  coeff_natDegree, hpqd, (hnl _ hqd), coeff_natDegree, of.lt_iff_lt,
      add_lt_add_iff_left, val.lt_iff_lt]
    by_cases hpe : p.eraseLead = 0
    · rw [hpe, oeval_zero]
      rw [ eraseLead_coeff_of_ne n (hqd.trans_eq hpqd.symm).ne, hpe, coeff_zero,
         eraseLead_coeff_of_ne n hqd.ne] at hnr
      have hqe : q.eraseLead  0 := fun h => by simp [h] at hnr
      apply (opow_natDegree_le_oeval x hqe).trans_lt'
      rw [ val_lt_iff, val_zero,  Ordinal.opow_natCast]
      apply Ordinal.opow_pos
      rwa [ of_lt_iff, of_zero]
    apply ih (p.eraseLead.natDegree - n)
    · rw [Nat.sub_le_iff_le_add,  Nat.lt_succ_iff,
         Nat.succ_add,  hk, Nat.sub_add_cancel (hqd.le.trans_eq hpqd.symm)]
      exact p.eraseLead_natDegree_lt_or_eraseLead_eq_zero.resolve_right hpe
    · intro u
      rw [eraseLead_coeff]
      split <;> simp [hx, hpk]
    · intro u
      rw [eraseLead_coeff]
      split <;> simp [hx, hqk]
    · intro u hu
      rw [eraseLead_coeff, eraseLead_coeff, hpqd]
      split
      · rfl
      · exact hnl u hu
    · rwa [eraseLead_coeff, eraseLead_coeff, hpqd, if_neg hqd.ne, if_neg hqd.ne]
    · rfl

Aaron Liu (Aug 17 2025 at 00:53):

I did in fact end up using induction

Violeta Hernández (Aug 17 2025 at 00:58):

Awesome!

Violeta Hernández (Aug 17 2025 at 00:58):

I'll take a look once I get home

Violeta Hernández (Aug 17 2025 at 00:58):

I'm thinking about how to PR all of this

Violeta Hernández (Aug 17 2025 at 00:59):

Since it's like a thousand lines of code

Violeta Hernández (Aug 17 2025 at 01:00):

I feel like there's an argument for separately PRing

  • lemmas on polynomials
  • the order relation on polynomials
  • oeval
  • leastNotSplit

Violeta Hernández (Aug 17 2025 at 01:04):

...of course there's the question, who is even going to review this?

Violeta Hernández (Aug 17 2025 at 01:05):

@Aaron Liu @Django Peeters would you be up to the task?

Django Peeters (Aug 17 2025 at 07:39):

Uuuuuhm I can give it a try

Django Peeters (Aug 17 2025 at 11:41):

Have you ever used a VPS before?

Django Peeters (Aug 17 2025 at 12:30):

A virtual private server, I'm gonna try it for alpha(263) cuz it might take 3 days.

Aaron Liu (Aug 17 2025 at 12:40):

How do you know it won't take forever

Django Peeters (Aug 17 2025 at 13:22):

Theoretically, because Lenstra proved so, and practically, debugging and optimization :melting_face:

Violeta Hernández (Aug 17 2025 at 15:08):

Just to summarize some DMs between me and Aaron: we should leave it as a TODO to more generally define the function (Ordinal →ₒ Ordinal) → Ordinalthat evaluates a CNF; then oeval can be a special case of it.

Violeta Hernández (Aug 17 2025 at 15:39):

Opened #196 which simply splits our existing Simplicity file into three.

Violeta Hernández (Aug 17 2025 at 16:08):

(I'll be slowly moving stuff from my work branch into master, but while that happens, I'll get working on proving the nimbers are alg closed!)

Django Peeters (Aug 17 2025 at 16:12):

Do I need to pay attention to something specific when reviewing?

Violeta Hernández (Aug 17 2025 at 16:36):

Well, for a general PR, it's mostly about making sure the API makes sense, and the proofs are as simple as can be.

Violeta Hernández (Aug 17 2025 at 16:37):

I'm inclined to say this file splitting one is uncontroversial (save for the folder rename, which I agree with), so I'll go ahead and merge it.

Violeta Hernández (Aug 17 2025 at 16:37):

(well, if Junyan Xu doesn't have anything more to say)

Violeta Hernández (Aug 17 2025 at 16:43):

To prove that the nimbers are algebraically closed, I'll introduce a definition algClosure x, e.g. the least nimber containing all sums, products, and roots of polynomials with coefficients less than x. The idea is that if we suppose all non-constant polynomials < p have roots but p doesn't, and if m is larger than the coefficients of p, then algClosure m is a field with leastNotSplit (algClosure m) = p, so p.eval (algClosure m) = 0, a contradiction.

Violeta Hernández (Aug 17 2025 at 16:44):

Now the question is, is it worth adding the other closures? Namely groupClosure, ringClosure, and fieldClosure? Or should I just have this last one?

Django Peeters (Aug 17 2025 at 16:44):

I haven't seen the literature use those closures...

Violeta Hernández (Aug 17 2025 at 16:45):

groupClosure x in particular would be a bit silly, it's just the next power of 2

Django Peeters (Aug 17 2025 at 16:46):

Is there a characterization of nimbers which are rings? Or is that already too complicated?

Violeta Hernández (Aug 17 2025 at 16:46):

If there is, then it's not known.

Aaron Liu (Aug 17 2025 at 16:46):

Well the finite rings are 2^2^n

Django Peeters (Aug 17 2025 at 16:47):

For now, I don't think we need those other closures.

Django Peeters (Aug 17 2025 at 16:51):

Btw, here are some speed gains:
http://www.neverendingbooks.org/aaron-siegel-on-transfinite-number-hacking/
now becomes
image.png

Violeta Hernández (Aug 17 2025 at 16:52):

That's awesome! You should probably communicate this to Siegel.

Django Peeters (Aug 17 2025 at 16:53):

Is he on this Zulip chat?

Violeta Hernández (Aug 17 2025 at 16:54):

No, I don't think so.

Violeta Hernández (Aug 17 2025 at 16:55):

Perhaps not the most professional avenue, but he's in the Gamesters Discord server

Violeta Hernández (Aug 17 2025 at 16:55):

I can DM a link to that

Django Peeters (Aug 17 2025 at 16:59):

I'm gonna go with e-mail, that seems appropriate.

Violeta Hernández (Aug 17 2025 at 16:59):

Yeah, that tracks

Violeta Hernández (Aug 17 2025 at 16:59):

I couldn't find his e-mail though

Django Peeters (Aug 17 2025 at 19:10):

Me neither :/

Violeta Hernández (Aug 17 2025 at 19:24):

I did it.
image.png

Aaron Liu (Aug 17 2025 at 19:25):

congrulatis

Violeta Hernández (Aug 17 2025 at 19:51):

Aaron Liu said:

this seems like just a regular argument, which is not by contradiction

Btw it was a proof by contradiction. If you have a polynomial without roots, you can build some huge nimber such that it's a root of that, contradiction. But if you know that it has a root, you know nothing about what it is!

Violeta Hernández (Aug 17 2025 at 19:59):

Btw, a fun fact I haven't seen explicitly mentioned in the literature. Check this out:
image.png

Aaron Liu (Aug 17 2025 at 20:01):

it seems that just by taking the algebraic closure you can get an algebraically closed nimber above any other

Violeta Hernández (Aug 17 2025 at 20:01):

Indeed

Violeta Hernández (Aug 17 2025 at 20:01):

I mean, it's slightly nontrivial to show the algebraic closure is a set, rather than a class

Violeta Hernández (Aug 17 2025 at 20:01):

And in any case, it might be an absolutely huge set!

Aaron Liu (Aug 17 2025 at 20:02):

well the algebraic closure of a set-sized field is set-sized

Violeta Hernández (Aug 17 2025 at 20:02):

Hmm fair enough

Violeta Hernández (Aug 17 2025 at 20:03):

Well, I guess what's slightly nontrivial is to show that these algebraic closures look like a lower set of nimbers

Aaron Liu (Aug 17 2025 at 20:03):

Wikipedia says

The algebraic closure of a field K has the same cardinality as K if K is infinite, and is countably infinite if K is finite.

Violeta Hernández (Aug 17 2025 at 20:03):

Actually, on that note

Django Peeters (Aug 17 2025 at 20:04):

Do you think Lenstra's gonna be right about the next member after w^w^w?

Violeta Hernández (Aug 17 2025 at 20:04):

Can we prove the following?

example : algClosure ( (ω ^ ω ^ ω + 1))  ω₁ := sorry

Violeta Hernández (Aug 17 2025 at 20:04):

Django Peeters said:

Do you think Lenstra's gonna be right about the next member after w^w^w?

What's his conjecture?

Django Peeters (Aug 17 2025 at 20:04):

Complicated

Violeta Hernández (Aug 17 2025 at 20:05):

Γ₀? SVO? LVO? Something else entirely?

Aaron Liu (Aug 17 2025 at 20:05):

why are there so many Veblen ordinals

Violeta Hernández (Aug 17 2025 at 20:05):

There's only two of them

Aaron Liu (Aug 17 2025 at 20:05):

that's a lot

Violeta Hernández (Aug 17 2025 at 20:06):

SVO = φ(1@ω)
LVO = smallest fixed point of φ(1@x)

Violeta Hernández (Aug 17 2025 at 20:06):

where a@b is notation for Finsupp.single b a

Aaron Liu (Aug 17 2025 at 20:06):

this is why I don't like infinitary functions

Violeta Hernández (Aug 17 2025 at 20:07):

It's not an infinitary function, it's a function (Ordinal →₀ Ordinal) → Ordinal

Aaron Liu (Aug 17 2025 at 20:07):

so (Fin n →₀ α) → β is an n-ary function

Violeta Hernández (Aug 17 2025 at 20:07):

Ok fine fair enough

Django Peeters (Aug 17 2025 at 20:08):

He had to define a new function like Veblen's infinitary one.

Aaron Liu (Aug 17 2025 at 20:08):

nothing is "new"

Django Peeters (Aug 17 2025 at 20:08):

I think at least \boxed{alpha}_0

Violeta Hernández (Aug 17 2025 at 20:08):

I had the idea of formalizing the transfinite Veblen function in Lean at one point, but then I realized I had enough trouble getting docs#Ordinal.veblen accepted to begin with

Violeta Hernández (Aug 17 2025 at 20:08):

Django Peeters said:

I think at least \boxed{alpha}_0

So, Γ₀?

Violeta Hernández (Aug 17 2025 at 20:09):

Is that a proven theorem?

Django Peeters (Aug 17 2025 at 20:09):

I don't think so

Violeta Hernández (Aug 17 2025 at 20:10):

Violeta Hernández said:

Can we prove the following?

example : algClosure ( (ω ^ ω ^ ω + 1))  ω₁ := sorry

What about this?

Violeta Hernández (Aug 17 2025 at 20:10):

Do we have any upper bounds whatsoever?

Aaron Liu (Aug 17 2025 at 20:10):

Violeta Hernández said:

Well, I guess what's slightly nontrivial is to show that these algebraic closures look like a lower set of nimbers

Wikipedia also says

if M is any algebraically closed field containing K, then the elements of M that are algebraic over K form an algebraic closure of K.

Aaron Liu (Aug 17 2025 at 20:11):

and also

algebraic closure of a field K is unique up to an isomorphism that fixes every member of K

Violeta Hernández (Aug 17 2025 at 20:11):

Aaron Liu said:

Violeta Hernández said:

Well, I guess what's slightly nontrivial is to show that these algebraic closures look like a lower set of nimbers

Wikipedia also says

if M is any algebraically closed field containing K, then the elements of M that are algebraic over K form an algebraic closure of K.

Yes, but why would that have to be a lower set?

Aaron Liu (Aug 17 2025 at 20:12):

great question

Violeta Hernández (Aug 17 2025 at 20:12):

In fact, it's slightly wrong to say that algClosed x is the algebraic closure of x

Violeta Hernández (Aug 17 2025 at 20:12):

Rather, it's the smallest algebraically closed nimber that's at least x

Violeta Hernández (Aug 17 2025 at 20:12):

There could be some smaller, random subset that's also algebraically closed

Django Peeters (Aug 17 2025 at 20:13):

image.png

Violeta Hernández (Aug 17 2025 at 20:13):

I think that's just the SVO

Violeta Hernández (Aug 17 2025 at 20:14):

I have a really nice definition of infinitary Veblen somewhere

Violeta Hernández (Aug 17 2025 at 20:14):

One that doesn't require all that splitting between successor and limit cases

Violeta Hernández (Aug 17 2025 at 20:14):

Let me look it up

Violeta Hernández (Aug 17 2025 at 20:14):

(by which I mean, ask my friend who I know remembers it)

Aaron Liu (Aug 17 2025 at 20:16):

that looks like SVO

Violeta Hernández (Aug 17 2025 at 20:17):

btw, I've always found it fascinating that for all we know, "the x-th algebraically closed nimber" could be the fastest-growing known function ω₁ → ω₁

Violeta Hernández (Aug 17 2025 at 20:17):

Probably isn't, but y'know

Django Peeters (Aug 17 2025 at 20:17):

Like busy beaver? But then on transfinite ordinal

Aaron Liu (Aug 17 2025 at 20:18):

0, 1, w^w^w, ???

Aaron Liu (Aug 17 2025 at 20:20):

Violeta Hernández said:

Aaron Liu said:

Violeta Hernández said:

Well, I guess what's slightly nontrivial is to show that these algebraic closures look like a lower set of nimbers

Wikipedia also says

if M is any algebraically closed field containing K, then the elements of M that are algebraic over K form an algebraic closure of K.

Yes, but why would that have to be a lower set?

I found

theorem eq_oeval_of_lt_oeval {x y : Nimber} {p : Nimber[X]} (hx₀ : x  0)
    (hpk :  k, p.coeff k < x) (h : y < oeval x p) :
     q : Nimber[X], q < p  ( k, q.coeff k < x)  oeval x q = y

in one of the files

Aaron Liu (Aug 17 2025 at 20:20):

this is taking the closure of Iio x, by the way

Aaron Liu (Aug 17 2025 at 20:20):

if you just take the closure of {x} you probably get something different

Aaron Liu (Aug 17 2025 at 20:21):

oh that didn't say what I thought it said

Violeta Hernández (Aug 17 2025 at 20:40):

Opened #198 which proves some more stuff on groups/rings/fields, and #199 which IMO is an uncontroversial rename.

Django Peeters (Aug 17 2025 at 20:45):

Violeta Hernández said:

Can we prove the following?

example : algClosure ( (ω ^ ω ^ ω + 1))  ω₁ := sorry

My gut tells me yes, but besides cardinality arguments, I don't have much to go on.

Violeta Hernández (Aug 17 2025 at 20:46):

Well the thing is, we don't a priori know that a random polynomial like x ^ 2 + ω ^ ω ^ ω + 1 doesn't have a root with a much larger cardinality

Violeta Hernández (Aug 17 2025 at 20:46):

(or do we?)

Aaron Liu (Aug 17 2025 at 20:46):

you know how many roots it has

Tristan Figueroa-Reid (Aug 17 2025 at 20:47):

Django Peeters said:

A virtual private server, I'm gonna try it for alpha(263) cuz it might take 3 days.

(I have access to a currently unused compute machine - if you want to run your program there, feel free to DM me about it :+1:)

Violeta Hernández (Aug 17 2025 at 20:47):

Yeah, but I don't know that one of its roots isn't aleph_37

Violeta Hernández (Aug 17 2025 at 20:48):

If you look at my construction of algClosure, you'll notice that it's defined as the iterated supremum of a set algClosureSet

Violeta Hernández (Aug 17 2025 at 20:48):

We can prove algClosureSet x is countable when x is, but the supremum might be any huge ordinal of countable cofinality for all we know.

Violeta Hernández (Aug 17 2025 at 20:49):

And the proof that nimbers are algebraically closed doesn't help much either, as again, it's non-constructive!

Aaron Liu (Aug 17 2025 at 20:49):

can we cps-transform it to be constructive

Violeta Hernández (Aug 17 2025 at 20:50):

No idea what that means

Aaron Liu (Aug 17 2025 at 20:50):

magic

Violeta Hernández (Aug 17 2025 at 20:51):

I'm inclined to ask about this in MathOverflow

Violeta Hernández (Aug 17 2025 at 20:51):

You know, on the topic of the next algebraically closed nimber

Violeta Hernández (Aug 17 2025 at 20:51):

Do we have any lower bounds better than w^w^w?

Violeta Hernández (Aug 17 2025 at 20:51):

I think Siegel claims e_1 without proof

Aaron Liu (Aug 17 2025 at 20:52):

Violeta Hernández said:

Do we have any lower bounds better than w^w^w?

w^w^w+1

Violeta Hernández (Aug 17 2025 at 20:52):

Any nontrivial lower bounds

Violeta Hernández (Aug 17 2025 at 20:53):

i.e. something larger than 2^(w^w + 1)

Aaron Liu (Aug 17 2025 at 20:53):

ONAG claims that the first cubic extension "probably" happens at ε₀

Aaron Liu (Aug 17 2025 at 20:54):

or is that ε₁ I really can't tell

Django Peeters (Aug 17 2025 at 20:54):

Violeta Hernández said:

I think Siegel claims e_1 without proof

Lenstra proved that lower bound.

Django Peeters (Aug 17 2025 at 20:55):

e_1 is the quadratic closure of e_0

Violeta Hernández (Aug 17 2025 at 20:55):

That's yet another formalization goal!

Aaron Liu (Aug 17 2025 at 20:55):

so many goals

Violeta Hernández (Aug 17 2025 at 20:55):

That's the fun thing about mathematics

Django Peeters (Aug 17 2025 at 20:56):

:shaking_face:

Aaron Liu (Aug 17 2025 at 21:00):

Violeta Hernández said:

If you look at my construction of algClosure, you'll notice that it's defined as the iterated supremum of a set algClosureSet

can't find this construction :(

Violeta Hernández (Aug 17 2025 at 21:14):

@Aaron Liu check branch vi.alg_closed

Violeta Hernández (Aug 17 2025 at 21:14):

Also, I have a proof that w_a is algebraically closed for every a ≠ 0.

Violeta Hernández (Aug 17 2025 at 21:15):

Not in Lean obv, but we could work on that

Violeta Hernández (Aug 17 2025 at 21:15):

Let me explain

Aaron Liu (Aug 17 2025 at 21:15):

what properties of w_a does it use

Violeta Hernández (Aug 17 2025 at 21:15):

Just a sec I literally just figured this out in the shower

Violeta Hernández (Aug 17 2025 at 21:16):

Ok so, w_a is obviously a group, since w_a = 2^(w_a)

Violeta Hernández (Aug 17 2025 at 21:18):

We can prove quite easily that it's a ring, by proving x, y < w_a -> x * y < w_a inductively. x * y is the mex of a set with cardinality x.card * y.card < aleph_a * aleph_a = aleph_a, all whose elements are less than w_a (by induction), so x * y < w _a.

Violeta Hernández (Aug 17 2025 at 21:21):

We can prove w_a is a field (for a ≠ 0) by using induction, and the inductive characterization. If x < w_a, x^-1 is the mex of a set of cardinality max(aleph_0, x.card) < w_a of nimbers less than w_a.

Violeta Hernández (Aug 17 2025 at 21:21):

Now, to prove that it's algebraically closed. You can use essentially the same algClosed argument, but this time, only including roots of polynomials that are less than w_a.

Violeta Hernández (Aug 17 2025 at 21:22):

i.e. in rootSet, you say r \in rootSet x when it's the root of a polynomial with coefficients < x, and also, r < w_a.

Violeta Hernández (Aug 17 2025 at 21:23):

So as before, you can prove algClosed x is a field, but now, x < w_a.

Violeta Hernández (Aug 17 2025 at 21:25):

Prove by induction that all polynomials in w_a have roots less than w_a. If one p doesn't but all the previous ones do, you can take x < w_a greater than all coefficients, and you have leastNotSplit (algClosed x) = p, which means algClosed x < w_a is a root, a contradiction.

Violeta Hernández (Aug 17 2025 at 21:26):

Actually, small caveat. I think this doesn't work for arbitrary w_a, only for w_(a + 1)

Django Peeters (Aug 17 2025 at 21:26):

Interesting

Violeta Hernández (Aug 17 2025 at 21:26):

Since you need to use cof (w_(a + 1)) = aleph_(a + 1)

Aaron Liu (Aug 17 2025 at 21:27):

docs#Cardinal.IsRegular

Violeta Hernández (Aug 17 2025 at 21:27):

Yep

Aaron Liu (Aug 17 2025 at 21:27):

so does it work for successor cardinals or regular cardinals

Violeta Hernández (Aug 17 2025 at 21:27):

Regular cardinals, I think

Django Peeters (Aug 17 2025 at 21:28):

Surely, not every algebraically closed field would be of this form, right? Besides the first 3.

Violeta Hernández (Aug 17 2025 at 21:28):

Or rather x.ord for x regular

Violeta Hernández (Aug 17 2025 at 21:29):

Django Peeters said:

Surely, not every algebraically closed field would be of this form, right? Besides the first 3.

You can prove that as a corollary. As I mentioned, algClosure' a x < w_a for x < w_a, where algClosure' a restricts to roots below w_a. But if you know IsAlgClosed (w_a), then algClosure' a x = algClosure x.

Violeta Hernández (Aug 17 2025 at 21:30):

Which means there's actually countably many countable ordinals that are algebraically closed!

Violeta Hernández (Aug 17 2025 at 21:30):

I hope I'm not saying nonsense I really do have to emphasize this is a shower thought

Aaron Liu (Aug 17 2025 at 21:31):

the way you know it's not nonsense is by putting it in Lean

Violeta Hernández (Aug 17 2025 at 21:31):

We should start by proving that regular cardinals are fields

Aaron Liu (Aug 17 2025 at 21:31):

that's how I know my proofs aren't nonsense

Violeta Hernández (Aug 17 2025 at 21:31):

I suspect we will eventually run into issues surrounding cofinality. That file is a mess, and I haven't been able to refactor it.

Violeta Hernández (Aug 17 2025 at 21:32):

Maybe I'll do that first

Violeta Hernández (Aug 17 2025 at 21:33):

Btw, w_a is a group for any a

Violeta Hernández (Aug 17 2025 at 21:33):

You don't need to assume regularity

Violeta Hernández (Aug 17 2025 at 21:33):

So a conjecture that would make sense is that the same is true for rings/fields/alg closed nimbers

Violeta Hernández (Aug 17 2025 at 21:33):

No actually, that should be true too! Assuming that what I said in the regular case is true.

Violeta Hernández (Aug 17 2025 at 21:34):

e.g. w_w is a ring, because if x, y < w_w, you can find n with x < w_n and y < w_n, meaning x * y < w_n < w_w

Aaron Liu (Aug 17 2025 at 21:35):

every cardinal is a limit of regular cardinals?

Violeta Hernández (Aug 17 2025 at 21:35):

So yeah, in reality, all infinite initial ordinals (save for potentially w) are groups, rings, fields, and algebraically closed

Violeta Hernández (Aug 17 2025 at 21:35):

Again, if you believe what I said earlier.

Aaron Liu (Aug 17 2025 at 21:35):

well of course since every limit cardinal is a limit of successor cardinals

Violeta Hernández (Aug 17 2025 at 21:36):

There's an important question to be asked here

Violeta Hernández (Aug 17 2025 at 21:36):

Is this a novel result?

Aaron Liu (Aug 17 2025 at 21:36):

well it'd be good to try to formalize either way

Violeta Hernández (Aug 17 2025 at 21:37):

well I ask because if it isn't then I have much more confidence that it's true

Violeta Hernández (Aug 17 2025 at 21:37):

(though if it is, I should probably look into publishing it somewhere, assuming it's correct)

Violeta Hernández (Aug 17 2025 at 21:39):

I think I'll start by just writing this down on a notebook

Violeta Hernández (Aug 17 2025 at 21:39):

My head is an unreliable sea of monsters

Django Peeters (Aug 17 2025 at 21:40):

Lol, gn

Violeta Hernández (Aug 17 2025 at 21:55):

Oh yeah, everything up to IsField (∗ω_ x) is kind of trivial

Violeta Hernández (Aug 17 2025 at 21:56):

It follows from the fact that for s : Set Ordinal.{u} and x : Cardinal.{u}, #s < lift.{u + 1} x implies sInf (sᶜ) < x.ord

Violeta Hernández (Aug 17 2025 at 21:56):

I might have PR'd that to Mathlib already

Aaron Liu (Aug 17 2025 at 21:57):

Cardinals and Ordinals are tricky

Violeta Hernández (Aug 17 2025 at 21:57):

well i'm sort of the expert when it comes to working in them in Lean

Violeta Hernández (Aug 17 2025 at 22:00):

In the case of mutiplication, if x, y < ω_ a, the set of excludents for x * y has cardinality at most x.card * y.card < ℵ_ a

Violeta Hernández (Aug 17 2025 at 22:01):

For inverses, the excludents are invSet x, which have cardinality at most #(List x.toType) ≤ max x.card ℵ₀ < ℵ_ a

Violeta Hernández (Aug 17 2025 at 22:04):

So yeah, I'm pretty confident in the claim a ≠ 0 → IsField (∗ω_ a)

Violeta Hernández (Aug 17 2025 at 22:05):

As for being algebraically complete, it probably serves to write the argument with a bit more detail.

Violeta Hernández (Aug 17 2025 at 22:09):

(I'll let you guys speak first)

Aaron Liu (Aug 17 2025 at 22:10):

I have a bunch of stuff about transfinitely iterating monotone inflationary functions on Set X that I didn't end up doing anything with

Aaron Liu (Aug 17 2025 at 22:10):

I proved some theorems like that this eventually stabilizes to a closure operator

Violeta Hernández (Aug 17 2025 at 22:11):

That does seem potentially useful for some of this.

Violeta Hernández (Aug 17 2025 at 22:12):

I'll continue.

Violeta Hernández (Aug 17 2025 at 22:12):

Define rootSet' a x (for x < ω_ a) as the set of all roots less than ω_ a of all polynomials with coefficients less than x. By a straightforward cardinality argument, if a ≠ 0, then #(rootSet' a x) ≤ #(ℕ × (ℕ → Iio x)) ≤ max ℵ₀ x.card < ℵ_ a (here omitting lifts for clarity).

Violeta Hernández (Aug 17 2025 at 22:14):

Define algClosureSet' a x = Iio x + Iio x ∪ Iio x * Iio x ∪ rootSet' a x, which is (by what we've established) a subset of Iio (ω_ a) with cardinality less than ℵ_ a.

Violeta Hernández (Aug 17 2025 at 22:17):

Define algClosure' a x as ⨆ n : ℕ, (fun y ↦ sSup (succ '' algClosureSet' a y))^[n] x. That is, you take algClosureSet' a x, take its least strict upper bound, and repeat this ω₀ many times. This will give you something at most ω_ a.

Violeta Hernández (Aug 17 2025 at 22:18):

It's straightforward to see that IsField (algClosure' a x), and that any root less than ω_ a of any polynomial with coefficients less than algClosure' a x is less than algClosure' a x.

Junyan Xu (Aug 17 2025 at 22:21):

This is probably an easier way to show that any uncountable initial ordinal x is a group, ring, field, and algebraically closed: e.g. to show it's a group it suffices to show every ordinal y < x there is some group z such that y < z < x. If there is no such z, then every such z is the sum of two smaller ordinals; by induction every such z is in the additive closure of [0,y], whose cardinality doesn't exceed max(#[0,y], aleph0), so #[0,x)=#(y,x)≤max(#[0,y], aleph0), contradicting that y is an uncountable initial ordinal. For the algebraically closed case you might want to use an expression like algebraicClosure (Subfield.closure _) Nimber.

Violeta Hernández (Aug 17 2025 at 22:26):

Hmm wait, let me think about how that would look like for the algebraically closed case

Violeta Hernández (Aug 17 2025 at 22:27):

To prove x is algebraically closed, it suffices to prove that for every y < x there's a y < z < x that is algebraically closed.

Violeta Hernández (Aug 17 2025 at 22:28):

Suppose that's not the case. We already know (or rather it's easy to show) there's a cofinal subset of fields between y and x , and each element in them has to be a root of a polynomial using smaller coefficients.

Violeta Hernández (Aug 17 2025 at 22:28):

...but does it follow that they have to be in the algebraic closure of Iio y?

Aaron Liu (Aug 17 2025 at 22:29):

why do you like contradiction so much

Violeta Hernández (Aug 17 2025 at 22:30):

I'm just following Junyan's argument

Violeta Hernández (Aug 17 2025 at 22:31):

I see how it works for groups, but I don't see how it generalizes for rings/fields/algebraically closed fields

Aaron Liu (Aug 17 2025 at 22:31):

ok suppose you have x where cof x ≥ ω₀ and a polynomial with coefficients all smaller than x, then it's a polynomial with coefficients all smaller than some y < x so there exists z ∈ Ioo y x algebraically closed so the polynomial has a root

Aaron Liu (Aug 17 2025 at 22:32):

does that work?

Violeta Hernández (Aug 17 2025 at 22:32):

so there exists z ∈ Ioo y x algebraically closed

That's what we're trying to prove!

Aaron Liu (Aug 17 2025 at 22:32):

it's by assumption

Aaron Liu (Aug 17 2025 at 22:33):

Violeta Hernández said:

To prove x is algebraically closed, it suffices to prove that for every y < x there's a y < z < x that is algebraically closed.

Aaron Liu (Aug 17 2025 at 22:33):

so we're assuming that for every y < x there's a y < z < x that is algebraically closed.

Violeta Hernández (Aug 17 2025 at 22:33):

No, we're trying to prove that

Aaron Liu (Aug 17 2025 at 22:33):

oh I must have misunderstood

Violeta Hernández (Aug 17 2025 at 22:33):

Well, let me continue writing down my proof

Violeta Hernández (Aug 17 2025 at 22:34):

We can then see if this other argument works

Aaron Liu (Aug 17 2025 at 22:34):

wait so what's x

Violeta Hernández (Aug 17 2025 at 22:34):

The initial ordinal

Violeta Hernández (Aug 17 2025 at 22:35):

Violeta Hernández said:

Define algClosure' a x as ⨆ n : ℕ, (fun y ↦ sSup (succ '' algClosureSet' a y))^[n] x. That is, you take algClosureSet' a x, take its least strict upper bound, and repeat this ω₀ many times. This will give you something at most ω_ a.

Let's suppose ω_ a is regular, so that we get something strictly smaller than ω_ a. The general case follows from the fact every cardinal is the limit of regular cardinals (or a regular cardinal itself)

Violeta Hernández (Aug 17 2025 at 22:37):

Violeta Hernández said:

It's straightforward to see that IsField (algClosure' a x), and that any root less than ω_ a of any polynomial with coefficients less than algClosure' a x is less than algClosure' a x.

So, we now prove that ω_ a is algebraically closed by contradication. Suppose it isn't, let p be the (lexicographically) least polynomial of positive degree in ω_ a without a root in ω_ a. Let x < ω_ a be larger than all coefficients of x. Then leastNotSplit (algClosure' a x) = p, meaning p has the root algClosure' a x, which is less than ω_ a. And we're done.

Junyan Xu (Aug 17 2025 at 22:40):

If z is not an algebraically closed field, then either it's the sum of two earlier ordinals, or it's the product, or it's an inverse of an earlier ordinal, or it's a root of a polynomial with earlier coefficients; in all cases it's contained in algebraicClosure (Subfield.closure (Iio z)) Nimber.

Violeta Hernández (Aug 17 2025 at 22:41):

Oh! So you're using all the simplest extension theorems at once!

Violeta Hernández (Aug 17 2025 at 22:41):

That's really elegant.

Violeta Hernández (Aug 17 2025 at 22:41):

Yeah ok that's way better

Violeta Hernández (Aug 17 2025 at 22:42):

So you can inductively prove the entire interval Iio (ω_ a) is contained in the algebraic closure, which is a contradiction by a straightforward cardinality argument.

Violeta Hernández (Aug 17 2025 at 22:42):

Awesome!

Violeta Hernández (Aug 17 2025 at 22:43):

And we don't have to use all of these extra definitions

Violeta Hernández (Aug 17 2025 at 22:43):

This is way simpler than I was expecting

Junyan Xu (Aug 17 2025 at 22:45):

To do induction we need to show algebraicClosure (Subfield.closure ·) Nimber is a closure operator to get idempotency/transitivity. I think we have some similar code in mathlib ... Nevermind, I think it's easier to prove inductively every y < z < x is contained in algebraicClosure (Subfield.closure (Iic y)) Nimber using that it's an algebraically closed field. There's e.g. Polynomial.Splits.mem_subfield_of_isRoot.

Violeta Hernández (Aug 17 2025 at 22:47):

Wait. This might be even simpler.

Violeta Hernández (Aug 17 2025 at 22:47):

Can't you prove that any subgroup of the nimbers is a lower set?

Aaron Liu (Aug 17 2025 at 22:48):

no

Aaron Liu (Aug 17 2025 at 22:48):

{0, 2} is an AddSubgroup

Violeta Hernández (Aug 17 2025 at 22:48):

Oh, right :frown:

Violeta Hernández (Aug 17 2025 at 22:49):

Well, you can at least prove the interval up to the first missing element is a group

Violeta Hernández (Aug 17 2025 at 22:50):

Similarly for rings, fields, and algebraically closed fields

Violeta Hernández (Aug 17 2025 at 22:51):

Which I guess is another way to think of what we're doing

Violeta Hernández (Aug 17 2025 at 22:52):

If x < w_ a, we can take the algebraic closure of Iio x and take the smallest y not in it, then x ≤ y < w_ a is an algebraically closed field.

Violeta Hernández (Aug 17 2025 at 22:53):

These are completely equivalent approaches, though arguably this result of "the least nimber not in a sub-X is a sub-X" is a worthwhile lemma to PR in its own right.

Violeta Hernández (Aug 17 2025 at 23:08):

Wait. So not every subgroup/etc. is a lower set. But it is true that the group/ring/field/algebraic closure of a lower set is a lower set, right?

Violeta Hernández (Aug 17 2025 at 23:09):

By the argument I gave of "the smallest nimber not in it is a subgroup/etc."

Aaron Liu (Aug 17 2025 at 23:09):

which closure are you using

Violeta Hernández (Aug 17 2025 at 23:09):

Any of the four

Aaron Liu (Aug 17 2025 at 23:10):

I will think a bit

Aaron Liu (Aug 17 2025 at 23:11):

yeas that sounds correct

Violeta Hernández (Aug 17 2025 at 23:11):

That's a really cool result

Aaron Liu (Aug 17 2025 at 23:11):

wait that proves that the algebraic closure of w^w^w is countable

Violeta Hernández (Aug 17 2025 at 23:11):

Indeed

Aaron Liu (Aug 17 2025 at 23:12):

the algebraic closure of any countable ordinal is countable

Violeta Hernández (Aug 17 2025 at 23:12):

In fact, it proves there's uncountably many countable ordinals that are algebraically closed

Aaron Liu (Aug 17 2025 at 23:12):

Violeta Hernández said:

Which means there's actually countably many countable ordinals that are algebraically closed!

Aaron Liu (Aug 17 2025 at 23:13):

so are there countably many or uncountably many?

Aaron Liu (Aug 17 2025 at 23:13):

I sure hope it's not both

Violeta Hernández (Aug 17 2025 at 23:13):

w_1 ordinals below w_1

Aaron Liu (Aug 17 2025 at 23:14):

so uncountably many

Violeta Hernández (Aug 17 2025 at 23:16):

Yep

Junyan Xu (Aug 18 2025 at 01:13):

Violeta Hernández said:

Wait. So not every subgroup/etc. is a lower set. But it is true that the group/ring/field/algebraic closure of a lower set is a lower set, right?

Great observation! Here's a simple proof in terms of general closure operators: every lower set in Ordinal can be written as [0,y) for some y. Given y there's a minimal ordinal x not contained in the closure of [0,y) (here we assume that the closure is set-sized), and we can show that [0,x) is precisely the closure of [0,y), assuming a "simplest extension theorem" for the closure operator.

By the choice of x we already know that [0,x) is contained in the closure of [0,y). For the other containment, it suffices to show [0,x) is closed; suppose it's not, then the simplest extension theorem says that x is contained in the closure of [0,x), which is contained in the closure of the closure of [0,y), which equals the closure of [0,y) by idempotency, and this contradicts the choice of x.

Violeta Hernández (Aug 18 2025 at 03:15):

Do we have definitions in Lean to talk about e.g. the smallest subgroup, or smallest subring, containing a given set?

Yuyang Zhao (Aug 18 2025 at 03:21):

docs#AddSubgroup.closure docs#Subring.closure

Violeta Hernández (Aug 18 2025 at 03:39):

Opened #200, which defines IsField.embed, i.e. the map from Nimber[X] to (h.toSubfield _)[X].

Violeta Hernández (Aug 18 2025 at 04:00):

Yuyang Zhao said:

docs#AddSubgroup.closure docs#Subring.closure

Why isn't there a simp lemma turning s.carrier into ↑s?

Violeta Hernández (Aug 18 2025 at 04:06):

Tried proving that the AddSubgroup.closure of a lower set is a lower set, but ran into two issues. One is the lack of docs#IsLowerSet.eq_univ_or_Iio, which is just a matter of bumping Mathlib, I think. But the other is proving that Small.{u} s → Small.{u} (AddSubgroup.closure s).

Violeta Hernández (Aug 18 2025 at 04:06):

Presumably this is just a cardinality argument. Do we have anything like that in Mathlib?

Violeta Hernández (Aug 18 2025 at 04:08):

More specifically, the sets AddSubgroup.closure s, Subring.closure s, Subfield.closure s, and algebraicClosure s K should all be bounded in cardinality by max (#s) (ℵ₀), which proves they're small through docs#Cardinal.small_iff_lift_mk_lt_univ.

Violeta Hernández (Aug 18 2025 at 04:15):

I think I proved some results about the cardinality of algebraic closures at some point, but now I can't find them, which presumably means they got reworked into something better

Violeta Hernández (Aug 18 2025 at 04:38):

We have docs#Subfield.cardinalMk_closure_le_max which is great, but it begs the question of why we don't have the other ones.

Violeta Hernández (Aug 18 2025 at 06:48):

Currently reviving some old Mathlib PRs on the Cantor normal form. Hopefully we're able to use its API as a basis for oeval soon.

Violeta Hernández (Aug 18 2025 at 06:48):

#28586 defines the CNF as a finitely supported function.

Junyan Xu (Aug 18 2025 at 07:43):

For algebraic closure there is Algebra.IsAlgebraic.cardinalMk_le_max. This should be enough when combined with docs#Subfield.cardinalMk_closure_le_max. If you want the results for e.g. Subring.closure, you can combine Algebra.adjoin_eq_ring_closure, FreeAlgebra.adjoin_range_ι and FreeAlgebra.cardinalMk_le_max. FreeAlgebra is a "universal object" that the docstring of docs#Subfield.cardinalMk_closure_le_max refers to. For AddSubgroup.closure there is FreeAddGroup.range_lift_eq_closure and Cardinal.mk_freeAddGroup; for AddSubmonoid.closure there is FreeAddMonoid.mrange_lift and FreeAddMonoid is just List.

Junyan Xu (Aug 18 2025 at 13:29):

Django Peeters said:

I'm gonna switch back to C++ tomorrow. Maybe we'll know alpha(263) in the near future.

image.png
263 was beaten, 283 is the next boss
https://discord.com/channels/842810949706055690/895374513020207175/1332371437817692243

Tristan Figueroa-Reid (Aug 18 2025 at 13:31):

( @Django Peeters if you do want to parallelize it, this same machine has a weak single-core performance, but it has 128 cores.)

Django Peeters (Aug 18 2025 at 13:31):

We're going for alpha(263) in 1 day. I'm not sure about alpha(283) but it might take 10 days.

Django Peeters (Aug 18 2025 at 13:31):

Tristan Figueroa-Reid said:

( Django Peeters if you do want to parallelize it, this same machine has a weak single-core performance, but it has 128 cores.)

What's there to parallelize?

Django Peeters (Aug 18 2025 at 13:33):

Oh for different excesses

Django Peeters (Aug 18 2025 at 13:33):

That might be possible yes.

Django Peeters (Aug 18 2025 at 13:34):

It already uses 2 threads, 1 for calculating and another for logging. I also noticed the big exponents had a lot of repetition in them that I could leverage.

Junyan Xu (Aug 18 2025 at 13:35):

it's not written in cgsuite, it's all heavily optimized scala code. Rewriting it in C or Rust would probably give a speedup but not an earth-shattering one, I'd be very surprised if it were more than 2x.

from Aaron Siegel

Django Peeters (Aug 18 2025 at 13:38):

Django Peeters said:

Btw, here are some speed gains:
http://www.neverendingbooks.org/aaron-siegel-on-transfinite-number-hacking/
now becomes
image.png

I haven't run the scala code, only translated from it. And I'm not sure which code gave these time results.

Junyan Xu (Aug 18 2025 at 13:39):

Are the results in http://www.neverendingbooks.org/aaron-siegel-on-transfinite-number-hacking/ generated by the Scala code?

Django Peeters (Aug 18 2025 at 13:41):

You'd have to ask Aaron.

Junyan Xu (Aug 18 2025 at 13:42):

I think probably yes, but maybe many optimizations have been made since 2012.

Junyan Xu (Aug 18 2025 at 13:43):

He isn't expecting much gain from porting to C, but there should still be gains.

Tristan Figueroa-Reid (Aug 18 2025 at 13:44):

I would rarely ever trust anyone with guessing performance this close to the system. @Django Peeters's program (assuming Siegel's 5.2 day time for calculating alpha(263)) seem to be nearly 3x as fast, at least based on the current output.

Django Peeters (Aug 18 2025 at 13:49):

While this is on 1 core and 5.2 days for Scala on 128 cores?

Tristan Figueroa-Reid (Aug 18 2025 at 13:50):

(In fairness, while both of these are single-core, we also don't know the clock speed of the respective CPUs. This one is 2.9GHz - did Siegel ever say anything about system specs?)

Django Peeters (Aug 18 2025 at 13:51):

If he did, I'm not aware of any.

Junyan Xu (Aug 18 2025 at 14:16):

it's a 3 GHz Intel Xeon. There are faster CPUs out there. Memory speed is probably a bottleneck too.

Junyan Xu (Aug 18 2025 at 14:19):

I can see that Tristan and Violeta both replied in the #cgsuite channel of the Gamester Discord server where the p=263 result was announced, but Tristan only before the announcement. (Actually Aaron Siegel redid the computation prompted by questions from Violeta.) Maybe it's just been too long that you've both forgotten about it ... (tbh I also forgot about the exact prime)

Tristan Figueroa-Reid (Aug 18 2025 at 14:25):

I remembered that Violeta asked about this earlier, but I forgot that it resulted in alpha(263) being calculated.

Violeta Hernández (Aug 18 2025 at 16:18):

Probably should have checked...

Violeta Hernández (Aug 18 2025 at 16:18):

Yeah, I did ask about this, but I forgot the exact values that were calculated

Violeta Hernández (Aug 18 2025 at 16:18):

Yeah, I did ask about this, but I forgot the exact values that were calculated

Violeta Hernández (Aug 18 2025 at 16:18):

We should really make an OEIS sequence for this

Aaron Liu (Aug 18 2025 at 16:18):

They aren't really integers

Django Peeters (Aug 18 2025 at 16:19):

But the excesses are

Django Peeters (Aug 18 2025 at 16:19):

And the q-sets are more easily deduced from them

Aaron Liu (Aug 18 2025 at 16:20):

I have no idea what that means

Django Peeters (Aug 18 2025 at 16:21):

alpha(p) = kappa(f(p)) + excess(p) where f(p) is the least h>0 such that p|(2^h-1).

Aaron Liu (Aug 18 2025 at 16:22):

What's a kappa

Django Peeters (Aug 18 2025 at 16:24):

kappa(h) is the least nimber which has a degree divisible by h

Django Peeters (Aug 18 2025 at 16:24):

Over the prime field

Aaron Liu (Aug 18 2025 at 16:24):

f(p) seems like it can get pretty big (long division)

Django Peeters (Aug 18 2025 at 16:24):

Yes

Aaron Liu (Aug 18 2025 at 16:25):

I think f(p) < p but I'm not too sure

Violeta Hernández (Aug 18 2025 at 16:25):

What's the paper where these values are defined again?

Django Peeters (Aug 18 2025 at 16:25):

f(p) | (p-1)

Django Peeters (Aug 18 2025 at 16:26):

It's in Lenstra's "On the algebraic closure of 2"

Violeta Hernández (Aug 18 2025 at 16:47):

@Aaron Liu have you managed to prove Fermat powers are fields?

Violeta Hernández (Aug 18 2025 at 17:15):

On an unrelated note, I just computed this:
b051917.txt

Violeta Hernández (Aug 18 2025 at 17:22):

Look at the first few terms after 256

Violeta Hernández (Aug 18 2025 at 17:22):

Is there a reason n1n^{-1} and (n+1)1(n + 1)^{-1} seem to be numerically close to each other?

Aaron Liu (Aug 18 2025 at 17:26):

Violeta Hernández said:

Aaron Liu have you managed to prove Fermat powers are fields?

Working on it

Aaron Liu (Aug 18 2025 at 17:28):

Violeta Hernández said:

Is there a reason n1n^{-1} and (n+1)1(n + 1)^{-1} seem to be numerically close to each other?

Have you tried induction

Violeta Hernández (Aug 18 2025 at 17:35):

Well I'm not making any concrete mathematical claim

Violeta Hernández (Aug 18 2025 at 17:35):

Just a numerical observation

Violeta Hernández (Aug 18 2025 at 17:36):

Also, just uploaded b-files up to 65536 for the OEIS sequences on nim squares and nim square roots as well

Violeta Hernández (Aug 18 2025 at 17:37):

Made them with the aforementioned Rust library; obviously that's not super reassuring in terms of proving correctness, but the output matched all existing entries, and it passed some double-checking

Aaron Liu (Aug 18 2025 at 17:39):

Violeta Hernández said:

Aaron Liu have you managed to prove Fermat powers are fields?

which branch should I do this on

Violeta Hernández (Aug 18 2025 at 17:39):

You should probably work on top of the alg_closed branch

Violeta Hernández (Aug 18 2025 at 17:39):

Which reminds me I should continue moving stuff from there to master

Violeta Hernández (Aug 18 2025 at 17:40):

Oh yeah, #200 hasn't been reviewed yet

Aaron Liu (Aug 18 2025 at 17:40):

ok I'll stash everything and unstash them on the other branch

Violeta Hernández (Aug 18 2025 at 17:48):

I can start work on the NatNimber stuff, e.g. doing the algorithms

Violeta Hernández (Aug 18 2025 at 17:48):

(proving correctness will require your work)

Violeta Hernández (Aug 18 2025 at 18:02):

Oh I just found the compact definition of transfinite Veblen

Aaron Liu (Aug 18 2025 at 18:02):

what is it

Aaron Liu (Aug 18 2025 at 18:03):

Some fixpoint probably

Violeta Hernández (Aug 18 2025 at 18:03):

Define the degree of a finitely supported function Ord -> Ord as the smallest non-zero index (so the opposite of how you'd do it for a polynomial). Let f be a finitely supported function Ord -> Ord of degree n ≠ 0. Then x => phi(f + x@0) enumerates the common fixed points of x => phi(g, x@m) for g < f, deg(g) ≥ deg(f), and m < n.

Violeta Hernández (Aug 18 2025 at 18:04):

"compact"

Violeta Hernández (Aug 18 2025 at 18:05):

It's nicer to give examples

Violeta Hernández (Aug 18 2025 at 18:06):

e.g. phi(1,2,0,4) is the 4th fixed point of x => phi(1,1,x,0) (and a bunch of other functions whose fixed points are a superset of this)

Violeta Hernández (Aug 18 2025 at 18:06):

SVO = phi(1@w) is the smallest fixed point of x => phi(x@n) for n < w

Violeta Hernández (Aug 18 2025 at 18:09):

And then of course the LVO is the smallest fixed point of x => phi(1@x)

Violeta Hernández (Aug 18 2025 at 18:13):

nvm

Aaron Liu (Aug 18 2025 at 18:13):

?????

Violeta Hernández (Aug 18 2025 at 18:15):

No yeah I was missing that condition

Violeta Hernández (Aug 18 2025 at 18:15):

deg(g) ≥ deg(f) and g < f is too weak

Aaron Liu (Aug 18 2025 at 18:15):

This causes me great confusion

Violeta Hernández (Aug 18 2025 at 18:16):

Otherwise you get nonsense such as phi(1, 1, 0) being a fixed point of x => phi(LVO, x)

Violeta Hernández (Aug 18 2025 at 18:16):

(or replace LVO by your favorite huge cardinal)

Aaron Liu (Aug 18 2025 at 18:16):

Is it not?

Violeta Hernández (Aug 18 2025 at 18:17):

Of course not

Aaron Liu (Aug 18 2025 at 18:17):

oh I guess that wouldn't be countable

Violeta Hernández (Aug 18 2025 at 18:17):

You do have that phi(1, 1, 0) is a fixed point of x => phi(1, 0, x)

Violeta Hernández (Aug 18 2025 at 18:18):

And I think you can prove it's actually a fixed point of x => phi(y, x) for y < phi(1, 1, 0)

Violeta Hernández (Aug 18 2025 at 18:18):

But this latter point isn't part of the definition

Violeta Hernández (Aug 18 2025 at 18:20):

So yeah, if n = deg(f) ≠ 0, then x => phi(f + x@0) enumerates the fixed points of x => phi(g, x@m), where m < n, but where also g is f with the leading coefficient decreased

Violeta Hernández (Aug 18 2025 at 18:20):

This ensures that you're only taking fixed points of a set of functions, rather than potentially a class

Aaron Liu (Aug 18 2025 at 18:21):

sure

Violeta Hernández (Aug 18 2025 at 18:22):

Or I guess another way to fix my original definition is to require g < f pointwise, and not lexicographically

Violeta Hernández (Aug 18 2025 at 18:22):

That should be equivalent I think?

Violeta Hernández (Aug 18 2025 at 18:24):

I feel like this is one of those topics in mathematics that's really difficult to work with not because the math is difficult but because the notation is godawful

Violeta Hernández (Aug 18 2025 at 18:24):

I need to do a write-up on this and the LVO someday

Aaron Liu (Aug 18 2025 at 18:24):

so do you have any better notation

Django Peeters (Aug 18 2025 at 18:25):

There's BMS

Django Peeters (Aug 18 2025 at 18:25):

Taranovsky's C notation

Django Peeters (Aug 18 2025 at 18:25):

Y-sequence

Django Peeters (Aug 18 2025 at 18:25):

A lot of notations from the googology community...

Django Peeters (Aug 18 2025 at 18:26):

Idk if they're better

Violeta Hernández (Aug 18 2025 at 18:26):

Ah yes, the googology community

Violeta Hernández (Aug 18 2025 at 18:26):

I'm well acquainted with them

Django Peeters (Aug 18 2025 at 18:26):

Lol

Aaron Liu (Aug 18 2025 at 18:26):

I don't get it

Django Peeters (Aug 18 2025 at 18:28):

Buchholz's psi is a good one I think, from an actual mathematician

Django Peeters (Aug 18 2025 at 18:28):

Taranovsky's C is also from a n actual mathematician I think

Violeta Hernández (Aug 18 2025 at 18:28):

Aaron Liu said:

so do you have any better notation

Well I just introduced that degree definition to make the definition nicer

Violeta Hernández (Aug 18 2025 at 18:29):

The a@b notation isn't mine, but I've seen a few texts try to define the w-argument Veblen function without it and end up a horrible mess

Violeta Hernández (Aug 18 2025 at 18:29):

(when really the w-argument version is but a special case of the transfinite argument version)

Aaron Liu (Aug 18 2025 at 18:30):

everything is a special case

Violeta Hernández (Aug 18 2025 at 18:30):

Django Peeters said:

Buchholz's psi is a good one I think, from an actual mathematician

Oh I'm not talking about ordinal notations, but rather notation for ordinals!

Violeta Hernández (Aug 18 2025 at 18:30):

At some point I tried formalizing Buchholz's psi in Lean, but that sort of fell through.

Violeta Hernández (Aug 18 2025 at 18:35):

Aaron Liu said:

so do you have any better notation

Oh and also a lot of sources try to define successor and limit cases separately, which really isn't necessary

Violeta Hernández (Aug 18 2025 at 18:35):

Which is the main reason I'm of the view that "most things about ordinals only need recursion, and not limit recursion"

Django Peeters (Aug 18 2025 at 18:39):

Violeta Hernández said:

Django Peeters said:

Buchholz's psi is a good one I think, from an actual mathematician

Oh I'm not talking about ordinal notations, but rather notation for ordinals!

What's the difference?

Violeta Hernández (Aug 18 2025 at 18:56):

Ordinal notations are well-ordered syntax trees with effective arithmetic modeling that of the ordinals

Violeta Hernández (Aug 18 2025 at 18:56):

I'm just talking about how to write them down

Django Peeters (Aug 18 2025 at 18:59):

Violeta Hernández said:

Ordinal notations are well-ordered syntax trees with effective arithmetic modeling that of the ordinals

Like ordinal collapsing functions?

Violeta Hernández (Aug 18 2025 at 18:59):

Ordinal collapsing functions are that, functions

Violeta Hernández (Aug 18 2025 at 18:59):

But they often give rise to an ordinal notation

Violeta Hernández (Aug 18 2025 at 18:59):

Violeta Hernández said:

Ordinal notations are well-ordered syntax trees with effective arithmetic modeling that of the ordinals

In simpler words, "ordinals as strings"

Violeta Hernández (Aug 18 2025 at 19:00):

So for instance, every ordinal has a Cantor normal form

Violeta Hernández (Aug 18 2025 at 19:01):

But there's also a Cantor normal form ordinal notation, containing strings such as "1" and "ω^2 * 3" and "ω^(ω^(ω^6 * 7 + ω^2 + 4) + ω * 15) + 37"

Violeta Hernández (Aug 18 2025 at 19:01):

It contains a unique representation for every ordinal below ε₀, and there are algorithms to perform all basic ordinal operations on them

Django Peeters (Aug 18 2025 at 19:03):

So as a corollary, notation for ordinals only gives you a countable subset of ordinals.

Violeta Hernández (Aug 18 2025 at 19:05):

Yep

Violeta Hernández (Aug 18 2025 at 19:06):

So of course the holy grail is to find the "simplest" ordinal notation giving you the largest subset of countable ordinals

Violeta Hernández (Aug 18 2025 at 19:06):

Buchholz's ψ is pretty good for what it is

Django Peeters (Aug 18 2025 at 19:06):

Is this related to the first Church-Kleene ordinal?

Violeta Hernández (Aug 18 2025 at 19:07):

The LVO is Ψ₀(Ω^Ω^Ω), the limit of the notation is Ψ₀(ε_(Ω+1))

Aaron Liu (Aug 18 2025 at 19:07):

What even is the church kleene ordinal

Violeta Hernández (Aug 18 2025 at 19:08):

Django Peeters said:

Is this related to the first Church-Kleene ordinal?

Yes, in the sense that an ordinal notation with effective ordering cannot get to or exceed said ordinal

Violeta Hernández (Aug 18 2025 at 19:08):

Aaron Liu said:

What even is the church kleene ordinal

The smallest ordinal such that there is no computable well-ordering of (a subset of) the naturals with said order type

Django Peeters (Aug 18 2025 at 19:09):

Violeta Hernández said:

So of course the holy grail is to find the "simplest" ordinal notation giving you the largest subset of countable ordinals

I'm surprised it exists!

Violeta Hernández (Aug 18 2025 at 19:10):

Well, we don't really know if it exists! There are ordinal notations going beyond Buchholz, but they're increasingly convoluted, except for a particular one I believe that no one understands?

Aaron Liu (Aug 18 2025 at 19:10):

what does that mean

Violeta Hernández (Aug 18 2025 at 19:10):

I don't know, that's beyond my scope

Aaron Liu (Aug 18 2025 at 19:11):

Violeta Hernández said:

The LVO is Ψ₀(Ω^Ω^Ω), the limit of the notation is Ψ₀(ε_(Ω+1))

Ψ₀? 0??? Is there a Ψ₁ too?

Violeta Hernández (Aug 18 2025 at 19:11):

Yes, but Ψ₁ returns ordinals larger than ω₁

Violeta Hernández (Aug 18 2025 at 19:12):

In fact I'm just remembering that the extended Buchholz ordinal notation exists

Aaron Liu (Aug 18 2025 at 19:12):

who even needs all these ordinals

Violeta Hernández (Aug 18 2025 at 19:12):

The idea is that you have functions Ψᵥ giving ordinals of cardinality ℵᵥ (except when v = 0, where you get countable ordinals)

Aaron Liu (Aug 18 2025 at 19:13):

so it's another ordinal index

Aaron Liu (Aug 18 2025 at 19:14):

all the numbers are ordinals

Django Peeters (Aug 18 2025 at 19:14):

Violeta Hernández said:

Well, we don't really know if it exists! There are ordinal notations going beyond Buchholz, but they're increasingly convoluted, except for a particular one I believe that no one understands?

Which one?

Violeta Hernández (Aug 18 2025 at 19:15):

The limit of that notation is the limit of Ψ₀(0), Ψ₀(Ψ₀(0)), Ψ₀(Ψ_(Ψ₀(0))), Ψ₀(Ψ_Ψ_(Ψ₀(0))), ...

Violeta Hernández (Aug 18 2025 at 19:15):

really big ordinal

Aaron Liu (Aug 18 2025 at 19:15):

Violeta Hernández said:

Aaron Liu said:

What even is the church kleene ordinal

The smallest ordinal such that there is no computable well-ordering of (a subset of) the naturals with said order type

a computable subset or any subset

Violeta Hernández (Aug 18 2025 at 19:15):

Aaron Liu said:

Violeta Hernández said:

Aaron Liu said:

What even is the church kleene ordinal

The smallest ordinal such that there is no computable well-ordering of (a subset of) the naturals with said order type

a computable subset or any subset

computable subset

Violeta Hernández (Aug 18 2025 at 19:16):

Really the subset clause is just there so that the answer isn't 0 or some finite natural

Violeta Hernández (Aug 18 2025 at 19:16):

I think it's equivalent to say "the smallest infinite ordinal such that there's no computable well-ordering of the naturals with said order type"

Violeta Hernández (Aug 18 2025 at 19:16):

Aaron Liu said:

who even needs all these ordinals

Well depending on how long the next algebraically closed subfield of nimbers takes to arrive, perhaps us

Django Peeters (Aug 18 2025 at 19:17):

Who knows, maybe nimbers give a unified way of going to better and better ordinal notations

Violeta Hernández (Aug 18 2025 at 19:17):

We can dream

Violeta Hernández (Aug 18 2025 at 19:18):

I think every single possible answer for "what the next algebraically closed subfield is" would be really interesting

Aaron Liu (Aug 18 2025 at 19:18):

can't we just compute it?

Violeta Hernández (Aug 18 2025 at 19:19):

Do you have a computer that can perform operations with arbitrary countable ordinals

Aaron Liu (Aug 18 2025 at 19:19):

of course not

Aaron Liu (Aug 18 2025 at 19:19):

that would solve the halting problem

Violeta Hernández (Aug 18 2025 at 19:19):

Violeta Hernández said:

I think every single possible answer for "what the next algebraically closed subfield is" would be really interesting

I think it'd be even more interesting if the first ω algebraically closed fields had simple representations in some known or unknown ordinal notation

Violeta Hernández (Aug 18 2025 at 19:20):

Like, maybe the next ordinal is Ψ₀(Ω^Ω^Ω), and the next one is Ψ₀(Ω^Ω^Ω^Ω), and so on

Django Peeters (Aug 18 2025 at 19:20):

I wonder at what point the arithmetic isn't going to be effectively computable

Violeta Hernández (Aug 18 2025 at 19:20):

Is it still effectively computable past ω^ω^ω?

Aaron Liu (Aug 18 2025 at 19:21):

yes

Django Peeters (Aug 18 2025 at 19:21):

Lenstra thinks yes in e_0

Violeta Hernández (Aug 18 2025 at 19:25):

I really need to read Lenstra's paper

Violeta Hernández (Aug 18 2025 at 19:25):

(deleted)

Violeta Hernández (Aug 18 2025 at 19:27):

Wait, something I'm not clear about

Violeta Hernández (Aug 18 2025 at 19:27):

Are the values alpha and kappa originally defined by Conway, or by Lenstra?

Django Peeters (Aug 18 2025 at 19:47):

Alpha by conway, and kappa by Lenstra because he needed them for effective computing.

Django Peeters (Aug 18 2025 at 19:47):

I think.

Django Peeters (Aug 18 2025 at 19:49):

Conway already encounterd kappa(prime powers) but he didn't give em a name.

Violeta Hernández (Aug 18 2025 at 19:50):

hmm, I'm struggling a bit.
image.png

Violeta Hernández (Aug 18 2025 at 19:50):

"every power of 2 has a unique expression as a decreasing product"
Why?

Aaron Liu (Aug 18 2025 at 19:51):

what's a [power]

Violeta Hernández (Aug 18 2025 at 19:51):

They're using the conway notation where [a + b] means ordinal addition and [a] + [b] means nimber addition

Aaron Liu (Aug 18 2025 at 19:52):

try taking the log

Django Peeters (Aug 18 2025 at 19:53):

Violeta Hernández said:

"every power of 2 has a unique expression as a decreasing product"
Why?

I think they mean: for 2^n we take the binary expansion of n (so 2^n_k + ... + 2^n_0) where n_k>...>n_0, and then put that in 2^•

Aaron Liu (Aug 18 2025 at 19:54):

oh they're also considering infinite powers

Violeta Hernández (Aug 18 2025 at 19:54):

Oh wait nevermind I see why that's true

Violeta Hernández (Aug 18 2025 at 19:56):

The terms κ_q^m(q) for q = p^n give you the term ω^k where p is the k-th prime

Violeta Hernández (Aug 18 2025 at 19:56):

(the k + 1 thing is just zero-indexing shenanigans)

Aaron Liu (Aug 18 2025 at 19:57):

why not zero indexing

Violeta Hernández (Aug 18 2025 at 19:57):

Well I'm zero-indexing but I think Lenstra isn't

Aaron Liu (Aug 18 2025 at 19:57):

oh no

Violeta Hernández (Aug 18 2025 at 19:58):

Now, what's going on here?
image.png

Violeta Hernández (Aug 18 2025 at 19:58):

Does Lenstra prove this? Or is this something Conway said somewhere else

Django Peeters (Aug 18 2025 at 19:58):

Well, 1st is for index 0 I guess

Django Peeters (Aug 18 2025 at 19:58):

Violeta Hernández said:

Does Lenstra prove this? Or is this something Conway said somewhere else

I don't think he does.

Aaron Liu (Aug 18 2025 at 19:58):

Violeta Hernández said:

Now, what's going on here?
image.png

math

Aaron Liu (Aug 18 2025 at 19:59):

try using the simplest extension theorems

Aaron Liu (Aug 18 2025 at 19:59):

and induction too

Violeta Hernández (Aug 18 2025 at 20:00):

Actually I feel like I should be reading theorem 49 in ONAG first

Violeta Hernández (Aug 18 2025 at 20:03):

I swear Conway's writing has some of the highest "Lean LOC to text" ratio I've seen

Violeta Hernández (Aug 18 2025 at 20:04):

I don't think ONAG contains that theorem about multiplication of kappas either

Violeta Hernández (Aug 18 2025 at 20:04):

time to try Siegel

Aaron Liu (Aug 18 2025 at 20:05):

Violeta Hernández said:

I swear Conway's writing has some of the highest "Lean LOC to text" ratio I've seen

what about the theory of finiteness

Violeta Hernández (Aug 18 2025 at 20:06):

wdym?

Aaron Liu (Aug 18 2025 at 20:06):

stuff like Nonempty (Fin n ≃ Fin m) ↔ n = m

Violeta Hernández (Aug 18 2025 at 20:07):

Well that stuff isn't trivial to prove in pen-and-paper math either

Violeta Hernández (Aug 18 2025 at 20:07):

You just usually take it for granted, which is a different problem

Aaron Liu (Aug 18 2025 at 20:07):

but this stuff also isn't trivial to prove

Aaron Liu (Aug 18 2025 at 20:07):

Conway just skips a bunch

Violeta Hernández (Aug 18 2025 at 20:07):

Hm yeah that's a better assessment of the situation

Violeta Hernández (Aug 18 2025 at 20:07):

He does in fact skip a bunch

Violeta Hernández (Aug 18 2025 at 20:07):

(surreal multiplication PTSD)

Violeta Hernández (Aug 18 2025 at 20:09):

Oh unrelated, but I just found this
image.png

Aaron Liu (Aug 18 2025 at 20:09):

oh I saw that too

Violeta Hernández (Aug 18 2025 at 20:09):

So it's not only that every finite ring is a field, but every ring below the first transcendental is a field

Violeta Hernández (Aug 18 2025 at 20:09):

...why?

Aaron Liu (Aug 18 2025 at 20:09):

did you read the thing

Violeta Hernández (Aug 18 2025 at 20:10):

Yeah but

Violeta Hernández (Aug 18 2025 at 20:10):

Why does every element of an algebraic field extension have finite order?

Aaron Liu (Aug 18 2025 at 20:10):

check the field theory

Violeta Hernández (Aug 18 2025 at 20:10):

well yeah that's why I'm asking

Violeta Hernández (Aug 18 2025 at 20:11):

holy moly deepseek is cracked

Aaron Liu (Aug 18 2025 at 20:11):

did it tell you the answer

Violeta Hernández (Aug 18 2025 at 20:12):

It did

Violeta Hernández (Aug 18 2025 at 20:12):

If α\alpha is an element in the algebraic extension, then [F2(α):F2][\mathbb F_2(\alpha):\mathbb F_2] is finite, meaning F2(α)\mathbb F_2(\alpha) is a finite field, meaning the multiplicative order of α\alpha is finite

Violeta Hernández (Aug 18 2025 at 20:13):

So it of course has an inverse

Aaron Liu (Aug 18 2025 at 20:14):

since the algebraic closure is galois?

Aaron Liu (Aug 18 2025 at 20:14):

I'm a bit rusty on field theory

Violeta Hernández (Aug 18 2025 at 20:15):

Wait what step are you asking about

Aaron Liu (Aug 18 2025 at 20:15):

the part where you conclude the index is finite

Violeta Hernández (Aug 18 2025 at 20:15):

The degree of [F2(α):F2][\mathbf F_2(\alpha) : \mathbf F_2] is the degree of the minimal polynomial of α\alpha over the algebraic extension

Aaron Liu (Aug 18 2025 at 20:15):

oh yeah of course

Aaron Liu (Aug 18 2025 at 20:16):

that makes sense

Violeta Hernández (Aug 18 2025 at 20:16):

I think this results generalizes to "if every element of a field has finite multiplicative order, so does every element in an algebraic extension"

Violeta Hernández (Aug 18 2025 at 20:17):

(is there a name/any known properties of such a field?)

Aaron Liu (Aug 18 2025 at 20:18):

for field where every element has finite multiplicative order?

Violeta Hernández (Aug 18 2025 at 20:18):

Yep

Violeta Hernández (Aug 18 2025 at 20:18):

This random Math SE user claims these fields are exactly the subfields of Fp\overline{\mathbf F_p}
image.png

Aaron Liu (Aug 18 2025 at 20:18):

AI keeps trying to convince me that it's only finite fields

Violeta Hernández (Aug 18 2025 at 20:19):

yeah AI is very hit or miss

Aaron Liu (Aug 18 2025 at 20:20):

https://math.stackexchange.com/q/4193256

Aaron Liu (Aug 18 2025 at 20:20):

look what I found

Violeta Hernández (Aug 18 2025 at 20:22):

Whoa

Violeta Hernández (Aug 18 2025 at 20:24):

You know, the other day I was going to ask whether we knew what the roots of unity in the nimbers are

Aaron Liu (Aug 18 2025 at 20:25):

now we know

Violeta Hernández (Aug 18 2025 at 20:25):

But I guess the answer is literally just "every single nimber below ω^ω^ω"

Violeta Hernández (Aug 18 2025 at 20:25):

which is awesome

Violeta Hernández (Aug 18 2025 at 20:27):

Oh and awesome, by this same argument every subfield below ω^ω^ω is perfect

Django Peeters (Aug 18 2025 at 20:27):

Niiice

Violeta Hernández (Aug 18 2025 at 20:32):

Wait, why is w^3 a field?

Violeta Hernández (Aug 18 2025 at 20:32):

I get that the next field has to be at least w^3, but why is that a field already?

Violeta Hernández (Aug 18 2025 at 20:32):

Ohhhhh of course because w^3 = 2

Violeta Hernández (Aug 18 2025 at 20:33):

I'm thinking about that result "if x ≤ y are fields, then y is an ordinal power of x"

Violeta Hernández (Aug 18 2025 at 20:34):

This would follow from proving it when y is the next largest field after x

Violeta Hernández (Aug 18 2025 at 20:35):

Is it always true y must be at most x^w?

Violeta Hernández (Aug 18 2025 at 20:35):

It feels true which means it absolutely isn't

Aaron Liu (Aug 18 2025 at 20:36):

try it out some

Violeta Hernández (Aug 18 2025 at 20:36):

I conjecture it's true below w^w^w under the argument "all rings are fields"

Violeta Hernández (Aug 18 2025 at 20:47):

Ok you know what

Violeta Hernández (Aug 18 2025 at 20:47):

I just realized Siegel gives exercises

Violeta Hernández (Aug 18 2025 at 20:47):

I'm going to work through them

Aaron Liu (Aug 18 2025 at 20:47):

wait there's exercises???

Violeta Hernández (Aug 18 2025 at 20:48):

image.png

Violeta Hernández (Aug 18 2025 at 20:48):

Exercise 4.2 is the theorem I was mentioning

Aaron Liu (Aug 18 2025 at 20:48):

goodluck

Violeta Hernández (Aug 18 2025 at 20:51):

Wait.

Violeta Hernández (Aug 18 2025 at 20:51):

How do we know αk\alpha_k exists?

Aaron Liu (Aug 18 2025 at 20:52):

wait what's αk\alpha_k again?

Violeta Hernández (Aug 18 2025 at 20:54):

If pkp_k is the k-th odd prime (p0=3p_0=3) then αpk\alpha_{p_k} is the least nimber with no pp-th root in ωωk\omega^{\omega^k}

Violeta Hernández (Aug 18 2025 at 20:54):

so e.g. α3=2\alpha_3=2

Aaron Liu (Aug 18 2025 at 20:54):

so you're asking why ωωk\omega^{\omega^k} does not have all pkp_k th roots

Violeta Hernández (Aug 18 2025 at 20:54):

yep

Aaron Liu (Aug 18 2025 at 20:58):

try induction?

Aaron Liu (Aug 18 2025 at 21:00):

so all these fields are made by adjoining a root of unity to the previous field

Aaron Liu (Aug 18 2025 at 21:01):

or is it multiple roots of unity?

Violeta Hernández (Aug 18 2025 at 21:02):

I think it's ωωkpki+1\omega^{\omega^k p_k^{i+1}} adds a root of unity to ωωkpki\omega^{\omega^k p_k^i}

Aaron Liu (Aug 18 2025 at 21:03):

and you start with ωω0\omega^{\omega^0} which has all power of two roots but not all of any other root

Violeta Hernández (Aug 18 2025 at 21:03):

I imagine that's what we'd have to prove first

Violeta Hernández (Aug 18 2025 at 21:04):

Probably just an argument about divisors of 2^2^n - 1

Violeta Hernández (Aug 18 2025 at 21:04):

Actually, α7=ω+1\alpha_7 = \omega + 1

Violeta Hernández (Aug 18 2025 at 21:04):

Does that mean ω\omega has all seventh powers?

Aaron Liu (Aug 18 2025 at 21:05):

Oh

Violeta Hernández (Aug 18 2025 at 21:05):

(this isn't necessarily true, but still)

Violeta Hernández (Aug 18 2025 at 21:05):

(could be)

Violeta Hernández (Aug 18 2025 at 21:09):

Well actually, can a finite field of characteristic k have all p-th roots for p ≠ k?

Aaron Liu (Aug 18 2025 at 21:10):

the finite field F2\mathbb{F}_2 has all roots

Violeta Hernández (Aug 18 2025 at 21:10):

True

Violeta Hernández (Aug 18 2025 at 21:13):

Since 23=33=12^3 = 3^3 = 1 no other field F22n\mathbb F_{2^{2^n}} can have all cube roots

Violeta Hernández (Aug 18 2025 at 21:15):

In fact, if pp divides some 22n12^{2^n}-1 then F22n\mathbb F_{2^{2^n}} can't have all pp-th roots and neither can any larger finite field

Aaron Liu (Aug 18 2025 at 21:15):

what about their limit colimit

Violeta Hernández (Aug 18 2025 at 21:16):

Those can't either

Violeta Hernández (Aug 18 2025 at 21:16):

no actually idk

Aaron Liu (Aug 18 2025 at 21:17):

Fin n doesn't have all successors but their colimit does

Violeta Hernández (Aug 18 2025 at 21:18):

Hmm

Violeta Hernández (Aug 18 2025 at 21:19):

Well we can think about the argument for why w doesn't have all cube roots

Aaron Liu (Aug 18 2025 at 21:20):

apparently 2 doesn't have a cube root

Violeta Hernández (Aug 18 2025 at 21:20):

You take 2 which has order 3, a cube root would have order 3 * 3 = 9, but that doesn't exist in any of the finite fields

Violeta Hernández (Aug 18 2025 at 21:20):

Because 9 never divides 2^2^n - 1

Aaron Liu (Aug 18 2025 at 21:20):

so we need a number which never divides 2^2^n-1

Violeta Hernández (Aug 18 2025 at 21:21):

Actually, what primes can divide that?

Violeta Hernández (Aug 18 2025 at 21:22):

Mersenne primes can

Violeta Hernández (Aug 18 2025 at 21:23):

Idk how helpful that is

Aaron Liu (Aug 18 2025 at 21:23):

but we care about not dividing

Aaron Liu (Aug 18 2025 at 21:23):

why does 9 never divide 2^2^n-1

Aaron Liu (Aug 18 2025 at 21:23):

well since 2 has period 6 in 9

Violeta Hernández (Aug 18 2025 at 21:24):

ord_2(9) = 6 and 6 |\ 2^n

Aaron Liu (Aug 18 2025 at 21:25):

wait don't we have an algorithm that calculates αk\alpha_k?

Aaron Liu (Aug 18 2025 at 21:25):

why not just prove the algorithm correct and have that they exist as a consequence

Violeta Hernández (Aug 18 2025 at 21:25):

Yeah but surely proving that it exists is easier than to prove the algorithm correct?

Violeta Hernández (Aug 18 2025 at 21:25):

Surely...

Aaron Liu (Aug 18 2025 at 22:59):

Violeta Hernández said:

Does that mean ω\omega has all seventh powers?

I found this in ONAG

It follows that every finite number has a finite seventh root

Aaron Liu (Aug 18 2025 at 23:10):

I'll cut out this paragraph and put it here

Now the ordinals below the first transcendental are algebraic over previous ones, and so by induction algebraic over the field 2 whose only elements are 0 and 1. It follows that any finite number of such ordinals generate a finite field. Each of these ordinals Δ\Delta which is itself a field defines an algebraic extension of itself. Since these extensions are taken in order of degree where possible, the first extensions will be quadratic, and then when the field is quadratically closed we shall take cubic extensions, then quintic ones, etc. [Since the Galois group of every finite field is abelian, the quadratically closed field remains quadratically closed after taking cubic extensions, etc.]
Moreover, the quadratic extensions will all be by equations of the form x2+x=αx^2 + x = \alpha, since the only lexicographically earlier quadratics are x2=αx^2 = \alpha, and every element of a finite field of characteristic 2 already has a square root in that field. The cubic extensions will be by cube roots, however, since the equation x3=αx2+βx+γx^3 = \alpha x^2 + \beta x + \gamma defines an extension of the field generated by α,β,γ\alpha, \beta, \gamma to a larger finite field, and any finite field extension of degree 3 (and characteristic 2) can be made by a cube root, corresponding to a lexicographically earlier equation. Similar comments apply to the later extensions by fifth roots, seventh roots, etc.

Violeta Hernández (Aug 19 2025 at 02:19):

Oh awesome the OEIS guys got back to me

Violeta Hernández (Aug 19 2025 at 02:20):

Told me 65k terms was way too much

Violeta Hernández (Aug 19 2025 at 02:20):

...even though I've seen sequences with up to 100k terms

Aaron Liu (Aug 19 2025 at 02:21):

So if 2^2^4 is too much then how about 2^2^3

Violeta Hernández (Aug 19 2025 at 02:21):

All the sequences I was expanding the b-files of already had 256 terms

Violeta Hernández (Aug 19 2025 at 02:21):

But that feels like too little

Aaron Liu (Aug 19 2025 at 02:22):

Sucks there's no integers between 3 and 4

Violeta Hernández (Aug 19 2025 at 02:22):

I'm wondering if they would accept the argument of "the next field of nimbers after 256 is 65536, so it's a natural point to stop the sequence"

Violeta Hernández (Aug 19 2025 at 02:30):

Ugh, I hate bureaucracy

Violeta Hernández (Aug 19 2025 at 03:43):

Actually question

Violeta Hernández (Aug 19 2025 at 03:44):

Why is x^5 + 4 the simplest non-split polynomial in ω^ω?

Violeta Hernández (Aug 19 2025 at 03:44):

I mean, I can believe it's cubically closed, but why can't it be a quartic?

Violeta Hernández (Aug 19 2025 at 04:12):

Oh wait I just saw the paragraph you posted

Violeta Hernández (Aug 19 2025 at 04:12):

"since the Galois group of every finite field is abelian, the quadratically closed field remains quadratically closed after taking cubic extensions"
Ok I really need to brush up on Galois theory

Violeta Hernández (Aug 19 2025 at 05:20):

Ohh wait the galois group of a finite field means, over its prime field

Violeta Hernández (Aug 19 2025 at 05:20):

So just the automorphism group

Violeta Hernández (Aug 19 2025 at 05:20):

Which is cyclic, hence abelian

Violeta Hernández (Aug 19 2025 at 06:20):

after reading about galois theory for two hours i still don't understand this statement

Django Peeters (Aug 19 2025 at 06:24):

Violeta Hernández said:

I mean, I can believe it's cubically closed, but why can't it be a quartic?

Cuz every polynomial in x with degree m can be written as a multivariate polynomial in p_1(x),...,p_k(x) with p_1,...,p_k having degrees that cover every unique prime divisor of m?

Django Peeters (Aug 19 2025 at 06:24):

Nah, not multivariate

Django Peeters (Aug 19 2025 at 06:24):

That doesn't feel right

Django Peeters (Aug 19 2025 at 06:25):

Maybe it's just p_1(p_2(....p_k(x)...))

Violeta Hernández (Aug 19 2025 at 06:26):

I think the reasoning is that any extension of degree > 2 has to be by a n-th root

Violeta Hernández (Aug 19 2025 at 06:27):

And if every element of the field has a square root then it of course has a fourth root too

Django Peeters (Aug 19 2025 at 06:33):

This really needs to be translated to Lean.

Violeta Hernández (Aug 19 2025 at 06:41):

If I can even figure it out!

Violeta Hernández (Aug 19 2025 at 06:41):

This paragraph in particular seems to hold the answer to some of my questions, but I can't quite decipher it
image.png

Violeta Hernández (Aug 19 2025 at 06:45):

By quadratic extension, we mean an extension of degree 2, right?

Django Peeters (Aug 19 2025 at 06:45):

Yes

Violeta Hernández (Aug 19 2025 at 06:47):

There's two things I don't get

  • How do you deduce F=E(ω)\mathcal F = \mathcal E(\omega)?
  • Why does the fact that any quadratic extension of P2(ω)\mathcal P_2(\omega) is isomorphic to a subfield of Pω3\mathcal P_{\omega^3} prove it quadratically closed?

Django Peeters (Aug 19 2025 at 06:55):

For F=E(ω)\mathcal{F} = \mathcal{E}(\omega), I think you take the fixfield some subgroup of order 2.

Django Peeters (Aug 19 2025 at 06:56):

To find E\mathcal{E}.

Django Peeters (Aug 19 2025 at 06:58):

Cuz F\mathcal{F} has Galoisgroup C6C_6 over P2\mathcal{P}_2.

Violeta Hernández (Aug 19 2025 at 07:07):

Order 2, or index 2?

Django Peeters (Aug 19 2025 at 07:08):

I think order 2, because then you adjoin ω\omega which triples it to C6C_6.

Django Peeters (Aug 19 2025 at 07:10):

If Pω3\mathcal{P}_{\omega^3} isn't quadratically closed, there is some quadratic extension which adjoins aω3a \geq \omega^3. Then we look at P2(ω,a)\mathcal{P}_2(\omega, a) I think.

Django Peeters (Aug 19 2025 at 07:12):

This must contain a quadratic extension of P2(ω)\mathcal{P}_2(\omega).

Violeta Hernández (Aug 19 2025 at 14:20):

Django Peeters said:

If Pω3\mathcal{P}_{\omega^3} isn't quadratically closed, there is some quadratic extension which adjoins aω3a \geq \omega^3. Then we look at P2(ω,a)\mathcal{P}_2(\omega, a) I think.

But there is, isn't it? e.g adjoining a root of x2ω1x^2 - \omega_1

Aaron Liu (Aug 19 2025 at 14:20):

I don't think that's an algebraic extension of ω3\omega^3

Violeta Hernández (Aug 19 2025 at 14:22):

Isn't every extension by adjoining a root of a polynomial algebraic?

Aaron Liu (Aug 19 2025 at 14:23):

which polynomial with coefficients in ω3\omega^3 is this new root a root of

Aaron Liu (Aug 19 2025 at 14:24):

Violeta Hernández said:

Isn't every extension by adjoining a root of a polynomial algebraic?

I can adjoin a root of the polynomial xπx - \pi to get Q(π)\mathbb{Q}(\pi) but that's not an algebraic extension of Q\mathbb{Q} since π\pi isn't algebraic over Q\mathbb{Q}.

Violeta Hernández (Aug 19 2025 at 14:27):

Ah, of course

Violeta Hernández (Aug 19 2025 at 14:28):

F(α)F(\alpha) is algebraic when α\alpha is a root of a polynomial in F[X]F[X], rather

Violeta Hernández (Aug 19 2025 at 14:36):

So you consider that extension. Then P2(a,ω)\mathcal P_2(a, \omega) is an abelian extension of degree 6, hence has Galois group C6C_6. There's a subgroup with degree 2, which means there's a subextension E\mathcal E of degree 2, which has to be a subfield of Pω\mathcal P_\omega.

Violeta Hernández (Aug 19 2025 at 14:38):

Do we know that E=P2(a)\mathcal E = \mathcal P_2(a) specifically?

Aaron Liu (Aug 19 2025 at 14:38):

the only other choice is P2(ω)\mathcal P_2(\omega)

Aaron Liu (Aug 19 2025 at 14:39):

which has the wrong degree

Violeta Hernández (Aug 19 2025 at 14:39):

Can't aa be, say, a root of x2ωx^2 - \omega?

Violeta Hernández (Aug 19 2025 at 14:40):

That is an algebraic extension of P2(ω)\mathcal P_2(\omega)

Aaron Liu (Aug 19 2025 at 14:40):

ok I lost you

Aaron Liu (Aug 19 2025 at 14:40):

doesn't help that I barely know any galois theory

Violeta Hernández (Aug 19 2025 at 14:41):

I took an entire course on Galois theory like two years ago, but the stuff about the fundamental theorem I didn't remember all that well

Aaron Liu (Aug 19 2025 at 14:41):

oh I guess it could be like P2(a3)\mathcal P_2(a^3) or something

Django Peeters (Aug 19 2025 at 14:41):

I got Galois theory together with more group and field theory.

Django Peeters (Aug 19 2025 at 14:42):

Do we have other literature to look for an argument?

Violeta Hernández (Aug 19 2025 at 14:43):

I haven't found another source going over this proof besides Conway and Siegel

Django Peeters (Aug 19 2025 at 14:46):

Violeta Hernández said:

Can't aa be, say, a root of x2ωx^2 - \omega?

It can.

Django Peeters (Aug 19 2025 at 14:47):

Notebook time

Violeta Hernández (Aug 19 2025 at 14:48):

Actually that would be equivalent to adjoining 2

Violeta Hernández (Aug 19 2025 at 14:48):

Since ω=3ω2\sqrt\omega = 3*\omega^2

Violeta Hernández (Aug 19 2025 at 14:56):

So yeah, E=P2(2)\mathcal E = \mathcal P_2(2)

Django Peeters (Aug 19 2025 at 14:58):

ω=2ω2\sqrt{\omega} = 2\omega^2

Violeta Hernández (Aug 19 2025 at 14:58):

Ok yeah I get it now, since E\mathcal E is a quadratic extension of P2\mathcal P_2 it must be a subset of Pω\mathcal P_\omega, and since ω\omega has a cubic minimal polynomial over Pω\mathcal P_\omega, the extension E(ω)\mathcal E(\omega) must be of degree 6, hence the entire thing

Violeta Hernández (Aug 19 2025 at 14:59):

Django Peeters said:

ω=2ω2\sqrt{\omega} = 2\omega^2

No, isn't (3ω2)2=23ω=ω(3\omega^2)^2 = 2*3*\omega = \omega?

Aaron Liu (Aug 19 2025 at 15:04):

no I don't think so

Aaron Liu (Aug 19 2025 at 15:04):

I'm getting out my multiplication table

Violeta Hernández (Aug 19 2025 at 15:04):

Violeta Hernández said:

This paragraph in particular seems to hold the answer to some of my questions, but I can't quite decipher it
image.png

I think I was a bit confused about the use of "isomorphic" here, but since we're talking about subfields of an algebraically closed field I think you can just say "equal"

Violeta Hernández (Aug 19 2025 at 15:04):

Aaron Liu said:

I'm getting out my multiplication table

Oh no wait I forgot to square the 3

Aaron Liu (Aug 19 2025 at 15:05):

Django Peeters said:

ω=2ω2\sqrt{\omega} = 2\omega^2

I think this one is correct

Violeta Hernández (Aug 19 2025 at 15:05):

Out here doing research level math and I still can't square monomials

Django Peeters (Aug 19 2025 at 15:05):

Lol, it's normal. Everyone does that once in a while.

Aaron Liu (Aug 19 2025 at 15:06):

Violeta Hernández said:

Violeta Hernández said:

This paragraph in particular seems to hold the answer to some of my questions, but I can't quite decipher it
image.png

I think I was a bit confused about the use of "isomorphic" here, but since we're talking about subfields of an algebraically closed field I think you can just say "equal"

You can have disequal subfields which are isomorphic

Violeta Hernández (Aug 19 2025 at 15:06):

Yeah, but I think in this case Siegel did mean equality

Django Peeters (Aug 19 2025 at 15:07):

Django Peeters said:

If Pω3\mathcal{P}_{\omega^3} isn't quadratically closed, there is some quadratic extension which adjoins aω3a \geq \omega^3. Then we look at P2(ω,a)\mathcal{P}_2(\omega, a) I think.

How would you construct the quadratic extension of \mathcal{P}_2(\omega) from this? Because a might have a bigger degree over that subfield.

Violeta Hernández (Aug 19 2025 at 15:12):

Yeah, I'm not sure

Violeta Hernández (Aug 19 2025 at 15:16):

I think the general argument is this: if you have a quadratic extension of a finite degree subfield of Fω3\mathcal F_{\omega^3}, then the Galois group has a subgroup of degree 2, which must give a quadratic extension of F2\mathcal F_2, hence a subfield of Fω\mathcal F_\omega, so then the entire thing is a subfield of Fω3\mathcal F_{\omega^3} (?)

Violeta Hernández (Aug 19 2025 at 15:17):

There has to be some general theorem I'm missing

Aaron Liu (Aug 19 2025 at 15:18):

let's walk through it step by step

Violeta Hernández (Aug 19 2025 at 15:18):

"A cubic extension of a quadratically closed field with abelian Galois group is quadratically closed"

Violeta Hernández (Aug 19 2025 at 15:18):

Is that true in general?

Django Peeters (Aug 19 2025 at 15:19):

Idk, never seen that theorem

Aaron Liu (Aug 19 2025 at 15:22):

AI is telling me that adjoining the cube root of 2 to the quadratic closure of the rationals is a counterexample

Violeta Hernández (Aug 19 2025 at 15:22):

That's not quadratically closed

Aaron Liu (Aug 19 2025 at 15:22):

which one

Violeta Hernández (Aug 19 2025 at 15:23):

Oh wait the quadratic closure of the rationals

Violeta Hernández (Aug 19 2025 at 15:24):

Isn't the Galois group of that infinite

Violeta Hernández (Aug 19 2025 at 15:25):

No idea how it looks

Aaron Liu (Aug 19 2025 at 15:25):

what do you mean "the abelian group"

Aaron Liu (Aug 19 2025 at 15:25):

there are lots of abelian groups

Aaron Liu (Aug 19 2025 at 15:25):

Violeta Hernández said:

Isn't the Galois group of that infinite

Galois group of what over what?

Violeta Hernández (Aug 19 2025 at 15:34):

Over the prime field?

Aaron Liu (Aug 19 2025 at 15:34):

oh sure yeah that's infinite I think

Violeta Hernández (Aug 19 2025 at 15:35):

Maybe you need the original field to be perfect or something like that

Violeta Hernández (Aug 19 2025 at 16:22):

Do you think this is worth asking on Math SE

Aaron Liu (Aug 19 2025 at 16:23):

I'm sure we can figure it out ourselves

Violeta Hernández (Aug 19 2025 at 18:42):

No yeah I'm kind of stuck

Violeta Hernández (Aug 19 2025 at 18:42):

I feel like the puzzle pieces are there

Violeta Hernández (Aug 19 2025 at 18:43):

Every element below w^w^w is algebraic, so every subfield generated by a finite subset is also algebraic and of finite degree

Violeta Hernández (Aug 19 2025 at 18:44):

If you have extensions of a finite field, you can swap the order

Violeta Hernández (Aug 19 2025 at 18:44):

But w isn't a finite field

Violeta Hernández (Aug 19 2025 at 18:44):

Maybe I just need a break from this

Aaron Liu (Aug 19 2025 at 18:45):

Violeta Hernández said:

I feel like the puzzle pieces are there

Did you try aesop, simp_all, and grind?

Violeta Hernández (Aug 19 2025 at 18:46):

I'm far from writing any of this down in Lean

Violeta Hernández (Aug 19 2025 at 18:56):

I think I'll start with the NatNimber stuff instead

Violeta Hernández (Aug 20 2025 at 02:36):

Opened #204 defining nim addition and multiplication on natural numbers (though the latter hasn't been proven correct yet, #eval certainly suggests that it is!)

Violeta Hernández (Aug 20 2025 at 19:05):

Oh, #28586 just got approved thanks to Bhavik's kind help

Violeta Hernández (Aug 20 2025 at 19:06):

So yeah, we really ought to add CNF.eval, and transfer the results about Nimber.oeval there.

Violeta Hernández (Aug 20 2025 at 19:22):

Then we can prove CNF.eval (CNF.coeff b x) = x

Aaron Liu (Aug 20 2025 at 19:22):

so we're doing CNF as Ordinal →₀ Ordinal?

Violeta Hernández (Aug 20 2025 at 19:23):

Well, the list version is still there

Violeta Hernández (Aug 20 2025 at 19:23):

I just presume that we won't really need it much

Aaron Liu (Aug 20 2025 at 19:23):

can we redefine the list version in terms of the finsupp?

Aaron Liu (Aug 20 2025 at 19:24):

I feel like lists are just so much harder to work with

Aaron Liu (Aug 20 2025 at 19:24):

I tried proving an "obvious" theorem with lists and had to give up

Violeta Hernández (Aug 20 2025 at 19:25):

It's probably possible to define the finsupp version without going through lists but I don't really think it's bad to have both versions

Violeta Hernández (Aug 20 2025 at 19:25):

For instance, the result "the CNF evaluates to the original ordinal" is actually nicer to state in terms of lists

Aaron Liu (Aug 20 2025 at 19:25):

what's the statement?

Violeta Hernández (Aug 20 2025 at 19:26):

docs#Ordinal.CNF.foldr

Aaron Liu (Aug 20 2025 at 19:26):

the way I would do it is I would define an evaluation function as the inverse of CNF, and then prove a bunch of stuff about how it works

Violeta Hernández (Aug 20 2025 at 19:27):

Well yeah, as I just mentioned we should in fact do that

Violeta Hernández (Aug 20 2025 at 19:27):

CNF.eval is my proposed name

Aaron Liu (Aug 20 2025 at 19:27):

I still don't really think lists are necessary at all

Violeta Hernández (Aug 20 2025 at 19:28):

They are at least necessary to define CNF.eval

Aaron Liu (Aug 20 2025 at 19:28):

no they aren't

Aaron Liu (Aug 20 2025 at 19:28):

you don't need them

Violeta Hernández (Aug 20 2025 at 19:28):

I don't think we have any mechanisms for multivariate noncommutative addition besides List.sum

Aaron Liu (Aug 20 2025 at 19:29):

docs#FreeAddMonoid

Violeta Hernández (Aug 20 2025 at 19:29):

That's just lists with a wrapper

Violeta Hernández (Aug 20 2025 at 19:29):

But also how would that help here?

Aaron Liu (Aug 20 2025 at 19:30):

lets you define noncommutative sums with docs#FreeAddMonoid.lift

Aaron Liu (Aug 20 2025 at 19:31):

I really thought that they're have somewhere that the algebras of the FreeAddMonoid monad are the add monoids but couldn't find it

Aaron Liu (Aug 20 2025 at 19:32):

Violeta Hernández said:

That's just lists with a wrapper

implementation detail

Aaron Liu (Aug 20 2025 at 19:32):

Multiset is also using List but I don't think of it that way

Violeta Hernández (Aug 20 2025 at 20:22):

Interesting

Violeta Hernández (Aug 20 2025 at 20:23):

Well if you want to try that out, go ahead

Violeta Hernández (Aug 20 2025 at 20:23):

My idea for defining CNF.eval was simply summing b ^ f x * x over the sorted support of f

Violeta Hernández (Aug 21 2025 at 18:00):

I think I'll take a few days break from this. I have some unfinished business relating to Mathlib and ordinals.

Violeta Hernández (Aug 21 2025 at 18:00):

(also, I'd like to redo the oeval stuff using the CNF proper)

Violeta Hernández (Aug 21 2025 at 19:53):

Aaron Liu said:

lets you define noncommutative sums with docs#FreeAddMonoid.lift

I don't really get the connection here

Violeta Hernández (Aug 22 2025 at 16:14):

I tried defining eval through List.sum and honestly the results have been much better than expected

Violeta Hernández (Aug 22 2025 at 16:14):

docs#Finsupp.induction_on_max does a lot of the heavy lifting

Violeta Hernández (Aug 22 2025 at 16:18):

And I think the abstraction of working with raw finsupps instead of juggling degrees and polynomial multiplication really makes things easier

Django Peeters (Aug 23 2025 at 21:22):

Violeta Hernández said:

I think the reasoning is that any extension of degree > 2 has to be by a n-th root

I'm gonna try this in my notebook.

Violeta Hernández (Aug 24 2025 at 01:33):

Haven't come back to this. Tbh this whole ordinal refactoring stuff is hurting my brain, might need to actually take a day or two off from Lean.

Violeta Hernández (Aug 24 2025 at 22:57):

Django Peeters said:

Violeta Hernández said:

I think the reasoning is that any extension of degree > 2 has to be by a n-th root

I'm gonna try this in my notebook.

Any success?

Django Peeters (Aug 25 2025 at 06:13):

Well, I got to the finite field extension that Conway talks about (all roots of x3nxx^{3n}-x over all roots of xnxx^n-x). But not much after that.

Django Peeters (Aug 25 2025 at 06:49):

Apart from n=2, I need to show x^3 isn't surjective on the smaller field, I think.

Violeta Hernández (Aug 25 2025 at 21:57):

I got this answer regarding Pω3P_{\omega^3} the other day
image.png

Violeta Hernández (Aug 25 2025 at 21:57):

I think I might be somewhat mindblocked on this though, I can't really understand the argument

Aaron Liu (Aug 25 2025 at 22:02):

It's okay I don't understand it either

Django Peeters (Aug 25 2025 at 22:05):

Lol

Aaron Liu (Aug 25 2025 at 22:06):

which field is being considered here

Violeta Hernández (Aug 25 2025 at 22:07):

idk

Violeta Hernández (Aug 31 2025 at 00:11):

So, I'm at a bit of a crossroads. I'm currently working on adding the colexicographic ordering on finsupps to mathlib (i.e. the order on Lex (αᵒᵈ →₀ β). This is the relevant ordering for both nimber polynomials and Cantor normal forms (used in oeval). In particular, there is some material relating to docs#Ordinal.CNF.coeff I want to state in terms of this Colex order, which would (hopefully) largely trivialize the material on oeval within our own repo.

Violeta Hernández (Aug 31 2025 at 00:12):

I do expect this to take a while. #29058 is the initial PR where I define the Colex type alias (and use it in lieu of docs#Finset.Colex). I still need to make a followup PR defining the colex ordering on pi types, and a followup doing the same for DFinsupp, and a followup doing the same for Finsupp.

Violeta Hernández (Aug 31 2025 at 00:14):

On the other hand, there are things we could be working on right now that depend on the full simplest extension theorem. The easier one would be continuing the work on NatNimber, the harder one would be to figure out arithmetic before ω ^ ω ^ ω!

Violeta Hernández (Aug 31 2025 at 00:15):

So basically, the two proposals are:

  • Wait for all this material on Colex/the CNF to be added to Mathlib, reprove the stuff on oeval by using it
  • Move what we have now (in the alg_closed branch) to master, refactor it at some later point

Violeta Hernández (Aug 31 2025 at 00:15):

What do you think?

Django Peeters (Aug 31 2025 at 06:22):

I would like to refactor at a later point and work on NatNimber now. Then we can bundle forces later to work on ωωω\omega^{\omega^\omega} and fill in the gaps.

Violeta Hernández (Aug 31 2025 at 06:36):

I agree.

Violeta Hernández (Aug 31 2025 at 06:38):

We shouldn't block our work for months for what's realistically at most like two hundred lines of code less

Violeta Hernández (Aug 31 2025 at 06:40):

I'll PR the stuff on oeval tomorrow.

Violeta Hernández (Aug 31 2025 at 06:41):

On an unrelated note, I felt like it'd be fun trying to define the multivariate Veblen function in Lean.

Violeta Hernández (Aug 31 2025 at 06:42):

If I'm not mistaken, this should be correct:

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

Django Peeters (Aug 31 2025 at 06:44):

Cool! How would you use this?

Violeta Hernández (Aug 31 2025 at 06:44):

If nothing else we'd be able to state Lenstra's conjecture about the next transcendental using this

Violeta Hernández (Aug 31 2025 at 06:45):

Again assuming that I'm correct,

noncomputable def LVO : Ordinal :=
  nfp (fun a  veblen₀ (.single a 0)) 0

Django Peeters (Aug 31 2025 at 06:49):

Maybe we can do something similar to the simplest extension theorems. First the next group, then ring, then field, then perfect closure, quadratic, ...

Violeta Hernández (Aug 31 2025 at 06:51):

I imagine the way to build the next transcendental looks like finding some sequence of nth closed fields, for increasing prime numbers n, then taking the supremum

Violeta Hernández (Aug 31 2025 at 06:52):

Though I'm not clear on which of the theorems that hold below w^w^w also hold beyond it

Violeta Hernández (Aug 31 2025 at 06:52):

e.g. every quartic closed field below w^w^w is in fact quintic closed. Is that true in general?

Django Peeters (Aug 31 2025 at 06:53):

Well, the biggest difference is now we're talking about trancendentals that aren't the first one.

Django Peeters (Aug 31 2025 at 06:53):

So less using finite fields I think.

Violeta Hernández (Aug 31 2025 at 06:55):

Yeah, I'd imagine any results that depended on finite field machinery will not generalize nicely.

Violeta Hernández (Aug 31 2025 at 06:56):

(though I think we'd need to first prove the relevant results below ω ^ ω ^ ω to get full clarity on which results that encompasses)

Django Peeters (Aug 31 2025 at 20:50):

Violeta Hernández said:

Django Peeters said:

Violeta Hernández said:

I think the reasoning is that any extension of degree > 2 has to be by a n-th root

I'm gonna try this in my notebook.

Any success?

Now in the other way. This isn't true at all when the base field has 2 or 8 elements and the extension degree 3. I'm missing something.

Django Peeters (Aug 31 2025 at 21:21):

It works when the base field has a 4-power of elements.

Violeta Hernández (Sep 04 2025 at 21:33):

Violeta Hernández said:

I think I might be somewhat mindblocked on this though, I can't really understand the argument

I've decided to come back to this.

Violeta Hernández (Sep 04 2025 at 21:42):

I'm still trying to figure out what the general form of the theorem we want is. Is the following true always? Adjoining a cube root to a quadratically closed field yields a quadratically closed field.

Violeta Hernández (Sep 04 2025 at 21:43):

In other words, what about PωP_{\omega} is relevant to the fact that Pω3=Pω[23]P_{\omega^3}=P_{\omega}[\sqrt[3]{\ast 2}] is quadratically closed, besides the fact that it's itself quadratically closed?

Violeta Hernández (Sep 04 2025 at 21:56):

I think I am missing one other condition: every element of PωP_\omega is algebraic over the prime field.

Violeta Hernández (Sep 04 2025 at 22:02):

Wait a second I think I've spent so much time thinking about this that I actually just get what Siegel said about this

Aaron Liu (Sep 04 2025 at 22:02):

explain

Violeta Hernández (Sep 04 2025 at 22:05):

So, proving that a field PxP_x is quadratically closed is equivalent to proving that any quadratic extension is isomorphic to a subfield of PxP_x, right?

Violeta Hernández (Sep 04 2025 at 22:06):

For one direction, a quadratic extension of a quadratically closed field is isomorphic to itself

Violeta Hernández (Sep 04 2025 at 22:10):

Wait I don't think the other direction is true?

Violeta Hernández (Sep 04 2025 at 22:10):

Unless you further specify that the isomorphism fixes PxP_x

Violeta Hernández (Sep 04 2025 at 22:11):

Well, at the very least I understand one part of Siegel's argument

Violeta Hernández (Sep 04 2025 at 22:13):

If F\mathcal F is a quadratic extension of P2(ω)P_2(\omega), then it's isomorphic to E(ω)\mathcal E(\omega) for some E\mathcal E isomorphic to a subfield of PωP_\omega

Violeta Hernández (Sep 04 2025 at 22:14):

This is pretty easy to show, actually

Violeta Hernández (Sep 04 2025 at 22:14):

That whole argument about "the Galois group is abelian" can be replaced by some lemmas on finite fields

Violeta Hernández (Sep 04 2025 at 22:15):

[F:P2]=[F:P2(ω)][P2(ω):P2]=6[\mathcal F : P_2] = [\mathcal F : P_2(\omega)][P_2(\omega) : P_2] = 6, which means F\mathcal F is isomorphic to F64\mathbb F_{64}.

Violeta Hernández (Sep 04 2025 at 22:16):

It's a known fact that mnm | n iff Fn\mathbb F_n has a subfield isomorphic to Fm\mathbb F_m.

Violeta Hernández (Sep 04 2025 at 22:17):

So we can get to F64\mathbb F_{64} the other way around, finding an intermediate field isomorphic to F4\mathbb F_4.

Violeta Hernández (Sep 04 2025 at 22:17):

i.e. a quadratic extension of P2P_2

Violeta Hernández (Sep 04 2025 at 22:17):

i.e. a field isomorphic to a subfield of PωP_\omega

Violeta Hernández (Sep 04 2025 at 22:18):

Violeta Hernández said:

If F\mathcal F is a quadratic extension of P2(ω)P_2(\omega), then it's isomorphic to E(ω)\mathcal E(\omega) for some E\mathcal E isomorphic to a subfield of PωP_\omega

Actually, we can skip the double isomorphism: if F\mathcal F is a quadratic extension of P2(ω)P_2(\omega), then it's isomorphic to E(ω)\mathcal E(\omega) for some subfield E\mathcal E of PωP_\omega. In fact, E=P4\mathcal E = P_4 works.

Violeta Hernández (Sep 04 2025 at 22:19):

So F\mathcal F is isomorphic to a subfield of Pω3P_{\omega^3} (in fact P4(ω)P_4(\omega)).

Violeta Hernández (Sep 04 2025 at 22:20):

Now the last thing I don't understand is, why does that mean Pω3P_{\omega^3} is quadratically closed? It feels like it shouldn't be more than a single step to finish.

Aaron Liu (Sep 04 2025 at 22:25):

I will understand this once it goes into Lean

Violeta Hernández (Sep 04 2025 at 22:25):

It's a bit hard to put something into Lean if you don't understand it

Aaron Liu (Sep 04 2025 at 22:25):

I don't understand why things being isomorphic means other things are quadratically closed

Violeta Hernández (Sep 04 2025 at 22:26):

Yeah that's the step I'm not seeing either

Violeta Hernández (Sep 04 2025 at 22:26):

Though I do have an idea.

Violeta Hernández (Sep 04 2025 at 22:27):

Take a quadratic polynomial in Pω3P_{\omega^3}. We want to show there's a root in Pω3P_{\omega^3}.

Aaron Liu (Sep 04 2025 at 22:27):

yup

Aaron Liu (Sep 04 2025 at 22:27):

wlog monic

Violeta Hernández (Sep 04 2025 at 22:29):

The coefficients of this polynomial have the form ωka+b\omega^k a + b for k2k \le 2, a,b<ωa, b < \omega.

Violeta Hernández (Sep 04 2025 at 22:30):

Let F\mathcal F be the subfield generated by these a,ba, b. It's a finite field.

Aaron Liu (Sep 04 2025 at 22:31):

makes sense

Violeta Hernández (Sep 04 2025 at 22:31):

So the root of this polynomial exists in some quadratic extension of F(ω)\mathcal F(\omega)

Aaron Liu (Sep 04 2025 at 22:31):

wait what

Violeta Hernández (Sep 04 2025 at 22:32):

The polynomial has coefficients in F(ω)\mathcal F(\omega) so adding a root of the polynomial means taking a quadratic extension of that

Aaron Liu (Sep 04 2025 at 22:33):

oh that makes sense

Violeta Hernández (Sep 04 2025 at 22:34):

Call the quadratic extension K\mathcal K

Violeta Hernández (Sep 04 2025 at 22:34):

So we have a tower K/F(ω)/F\mathcal K/\mathcal F(\omega)/\mathcal F

Aaron Liu (Sep 04 2025 at 22:34):

so many letters

Violeta Hernández (Sep 04 2025 at 22:35):

And I claim that you can instead find some α\alpha such that K/F(α)/F\mathcal K / \mathcal F(\alpha) / \mathcal F and such that [F(α):F]=2[\mathcal F(\alpha) : \mathcal F]=2

Aaron Liu (Sep 04 2025 at 22:35):

interesting claim

Violeta Hernández (Sep 04 2025 at 22:36):

This is again just lemmas on finite fields

Aaron Liu (Sep 04 2025 at 22:36):

something about galois groups I think?

Violeta Hernández (Sep 04 2025 at 22:36):

"The Galois group is Abelian"

Violeta Hernández (Sep 04 2025 at 22:36):

But I think you don't need that

Aaron Liu (Sep 04 2025 at 22:37):

we can come back to the claim after we use it to prove the lemma

Violeta Hernández (Sep 04 2025 at 22:37):

If kmnk | m | n are prime powers then there's a field tower Fn/Fm/Fk\mathbb F_n / \mathbb F_m / \mathbb F_k

Aaron Liu (Sep 04 2025 at 22:37):

that sounds correct

Violeta Hernández (Sep 04 2025 at 22:38):

Anyways, since F\mathcal F is a subfield of PωP_\omega, and F(α)\mathcal F(\alpha) is a quadratic extension, F(α)\mathcal F(\alpha) will be isomorphic to a subfield of PωP_\omega

Aaron Liu (Sep 04 2025 at 22:39):

PωP_\omega?

Violeta Hernández (Sep 04 2025 at 22:39):

yep

Aaron Liu (Sep 04 2025 at 22:39):

is that supposed to be the nimbers <ω< \omega

Violeta Hernández (Sep 04 2025 at 22:40):

yes

Aaron Liu (Sep 04 2025 at 22:40):

ok that makes sense

Violeta Hernández (Sep 04 2025 at 22:40):

So K=F(α,ω)\mathcal K = \mathcal F(\alpha, \omega) is isomorphic to E(ω)\mathcal E(\omega) for some subfield E\mathcal E of PωP_\omega

Aaron Liu (Sep 04 2025 at 22:41):

that sounds reasonable

Violeta Hernández (Sep 04 2025 at 22:41):

I feel like that should imply that Pω3P_{\omega^3} is quadratically closed but I am missing the last step

Aaron Liu (Sep 04 2025 at 22:42):

I feel like I'm missing the point of all this

Aaron Liu (Sep 04 2025 at 22:42):

you do some field magic and then

Violeta Hernández (Sep 04 2025 at 22:43):

The general idea is that a quadratic extension of a cubic extension should roughly be the same as a cubic extension of a quadratic extension, which should land you back in your field

Aaron Liu (Sep 04 2025 at 22:44):

why is K=F(α,ω)\mathcal K = \mathcal F (\alpha, \omega)

Violeta Hernández (Sep 04 2025 at 22:44):

Not entirely sure

Violeta Hernández (Sep 04 2025 at 22:45):

Let's file that one under "Galois shenanigans" and come back to it later

Violeta Hernández (Sep 04 2025 at 22:47):

Actually, is α\alpha the root that we wanted to find?

Aaron Liu (Sep 04 2025 at 22:49):

what happens if it is?

Aaron Liu (Sep 04 2025 at 22:51):

do we like pull it across the isomorphisms or something

Violeta Hernández (Sep 04 2025 at 22:54):

Wait I got it!

Aaron Liu (Sep 04 2025 at 22:54):

yay

Aaron Liu (Sep 04 2025 at 22:54):

tell me tell me

Violeta Hernández (Sep 04 2025 at 22:54):

Ok so

Violeta Hernández (Sep 04 2025 at 22:56):

Violeta Hernández said:

The polynomial has coefficients in F(ω)\mathcal F(\omega) so adding a root of the polynomial means taking a quadratic extension of that

Let α\alpha be a root of that

Aaron Liu (Sep 04 2025 at 22:56):

α\alpha is in the extension?

Violeta Hernández (Sep 04 2025 at 22:56):

Yep

Violeta Hernández (Sep 04 2025 at 22:56):

So we have our rhombus of four fields

Violeta Hernández (Sep 04 2025 at 22:57):

F(α,ω)\mathcal F(\alpha, \omega) containing F(α)\mathcal F(\alpha), F(ω)\mathcal F(\omega), and F\mathcal F at the bottom

Violeta Hernández (Sep 04 2025 at 22:58):

So, F(α)\mathcal F(\alpha) is isomorphic to a subfield of PωP_\omega, meaning F(α,ω)\mathcal F(\alpha, \omega) is isomorphic to a subfield of Pω3P_{\omega^3}, but crucially, the isomorphism preserves both F\mathcal F and ω\omega, i.e. it preserves the coefficients of the polynomial

Violeta Hernández (Sep 04 2025 at 22:58):

Meaning that whatever α\alpha gets mapped to is the root of the polynomial we wanted

Aaron Liu (Sep 04 2025 at 22:58):

uhm ok

Aaron Liu (Sep 04 2025 at 22:58):

yeah sure

Aaron Liu (Sep 04 2025 at 23:00):

why is F(α)\mathcal F (\alpha) isomorphic to a subfield of PωP_\omega

Violeta Hernández (Sep 04 2025 at 23:00):

Because F\mathcal F is a subfield of PωP_\omega, and F(α)\mathcal F(\alpha) is a quadratic extension, and PωP_\omega is quadratically closed

Aaron Liu (Sep 04 2025 at 23:01):

why is F(α)\mathcal F (\alpha) a quadratic extension

Violeta Hernández (Sep 04 2025 at 23:02):

Ok I think it's worth thinking about the Galois shenanigans now

Violeta Hernández (Sep 04 2025 at 23:02):

We know that [F(α,ω):F(ω)]=2[\mathcal F(\alpha,\omega):\mathcal F(\omega)]=2

Violeta Hernández (Sep 04 2025 at 23:03):

The claim is that [F(α):F]=2[\mathcal F(\alpha):\mathcal F]=2

Aaron Liu (Sep 04 2025 at 23:03):

yes that sounds correct

Violeta Hernández (Sep 04 2025 at 23:08):

Yeah idk

Violeta Hernández (Sep 04 2025 at 23:08):

Can we use the fundamental theorem of Galois theory?

Violeta Hernández (Sep 04 2025 at 23:09):

What's the automorphism group of F(α,ω)/F\mathcal F(\alpha,\omega)/\mathcal F? Do we know for a fact it's just C2×C3C_2\times C_3?

Violeta Hernández (Sep 04 2025 at 23:11):

Actually yes we do! Every finite extension of a finite field is Abelian

Violeta Hernández (Sep 04 2025 at 23:14):

Actually wait a second

Aaron Liu (Sep 04 2025 at 23:15):

ok so my polynomial is x2ωx ^ 2 - \omega which has a double root ω22\omega ^ 2 2 of order 18 9 and F=F2\mathcal F = \mathbb{F}_2 having two elements and F(α)\mathcal F (\alpha) has at least 18 9

Aaron Liu (Sep 04 2025 at 23:16):

that seems to contradict what you said but I'm not sure

Violeta Hernández (Sep 04 2025 at 23:16):

That does in fact seem to contradict what I said

Aaron Liu (Sep 04 2025 at 23:18):

sometimes you just need to put a little effort into finding counterexamples

Violeta Hernández (Sep 04 2025 at 23:19):

Actually isn't the order 9

Violeta Hernández (Sep 04 2025 at 23:19):

I mean that still contradicts what I said

Aaron Liu (Sep 04 2025 at 23:19):

is it 9?

Aaron Liu (Sep 04 2025 at 23:19):

oh it is 9

Violeta Hernández (Sep 04 2025 at 23:21):

In fact this is interesting because ω22=ω5\omega^22 = \omega^5 meaning F(α,ω)=F(ω)=F(α)\mathcal F(\alpha,\omega)=\mathcal F(\omega) = \mathcal F(\alpha)

Aaron Liu (Sep 04 2025 at 23:21):

you do get the subfield F(2)\mathcal F (2)

Aaron Liu (Sep 04 2025 at 23:21):

which is quadratic

Violeta Hernández (Sep 04 2025 at 23:23):

I think what happens here is that if your quadratic polynomial already has a root in F(ω)\mathcal F(\omega) then F(α,ω)\mathcal F(\alpha,\omega) is no longer a quadratic extension

Violeta Hernández (Sep 04 2025 at 23:23):

Of course, if that happens, then you already have the root that you wanted

Violeta Hernández (Sep 04 2025 at 23:31):

And in fact... isn't the entire point that this always happens?

Violeta Hernández (Sep 04 2025 at 23:31):

So really this is moreso a proof by contradiction

Violeta Hernández (Sep 04 2025 at 23:33):

...actually I don't think this always happens but I don't have a counterexample at hand

Violeta Hernández (Sep 04 2025 at 23:53):

In either case, the lemma we're missing is the following. If F\mathcal F is a finite field, and α,β\alpha,\beta are elements in some algebraic completion such that [F(α):F][\mathcal F(\alpha):\mathcal F] and [F(α,β):F(α)][\mathcal F(\alpha,\beta):\mathcal F(\alpha)] are coprime (distinct primes?), then [F(α,β):F(α)]=[F(β):F][\mathcal F(\alpha,\beta):\mathcal F(\alpha)]=[\mathcal F(\beta):\mathcal F].

Violeta Hernández (Sep 05 2025 at 00:04):

No, I don't think that's true. What if α\alpha is a cube root of xx, and β\beta is a sixth root of xx?

Aaron Liu (Sep 05 2025 at 00:04):

I found an irreducible polynomial

Aaron Liu (Sep 05 2025 at 00:05):

X2+X+ω+2X ^ 2 + X + \omega + 2 does not factor in P2(ω)P_2 (\omega)

Violeta Hernández (Sep 05 2025 at 00:05):

22 isn't in P2(ω)P_2(\omega) though

Violeta Hernández (Sep 05 2025 at 00:06):

oh no wait it is

Aaron Liu (Sep 05 2025 at 00:06):

it's ω3\omega ^ 3

Aaron Liu (Sep 05 2025 at 00:06):

how can we compute its root in Pω3P_{\omega^3}

Violeta Hernández (Sep 05 2025 at 00:07):

First we turn it into a polynomial of the form X2+aX^2 + a

Violeta Hernández (Sep 05 2025 at 00:07):

Actually maybe we don't need to do that

Violeta Hernández (Sep 05 2025 at 00:07):

Can't we just write X=ω2a+ωb+cX = \omega^2 a + \omega b + c, expand everything, match like terms

Aaron Liu (Sep 05 2025 at 00:08):

that sounds tedious

Violeta Hernández (Sep 05 2025 at 00:08):

It's slightly easier when you remember (a+b)2=a2+b2(a + b)^2 = a^2 + b^2

Aaron Liu (Sep 05 2025 at 00:10):

ω2(a+b)+ω(a+b)+c2+c+ω+2=0\omega ^ 2 (a + b) + \omega (a + b) + c ^ 2 + c + \omega + 2 = 0

Aaron Liu (Sep 05 2025 at 00:10):

is that correct

Aaron Liu (Sep 05 2025 at 00:10):

no I missed a factor

Aaron Liu (Sep 05 2025 at 00:10):

ω2(a+b2)+ω(2a2+b+1)+c2+c+2=0\omega ^ 2 (a + b ^ 2) + \omega (2a ^ 2 + b + 1) + c ^ 2 + c + 2 = 0

Violeta Hernández (Sep 05 2025 at 00:10):

Yep that's exactly what I got

Aaron Liu (Sep 05 2025 at 00:11):

this looks slightly tricky

Aaron Liu (Sep 05 2025 at 00:12):

how do we solve all of these simultaneously

Violeta Hernández (Sep 05 2025 at 00:12):

c=4c = 4

Violeta Hernández (Sep 05 2025 at 00:12):

We have a=b2a = b^2 so we really only want to solve 2b4+b+1=02b^4 + b + 1=0

Violeta Hernández (Sep 05 2025 at 00:13):

b=2b = 2

Violeta Hernández (Sep 05 2025 at 00:13):

a=3a = 3

Aaron Liu (Sep 05 2025 at 00:14):

does this method work to solve every equation of type X2+X+ω2a+ωb+c=0X ^ 2 + X + \omega^2 a + \omega b + c = 0

Violeta Hernández (Sep 05 2025 at 00:14):

My method was trial and error lol

Aaron Liu (Sep 05 2025 at 00:14):

I mean assuming you can solve quadratics in PωP_\omega

Violeta Hernández (Sep 05 2025 at 00:15):

I don't know

Violeta Hernández (Sep 05 2025 at 00:15):

We kinda ended up with a quartic polynomial in there

Aaron Liu (Sep 05 2025 at 00:15):

whoops

Aaron Liu (Sep 05 2025 at 00:17):

should I find another irreducible

Violeta Hernández (Sep 05 2025 at 00:19):

Why did we want to find irreducibles?

Aaron Liu (Sep 05 2025 at 00:19):

because the reducibles have roots obviously

Violeta Hernández (Sep 05 2025 at 00:19):

Ah yes of course

Violeta Hernández (Sep 05 2025 at 00:19):

Hm I want to test something first

Violeta Hernández (Sep 05 2025 at 00:20):

Let α=ω23+ω2+4\alpha = \omega^23 + \omega2 + 4

Violeta Hernández (Sep 05 2025 at 00:20):

Is P4(α)P_4(\alpha) a quadratic extension?

Aaron Liu (Sep 05 2025 at 00:20):

just a sec I have to tell my CAS to pass to a field extension

Aaron Liu (Sep 05 2025 at 00:21):

this is the field with 4096 elements?

Violeta Hernández (Sep 05 2025 at 00:21):

yikes

Violeta Hernández (Sep 05 2025 at 00:22):

So it's a sixth degree extension

Aaron Liu (Sep 05 2025 at 00:22):

well P16(ω)P_{16} (\omega) has 4096 elements

Aaron Liu (Sep 05 2025 at 00:22):

I haven't checked P16(α)P_{16} (\alpha) yet

Violeta Hernández (Sep 05 2025 at 00:23):

Isn't F=P4\mathcal F = P_4 though

Aaron Liu (Sep 05 2025 at 00:23):

wait no it was supposed to be P4P_4

Aaron Liu (Sep 05 2025 at 00:24):

so I want the minimal polynomial of ω23+ω2+4\omega ^ 2 3 + \omega 2 + 4 over P4P_4

Aaron Liu (Sep 05 2025 at 00:24):

I'll just test all the polynomials lexographically

Violeta Hernández (Sep 05 2025 at 00:25):

I'm starting to think that my argument might just not work in this form

Violeta Hernández (Sep 05 2025 at 00:26):

We know that F(α,ω)\mathcal F(\alpha,\omega) has degree 6, so we know there's some intermediate field between that and F\mathcal F with degree 2

Violeta Hernández (Sep 05 2025 at 00:26):

We don't know if it's F(α)\mathcal F(\alpha)

Violeta Hernández (Sep 05 2025 at 00:29):

Call this intermediate field E\mathcal E

Violeta Hernández (Sep 05 2025 at 00:30):

We know ωE\omega \notin \mathcal E since otherwise F(ω)E\mathcal F(\omega)\subseteq \mathcal E would have degree at least 3

Violeta Hernández (Sep 05 2025 at 00:30):

Therefore [E(ω):E]>1[\mathcal E(\omega):\mathcal E]>1

Violeta Hernández (Sep 05 2025 at 00:30):

Which means E(ω)=F(α,ω)\mathcal E(\omega) = \mathcal F(\alpha,\omega)

Violeta Hernández (Sep 05 2025 at 00:31):

i.e. αE(ω)\alpha \in \mathcal E(\omega)

Violeta Hernández (Sep 05 2025 at 00:32):

Since E\mathcal E is a quadratic extension of FPω\mathcal F\subseteq P_\omega, it's isomorphic to a subfield of PωP_\omega

Violeta Hernández (Sep 05 2025 at 00:32):

So E(ω)\mathcal E(\omega) is isomorphic to a subfield of Pω3P_{\omega^3}

Violeta Hernández (Sep 05 2025 at 00:32):

And again, the isomorphism preserves both F\mathcal F and ω\omega

Violeta Hernández (Sep 05 2025 at 00:33):

Meaning that it preserves our polynomial

Violeta Hernández (Sep 05 2025 at 00:33):

Meaning that this isomorphism sends α\alpha to a root of the polynomial

Violeta Hernández (Sep 05 2025 at 00:33):

QED

Violeta Hernández (Sep 05 2025 at 00:33):

please tell me this works

Aaron Liu (Sep 05 2025 at 00:55):

can you use it to find some roots

Violeta Hernández (Sep 05 2025 at 00:59):

I don't know if we can find E\mathcal E constructively

Aaron Liu (Sep 05 2025 at 01:00):

it's a finite field

Aaron Liu (Sep 05 2025 at 01:00):

worst case test all the subfields

Violeta Hernández (Sep 05 2025 at 01:05):

Thing is, we know αE(ω)\alpha \in\mathcal E(\omega), but the proof doesn't tell you how to represent α\alpha in terms of elements of E\mathcal E or ω\omega

Aaron Liu (Sep 05 2025 at 01:15):

Violeta Hernández said:

Is P4(α)P_4(\alpha) a quadratic extension?

I found the minimal polynomial

Violeta Hernández (Sep 05 2025 at 01:18):

Which is?

Aaron Liu (Sep 05 2025 at 01:18):

α\alpha is a root of X3+4X2+4X+7X ^ 3 + 4 X ^ 2 + 4 X + 7 and this polynomial is irreducible over P16P_{16} (wait did you want me to find the minpoly over P16P_{16} or P4P_4?)

Aaron Liu (Sep 05 2025 at 01:20):

α\alpha is a root of X6+X5+3X4+X3+X2+3X+3X ^ 6 + X ^ 5 + 3 X ^ 4 + X ^ 3 + X ^ 2 + 3 X + 3 and this polynomial is irreducible over P4P_4

Aaron Liu (Sep 05 2025 at 01:21):

it became a lot faster to test after I found out the minpoly over a field extension is an irreducible factor of the minpoly over the prime field

Violeta Hernández (Sep 05 2025 at 01:23):

Yep, so basically EF(α)\mathcal E\ne\mathcal F(\alpha) in general

Aaron Liu (Sep 05 2025 at 01:36):

Violeta Hernández said:

Thing is, we know αE(ω)\alpha \in\mathcal E(\omega), but the proof doesn't tell you how to represent α\alpha in terms of elements of E\mathcal E or ω\omega

we want "degree 2 intermediate field" which is a decidable predicate on subsets of F(α,ω)\mathcal F (\alpha, \omega) so check them all

Aaron Liu (Sep 05 2025 at 01:38):

and if αE(ω)\alpha \in \mathcal E (\omega) then check all the elements

Aaron Liu (Sep 05 2025 at 01:39):

there's only finitely many after all

Aaron Liu (Sep 05 2025 at 01:39):

this is the power of Fintype + DecidableEq

Aaron Liu (Sep 05 2025 at 01:44):

so do you think you could do this in Lean now

Violeta Hernández (Sep 05 2025 at 02:22):

yikes

Violeta Hernández (Sep 05 2025 at 02:23):

Can I do this in Lean? Not yet

Violeta Hernández (Sep 05 2025 at 02:23):

I need to first figure out the general form of this argument

Aaron Liu (Sep 05 2025 at 02:24):

what's the general statement?

Violeta Hernández (Sep 05 2025 at 02:26):

Well we haven't even finished the very next sentence

Aaron Liu (Sep 05 2025 at 02:28):

what's the next sentence

Violeta Hernández (Sep 05 2025 at 02:29):

image.png
Why is that the case?

Violeta Hernández (Sep 05 2025 at 02:32):

Don't tell me I need to expand (ω2a+ωb+c)3(\omega^2a+\omega b+c)^3 to figure this out

Aaron Liu (Sep 05 2025 at 02:34):

I have an argument that feels too simple to be correct

Violeta Hernández (Sep 05 2025 at 02:34):

Go ahead

Aaron Liu (Sep 05 2025 at 02:44):

So let α<ω\alpha < \omega then consider the field F\mathcal F generated by 22 and α\alpha and assume it doesn't have a cube root of α\alpha then adjoing a cube root of α\alpha gives a degree 3 extension and F(ω)\mathcal F (\omega) is a degree 3 extension so they're isomorphic

Aaron Liu (Sep 05 2025 at 02:45):

I think all the degree 3 extensions are isomorphic

Aaron Liu (Sep 05 2025 at 02:46):

oh and the isomorphism has to fix F\mathcal F

Aaron Liu (Sep 05 2025 at 02:46):

does this work at all???

Violeta Hernández (Sep 05 2025 at 02:46):

Let me think

Violeta Hernández (Sep 05 2025 at 02:47):

Yeah it feels correct

Aaron Liu (Sep 05 2025 at 02:47):

oh that's great

Violeta Hernández (Sep 05 2025 at 02:49):

Though actually wait

Violeta Hernández (Sep 05 2025 at 02:49):

Why do we know there's an automorphism fixing F\mathcal F?

Violeta Hernández (Sep 05 2025 at 02:50):

Any two splitting fields of the same field by the same polynomial are isomorphic, but do we further know that some isomorphism fixes the base field?

Aaron Liu (Sep 05 2025 at 02:51):

uhm all the automorphism of the base field are powers of frobenius

Aaron Liu (Sep 05 2025 at 02:51):

so you can patch it up by composing with an appropriate power of frobenius

Violeta Hernández (Sep 05 2025 at 02:51):

Actually wait our splitting fields are not by the same polynomial so this doesn't matter

Aaron Liu (Sep 05 2025 at 02:52):

they have the same finite cardinality

Violeta Hernández (Sep 05 2025 at 02:52):

Rather we have two different extensions F(α)\mathcal F(\alpha) and F(β)\mathcal F(\beta) of the same degree, and the question is whether some isomorphism between both preserves F\mathcal F

Aaron Liu (Sep 05 2025 at 02:54):

They have the same finite cardinality so an isomorphism exists which will act on the base field by a power of frobenius

Aaron Liu (Sep 05 2025 at 02:54):

compose with the inverse power of frobenius on either side

Violeta Hernández (Sep 05 2025 at 02:55):

This feels correct yeah

Aaron Liu (Sep 05 2025 at 02:55):

wow that was a lot easier than expected

Violeta Hernández (Sep 05 2025 at 03:01):

Well, there's also the other direction

Violeta Hernández (Sep 05 2025 at 03:01):

Why does ω\omega not have a cube root in Pω3P_{\omega^3}?

Violeta Hernández (Sep 05 2025 at 03:29):

Put another way, why does adding a cube root of 2 preclude from adding a ninth root as well?

Violeta Hernández (Sep 05 2025 at 05:12):

Ok ok ok ok I think I Know why this is

Violeta Hernández (Sep 05 2025 at 05:13):

Had a bit of help from someone way more intelligent than me

Violeta Hernández (Sep 05 2025 at 05:16):

Suppose ω\omega had a cube root ω2a+ωb+c\omega^2a + \omega b + c for a,b,c<ωa,b,c<\omega. Take the finite field FPω\mathcal F\subseteq P_{\omega} generated by 2,a,b,c2,a,b,c. Thus, the hypothesis is that ω\omega has a cube root in F(ω)\mathcal F(\omega).

Violeta Hernández (Sep 05 2025 at 05:23):

Let xx be a primitive root of F(ω)\mathcal F(\omega). Let k=F31F1k=\frac{|F|^3-1}{|F|-1}. Then xkx^k is a primitive root of F\mathcal F. Write xnk=2x^{nk} = 2. Since 22 is not a cube root in F\mathcal F, we have 3n3\nmid n. Since 33 divides kk exactly once (by Lifting the Exponent), 22 can't have any ninth roots, i.e. ω\omega can't have any cube roots.

Violeta Hernández (Sep 05 2025 at 05:29):

Awesome! We have a pen-and-paper proof that Pω3P_{\omega^3} is a quadratically closed field and [ω3]3=ω[\omega^3]^3=\omega and it only took like two weeks

Violeta Hernández (Sep 05 2025 at 05:30):

So the very first thing I think we should do is figure out the general forms of the lemmas we made use of

Violeta Hernández (Sep 05 2025 at 05:34):

Theorem 1: Suppose F\mathcal F is algebraic over its prime field and is nn-th degree closed. Let p>np > n be prime, and consider an algebraic extension F(α)\mathcal F(\alpha) of degree pp. Then F(α)\mathcal F(\alpha) is nn-th degree closed.

Violeta Hernández (Sep 05 2025 at 05:34):

I think that's the general form of that first result

Violeta Hernández (Sep 05 2025 at 05:43):

...we're still missing things.

Violeta Hernández (Sep 05 2025 at 05:44):

Why is an nn-th degree closed field also mm-th degree closed for mm less than the next prime pp after nn?

Violeta Hernández (Sep 05 2025 at 05:51):

Page 447 seems relevant
image.png

Violeta Hernández (Sep 05 2025 at 05:55):

So actually I have no idea if e.g. every quartic closed field is quintic closed

Violeta Hernández (Sep 05 2025 at 05:55):

I guess the argument doesn't extend past ωωω\omega^{\omega^\omega}

Violeta Hernández (Sep 05 2025 at 05:55):

Which admittedly seems to be a common theme here

Violeta Hernández (Sep 05 2025 at 06:11):

Violeta Hernández said:

Theorem 1: Suppose F\mathcal F is algebraic over its prime field and is nn-th degree closed. Let p>np > n be prime, and consider an algebraic extension F(α)\mathcal F(\alpha) of degree pp. Then F(α)\mathcal F(\alpha) is nn-th degree closed.

Proof: Let q1F[X]q_1\in\mathcal F[X] be the minimal polynomial of α\alpha. Let q2F(α)[X]q_2\in\mathcal F(\alpha)[X] be a polynomial of degree n\le n, and let β\beta be a root in the algebraic completion. Let d=[G(α,β):G(α)]nd = [\mathcal G(\alpha,\beta) : \mathcal G(\alpha)] \le n. Let GF\mathcal G\subseteq\mathcal F be the finite subfield generated by the coefficients of q1q_1 and q2q_2.

The field extension G(α,β)G(\alpha,\beta) has degree dpdp over GG. We can find a subfield E\mathcal E with degree dd over GG. We can't have αE\alpha\in \mathcal E, as otherwise G(α)EG(\alpha)\subseteq \mathcal E would have degree at least p>dp > d. Thus E(α)=G(α,β).\mathcal E(\alpha) = \mathcal G(\alpha,\beta).

Since F\mathcal F is dd-th degree closed, E\mathcal E is isomorphic to a subfield of F\mathcal F, and thus E(α)\mathcal E(\alpha) is isomorphic to a subfield of F(α)\mathcal F(\alpha). Moreover, there's an isomorphism which fixes G\mathcal G and α\alpha. Therefore, the map of β\beta under this isomorphism must be a root of q2q_2.

Violeta Hernández (Sep 05 2025 at 06:45):

Actually, there's an auxiliary lemma we can get out of this.

Theorem 0: Suppose F\mathcal F is algebraic over its prime field, and F(α)\mathcal F(\alpha) is a finite extension. There exists a finite subfield GF\mathcal G\subseteq\mathcal F such that for any subfield GH\mathcal G\subseteq \mathcal H, we have [H(α):H]=[F(α):F][\mathcal H(\alpha):\mathcal H] = [\mathcal F(\alpha) : \mathcal F].

Violeta Hernández (Sep 05 2025 at 06:46):

This is just the "take the subfield generated by the minimal polynomial's coefficients" argument

Violeta Hernández (Sep 05 2025 at 06:46):

But I imagine we will be using this more than once

Violeta Hernández (Sep 05 2025 at 07:46):

Oh btw I asked Siegel and he mentioned a much better way to show ω doesn't have a cube root below [ω³]

Violeta Hernández (Sep 05 2025 at 07:46):

2^(3*2^n) - 1 can't be divisible by 27

Violeta Hernández (Sep 05 2025 at 07:50):

I wonder if this is the sort of argument we need to establish the existence of α_p.

Kevin Buzzard (Sep 05 2025 at 15:38):

I'm not following this thread closely so sorry if this is not relevant, but the way the Galois theory of finite fields works is that if kk is a finite field then up to kk-isomorphism there's a unique extension of degree nn for any positive integer nn, which is Galois, meaning that if k\overline{k} is an algebraic closure of kk then the Galois group of k/k\overline{k}/k is Z^\widehat{\Z}, the profinite completion of Z\Z. Closed subgroups of this group thus correspond to subfields kLkk\subseteq L\subseteq\overline{k}. Now Z^=pZp\widehat{\Z}=\prod_p\Z_p and if one fixes a prime pp and looks at the projection onto qpZq\prod_{q\ne p}\Z_q then this has kernel Zp\Z_p which is then the absolute Galois group of the corresponding fixed field kpk_p, an infinite field whose only finite extensions are Galois with group cyclic of pp-power order. Such a field, it seems to me, will be nn th degree closed iff ... wait. What does nn th degree closed actually even mean? All polynomials of degree nn have a root, or all polynomials of degree nn factor into linear factors? The two things are the same for n=2n=2 but differ in general. I'm suddenly unclear about whether what I'm writing is relevant.

Aaron Liu (Sep 05 2025 at 15:40):

Kevin Buzzard said:

... wait. What does $$n$$th degree closed actually even mean? All polynomials of degree nn have a root, or all polynomials of degree nn factor into linear factors? The two things are the same for n=2n=2 but differ in general. I'm suddenly unclear about whether what I'm writing is relevant.

It's "all polynomials of degree ≤ n have a root" I think

Kevin Buzzard (Sep 05 2025 at 15:40):

(deleted)

Aaron Liu (Sep 05 2025 at 15:41):

do you have a better suggestion?

Kevin Buzzard (Sep 05 2025 at 15:41):

Oh degree at most nn?

Aaron Liu (Sep 05 2025 at 15:41):

yes

Kevin Buzzard (Sep 05 2025 at 15:41):

So that's the same as "all polynomials of degree at most n split into linear factors"?

Aaron Liu (Sep 05 2025 at 15:41):

I think that's equivalent

Aaron Liu (Sep 05 2025 at 15:42):

since you can repeatedly factor out the root

Kevin Buzzard (Sep 05 2025 at 15:43):

So my field kpk_p is nn th degree closed iff n<pn<p.

Kevin Buzzard (Sep 05 2025 at 15:45):

There are no irreducible polynomials of degree p+1p+1 over this field but it's not p+1p+1 th degree closed because you do XX times an irreducible poly of degree pp.

Aaron Liu (Sep 05 2025 at 16:12):

The Nimbers are an algebraically closed Field of characteristic 2 whose elements are the ordinals. We can learn about this Field by studying the sets Iio x. In particular, if Iio x is closed under the field operations (it is a subfield) and is not algebraically closed, then x is the root of the lexographically earliest polynomial with coefficients in Iio x which does not have a root in Iio x, and if this polynomial has degree n then for m < n and o < x and p < x ^ m we have x ^ m * o + p (where addition and multiplication and exponentiation are the nimber operations) is equal to [x ^ m * o + p] (where addition and multiplication and exponentiation are the ordinal operations)

Violeta Hernández (Sep 06 2025 at 00:55):

I think we can actually characterize the intermediate subfields below the first transcendental quite well

Aaron Liu (Sep 06 2025 at 00:56):

but can we prove the characterization is the problem

Violeta Hernández (Sep 06 2025 at 00:57):

Actually wait I'm not so sure

Aaron Liu (Sep 06 2025 at 00:57):

uh oh

Violeta Hernández (Sep 06 2025 at 00:57):

Nimbers below ω are just the direct limit of fields GF(2^2^n)

Violeta Hernández (Sep 06 2025 at 00:57):

Simple enough

Violeta Hernández (Sep 06 2025 at 00:58):

Is it accurate to say nimbers below ω^ω are a direct limit of fields GF(2^2^n) and also GF(2^3^n)?

Violeta Hernández (Sep 06 2025 at 00:58):

Or rather GF(2^(2^m * 3^n))?

Aaron Liu (Sep 06 2025 at 00:59):

what's your diagram

Violeta Hernández (Sep 06 2025 at 00:59):

GF(2^a) → GF(2^b) through the unique embedding when a | b

Aaron Liu (Sep 06 2025 at 01:00):

you take all the quadratic extensions and you take all the cubic extensions right

Violeta Hernández (Sep 06 2025 at 01:01):

and then the quintic extensions and so on

Violeta Hernández (Sep 06 2025 at 01:01):

Actually on this note

Violeta Hernández (Sep 06 2025 at 01:01):

Is it correct to say the algebraic completion of 2 is the direct limit of literally every single finite field of characteristic 2?

Aaron Liu (Sep 06 2025 at 01:02):

probably

Aaron Liu (Sep 06 2025 at 01:05):

well every nonzero element of the algebraic closure is a root of unity and generates a finite field

Aaron Liu (Sep 06 2025 at 01:05):

and every element of a finite field is algebraic over the prime field

Violeta Hernández (Sep 06 2025 at 01:08):

Actually, conjecture

Violeta Hernández (Sep 06 2025 at 01:10):

Each of these intermediate fields of nimbers looks like the direct limit of fields GF(2^(2^a_1 * 3^a_2 * ... * p^a_n)) where all the exponents vary over the integers, save for potentially the last one which might be bounded

Aaron Liu (Sep 06 2025 at 01:10):

which one is bounded

Aaron Liu (Sep 06 2025 at 01:11):

oh I get what you mean

Aaron Liu (Sep 06 2025 at 01:11):

yeah this seems true enough

Aaron Liu (Sep 06 2025 at 01:14):

hold on this is some category theory

Aaron Liu (Sep 06 2025 at 01:15):

even though I don't usually think of field theory as category theory since galois theory exists

Violeta Hernández (Sep 06 2025 at 01:17):

I mean I don't think this characterization will help much

Violeta Hernández (Sep 06 2025 at 01:17):

But it at least means we can state our intermediate results without alluding to the nimbers

Aaron Liu (Sep 06 2025 at 01:17):

this colimit seems like it's obviously nth degree closed

Aaron Liu (Sep 06 2025 at 01:17):

very obviously

Aaron Liu (Sep 06 2025 at 01:18):

for n < p

Aaron Liu (Sep 06 2025 at 01:19):

and it's probably unique up to non-canonical isomorphism with certain properties

Aaron Liu (Sep 06 2025 at 01:19):

the category of fields has all filtered colimits so I can start doing some category theory

Aaron Liu (Sep 06 2025 at 01:23):

to get a filtered colimit we need some squares to commute

Aaron Liu (Sep 06 2025 at 01:24):

specifically, embedding GF a into GF a*b into GF a*b*c should be the same as embedding GF a into GF a*c into GF a*c*b

Aaron Liu (Sep 06 2025 at 01:25):

is this true?

Violeta Hernández (Sep 06 2025 at 01:41):

of course it is

Violeta Hernández (Sep 06 2025 at 01:41):

Wait no I don't know

Violeta Hernández (Sep 06 2025 at 01:42):

GF(a*b) has a unique subfield of size GF(a) but there's as many embeddings as there's automorphisms of said field

Violeta Hernández (Sep 06 2025 at 01:44):

In fact that sort of calls into question how we're defining the direct limit to begin with

Aaron Liu (Sep 06 2025 at 01:50):

wait are these inclusions unique

Aaron Liu (Sep 06 2025 at 01:51):

well no since we have nontrivial automorphisms

Aaron Liu (Sep 06 2025 at 02:02):

well it should be possible to make them all commute

Aaron Liu (Sep 06 2025 at 02:03):

just choose embeddings GF2nF2\text{GF}_{2^n} \hookrightarrow \overline{\mathbb{F}_2} for every nn and use the inclusions

Aaron Liu (Sep 06 2025 at 02:31):

ok I have a question

Aaron Liu (Sep 06 2025 at 02:37):

Suppose I have numbers a,b,c,dN+a, b, c, d \in \mathbb{N}^+ such that a=gcd(b,c)a = \gcd(b, c), and d=lcm(b,c)d = \operatorname{lcm}(b, c). Suppose I have field homomorphisms f:GF2aGF2bf : \text{GF}_{2^a} \hookrightarrow \text{GF}_{2^b} and g:GF2aGF2cg : \text{GF}_{2^a} \hookrightarrow \text{GF}_{2^c}. Is does there always exist inl:GF2bGF2d\text{inl} : \text{GF}_{2^b} \hookrightarrow \text{GF}_{2^d} and inr:GF2bGF2d\text{inr} : \text{GF}_{2^b} \hookrightarrow \text{GF}_{2^d} making the square a docs#CategoryTheory.BicartesianSq

Aaron Liu (Sep 06 2025 at 02:59):

I was able to get AI to spit out a reasonable-looking proof

Violeta Hernández (Sep 06 2025 at 03:13):

Unrelated but I think life would be easier if we wrote GFp(α)\textrm{GF}_p(\alpha) instead of GF(pα)\textrm{GF}(p^{\alpha})

Aaron Liu (Sep 06 2025 at 03:14):

we can do that no one's stopping us

Aaron Liu (Sep 06 2025 at 03:21):

look what I found https://math.stackexchange.com/a/2627324

Aaron Liu (Sep 06 2025 at 03:21):

isn't this what we're looking for

Aaron Liu (Sep 06 2025 at 03:23):

I think it's saying essentially the same thing but this seems like much more understandable

Violeta Hernández (Sep 06 2025 at 05:23):

Aaron Liu said:

look what I found https://math.stackexchange.com/a/2627324

Ok so, how do we formalize this in Lean?

Violeta Hernández (Sep 06 2025 at 05:24):

Do we need/should we have a typeclass for "every polynomial of degree n splits"?

Violeta Hernández (Sep 06 2025 at 05:25):

How do we write down the condition "every algebraic extension is abelian"?

Violeta Hernández (Sep 06 2025 at 05:46):

Actually, how do we know that e.g. every algebraic extension of the quadratic closure of F2\mathbb F_2 is abelian?

Violeta Hernández (Sep 06 2025 at 05:47):

Presumably it's the same argument of passing to finite fields, but I'm unsure on the details

Violeta Hernández (Sep 06 2025 at 07:24):

Oh on an unrelated note, I finally remembered to do this: https://github.com/vihdzp/combinatorial-games/pull/231

Kevin Buzzard (Sep 06 2025 at 08:50):

Violeta Hernández said:

Is it correct to say the algebraic completion of 2 is the direct limit of literally every single finite field of characteristic 2?

What do you mean by "the algebraic completion"? You've said this phrase several times. Do you mean "an algebraic closure"? There are set-theoretic difficulties with the phrase "direct limit of literally every single finite field of characteristic 2" and there are also issues with the fact that usually in a direct limit you have precisely one map from X_i to X_j if i<=j, so your statement needs to be made more precise, but if you believe in universes then yes one algebraic closure of F_2 (this is not a thing which is unique up to unique isomorphism so I'm reluctant to use "the" and would rather use "a") is a certain filtered colimit of all finite fields of characteristic 2. I'm reluctant to call it a direct limit because of all the automorphisms.

You can also describe the filtered colimit of all these F_{2^2^n} fields; the absolute Galois group of F_2 is Z-hat which has a quotient isomorphic to Z_2, the 2-adic integers, and within a fixed alg closure the subfield corresponding to this quotient is the colimt of the F_{2^2^n}, a field extension of F_2 with Galois group Z_2.

Violeta Hernández (Sep 06 2025 at 08:54):

I mean algebraic closure, yes. That's a slip-up I've been corrected on multiple times...

Yeah, I realized a bit later that maps GF(m)GF(n)\textrm{GF}(m) \to \textrm{GF}(n) are not generally unique. But as Aaron said, the fact that F2\overline{\mathbb F_2} is a direct limit of a particular directed system that does include every finite field of characteristic 2, means that you can unambiguously talk about direct limits of any subset of these fields.

Violeta Hernández (Sep 06 2025 at 08:56):

Well, "every finite field of characteristic 2" really means "one field of characteristic 2 for every possible cardinality", which provides the skeleton of the direct system so to speak.

Kevin Buzzard (Sep 06 2025 at 08:58):

Aaron Liu said:

Suppose I have numbers a,b,c,dN+a, b, c, d \in \mathbb{N}^+ such that a=gcd(b,c)a = \gcd(b, c), and d=lcm(b,c)d = \operatorname{lcm}(b, c). Suppose I have field homomorphisms f:GF2aGF2bf : \text{GF}_{2^a} \hookrightarrow \text{GF}_{2^b} and g:GF2aGF2cg : \text{GF}_{2^a} \hookrightarrow \text{GF}_{2^c}. Is does there always exist inl:GF2bGF2d\text{inl} : \text{GF}_{2^b} \hookrightarrow \text{GF}_{2^d} and inr:GF2bGF2d\text{inr} : \text{GF}_{2^b} \hookrightarrow \text{GF}_{2^d} making the square a docs#CategoryTheory.BicartesianSq

I don't see why you need any of these gcd/lcm assumptions. they can just be replaced with divisibility assumptions to ensure the maps exist. If you have fields K,L,MK,L,M and injections KLK\to L and KMK\to M making MM and LL algebraic over KK then take an algebraic closure M\overline{M} of MM; this is an algebraic closure of KK, so there's a KK-algebra map LML\to\overline{M} and now just let NN be the smallest subfield of M\overline{M} containing MM and the image of LL. My mental model is KMMK\subseteq M\subseteq \overline{M} and then LL is this random other thing but you can just squish LL into M\overline{M} KK-linearly and now everything becomes an inclusion.

Kevin Buzzard (Sep 06 2025 at 08:59):

Violeta Hernández said:

Actually, how do we know that e.g. every algebraic extension of the quadratic closure of F2\mathbb F_2 is abelian?

Galois theory! Any subquotient of an abelian group is abelian.

Violeta Hernández (Sep 06 2025 at 09:00):

Just to make sure, the abelian group in question here is Z^\widehat{\mathbb Z}, right?

Kevin Buzzard (Sep 06 2025 at 09:16):

Right. The fundamental theorem of (infinite) Galois theory goes like this. If L/KL/K is an algebraic, normal and separable extension (a.k.a. a "Galois extension") then the KK-algebra automorphisms of LL (aka the Galois group of LL over KK) is a group GG (group law is composition) which is naturally endowed with a topology called the Krull topology, making it into a profinite group. GG is finite iff LL is a finite-dimensional KK-vector space, in which case the topology is discrete (a.k.a. "not there"), and this is the case taught to undergraduates (without any mention of topology). You're interested in the infinite case. The theorem in the infinite case is that there's a canonical bijection between the closed subgroups HH of GG and the intermediate fields KMLK\subseteq M\subseteq L; the maps in both directions are "the first thing you'd think of", there is nothing deep in the maps; the hard part is proving that they're inverse bijections. The maps are: given the subgroup, look at the subfield of things fixed pointwise by all elements of the subgroup, and given the subfield, look at the group elements which fix the subfield pointwise.

If GG is abelian (the only case you're interested in, by the looks of it) then both L/ML/M and M/KM/K are also Galois (this would not be true in general for GG nonabelian because some subgroups are not normal so M/KM/K might not be normal), and the thing which you want to be true is true; the Galois group of L/ML/M is algebraically and topologically HH, and the Galois group of M/KM/K is algebraically and topologically G/HG/H, via the obvious maps (again the maps are obvious, it's checking that everything is a bijection which is hard).

Galois theory of finite fields; if kk is a finite field and k\overline{k} is an algebraic closure of kk then the Galois group of k/k\overline{k}/k is algebraically and topologically Z^\widehat{\Z}, and the usual isomorphism sends 1Z^1\in\widehat{\Z} to xxnx\mapsto x^n where n=kn=|k|.

If KK is a field of characteristic pp and is algebraic over Fp\mathbb{F}_p (which seems to be the only case you're interested in) then every algebraic extension of KK is automatically normal and separable, so you can forget these adjectives and just think always about algebraic extensions. So your question written carefully, if I've understood it correctly, is a special case of "if F2\overline{\mathbb{F}}_2 is a fixed algebraic closure of F2\mathbb{F}_2 and if F2KLF2\mathbb{F}_2\subseteq K\subseteq L\subseteq \overline{\mathbb{F}_2} are intermediate fields then do I know that L/KL/K is Galois with abelian Galois group?" and the answer is "yes, because general field theory tells you it's algebraic, normal (because Z^\widehat{\Z} is abelian as are all its subgroups and quotients) and separable, and then the fundamental theorem Galois theory applied twice tells you that the Galois group is a quotient of a subgroup of Z^\widehat{\Z}"

Violeta Hernández (Sep 06 2025 at 09:45):

Thank you! This is all really helpful.

Violeta Hernández (Sep 06 2025 at 09:45):

(Wasn't expecting having to get this deep into field theory to formalize funny multiplication on ordinals)

Kevin Buzzard (Sep 06 2025 at 09:59):

(I just edited a bit, fixed typos, added a couple of comments etc, let me know if there's anything unclear).

Usually people think of Z^\widehat{\Z} as the projective limit of Z/nZ\Z/n\Z for n1n\geq1 but in your case with base F2\mathbb{F}_2 it seems also helpful to think of it as pZp\prod_p\Z_p, product over all primes, because then quotients like Z2\Z_2 correspond to extensions which are just the union of all subfields of size 22n2^{2^n} and Z3\Z_3 corresponds to the extension which is the union of all the subfields of size 23n2^{3^n} etc.

Aaron Liu (Sep 06 2025 at 10:04):

I learned some Galois theory today

Violeta Hernández (Sep 07 2025 at 01:54):

Wait, question

Aaron Liu (Sep 07 2025 at 01:54):

yes?

Violeta Hernández (Sep 07 2025 at 01:55):

Suppose x is a nimber that is a field that isn't algebraically closed

Violeta Hernández (Sep 07 2025 at 01:56):

Does that necessarily mean the next ring is also a field?

Aaron Liu (Sep 07 2025 at 01:56):

yes

Aaron Liu (Sep 07 2025 at 01:56):

since every nonzero element is a root of unity

Violeta Hernández (Sep 07 2025 at 01:56):

That's true if x < w^w^w

Violeta Hernández (Sep 07 2025 at 01:57):

But is it true in general?

Aaron Liu (Sep 07 2025 at 01:57):

oh that's not what I thought you asked for

Aaron Liu (Sep 07 2025 at 01:57):

I must have misinterpreted

Violeta Hernández (Sep 07 2025 at 01:58):

Not all rings are fields

Violeta Hernández (Sep 07 2025 at 01:58):

...I think, I don't have a concrete counterexample

Violeta Hernández (Sep 07 2025 at 01:59):

The question is rather, if you have a field, do you keep getting fields until the next transcendental?

Aaron Liu (Sep 07 2025 at 02:00):

I have ONAG open here

Violeta Hernández (Sep 07 2025 at 02:00):

I would imagine yes, since the simplest extension theorems tell you that x is the root of some irreducible polynomial in the field

Violeta Hernández (Sep 07 2025 at 02:00):

Which means the next ring is an algebraic extension

Violeta Hernández (Sep 07 2025 at 02:01):

And an algebraic extension of a field is also a field, right?

Aaron Liu (Sep 07 2025 at 02:01):

ONAG claims that ωωω\omega^{\omega^\omega} is the first trancendental, and ωωω+1\omega^{\omega^{\omega+1}} is the next ring after that (which is not a field), and the next field is ωωωω\omega^{\omega^{\omega^\omega}}

Violeta Hernández (Sep 07 2025 at 02:02):

So what I'm claiming is that every single ring from ωωωω\omega^{\omega^{\omega^\omega}} all the way to the next transcendental is also a field

Violeta Hernández (Sep 07 2025 at 02:03):

Pretty crazy if true

Aaron Liu (Sep 07 2025 at 02:06):

so since ωωωω\omega^{\omega^{\omega^\omega}} is a field which is not algebraically closed, we have that it must be the root of some irreducible polynomial (that polynomial happens to be X2ωωωX^2 - \omega^{\omega^\omega}), so the next ring must be generated by this element, so you have a field adjoining the root of an irreducible polynomial, which must be a field

Aaron Liu (Sep 07 2025 at 02:06):

is that the argument?

Violeta Hernández (Sep 07 2025 at 02:08):

I think so yes

Violeta Hernández (Sep 07 2025 at 02:09):

It sounds too good to be true

Aaron Liu (Sep 07 2025 at 02:10):

the argument is very simple

Aaron Liu (Sep 07 2025 at 02:10):

try checking it into Lean

Violeta Hernández (Sep 07 2025 at 02:10):

We can write it in Lean like this

Aaron Liu (Sep 07 2025 at 02:10):

the only part I'm not sure about is the one where the new root has to generate the extension

Violeta Hernández (Sep 07 2025 at 02:11):

IsField x and (simplestIrreducible x).degree = n implies IsField (of (x.val ^ n))

Aaron Liu (Sep 07 2025 at 02:11):

but the new root generating the extension seems like the "simplest" thing to do

Aaron Liu (Sep 07 2025 at 02:12):

yeah it does generate it

Aaron Liu (Sep 07 2025 at 02:12):

that's one of the simplest extension theorems or a corollary or something

Violeta Hernández (Sep 07 2025 at 02:12):

Well, if the simplest irreducible polynomial has degree n then the first n - 1 powers of x are the same as the ordinal powers

Violeta Hernández (Sep 07 2025 at 02:13):

IsRing (of (x.val ^ n)) should be pretty easy

Violeta Hernández (Sep 07 2025 at 02:14):

What I don't know is how to write this argument in Lean

Violeta Hernández (Sep 07 2025 at 02:14):

The field part

Aaron Liu (Sep 07 2025 at 02:15):

looks like docs#AdjoinRoot.instField

Violeta Hernández (Sep 07 2025 at 02:15):

Ah yeah that's definitely it

Aaron Liu (Sep 07 2025 at 02:15):

you can pull the field-ness along docs#IsAdjoinRoot.adjoinRootAlgEquiv

Aaron Liu (Sep 07 2025 at 02:15):

using docs#MulEquiv.isField

Violeta Hernández (Sep 07 2025 at 02:16):

Nice

Violeta Hernández (Sep 07 2025 at 02:16):

So we don't even need to use that argument of "finite rings are fields"

Violeta Hernández (Sep 07 2025 at 02:16):

to prove that 2^2^n is a field

Aaron Liu (Sep 07 2025 at 02:17):

oh yeah I guess that's true

Aaron Liu (Sep 07 2025 at 02:17):

we just need "finite fields aren't algebraically closed"

Violeta Hernández (Sep 07 2025 at 02:17):

Well we don't even need that

Violeta Hernández (Sep 07 2025 at 02:18):

The inductive argument proves both that 2^2^n is a field and that x^2 + x + 2^(2^n - 1) is the simplest irreducible polynomial for it

Violeta Hernández (Sep 07 2025 at 02:19):

Now, question

Violeta Hernández (Sep 07 2025 at 02:19):

Can we use this to show problem 3?

Aaron Liu (Sep 07 2025 at 02:19):

what's problem 3

Violeta Hernández (Sep 07 2025 at 02:20):

That if x ≤ y are fields, then y is an ordinal power of x

Violeta Hernández (Sep 07 2025 at 02:20):

We can show that this is true below the first transcendental

Violeta Hernández (Sep 07 2025 at 02:21):

but why do we know that e.g. the next field after w^w^w is a power of it?

Aaron Liu (Sep 07 2025 at 02:21):

well what do we have so far?

Violeta Hernández (Sep 07 2025 at 02:22):

If y is the next largest field after x, and x is not algebraically closed, then y is an ordinal power of x

Violeta Hernández (Sep 07 2025 at 02:22):

The supremum of fields is a field

Violeta Hernández (Sep 07 2025 at 02:22):

So that's enough to prove the result below w^w^w

Aaron Liu (Sep 07 2025 at 02:23):

I guess think of all the things you need to adjoin to make it a field

Violeta Hernández (Sep 07 2025 at 02:24):

If x is algebraically closed then the next ring is x^w

Aaron Liu (Sep 07 2025 at 02:24):

yes

Violeta Hernández (Sep 07 2025 at 02:25):

...actually, is there a chance this result is true for rings as well?

Aaron Liu (Sep 07 2025 at 02:25):

this ring is isomorphic to the polynomials w^w^w[X]

Aaron Liu (Sep 07 2025 at 02:25):

Violeta Hernández said:

...actually, is there a chance this result is true for rings as well?

who knows do you want to try it

Violeta Hernández (Sep 07 2025 at 02:26):

w^w^(w + 1) is a ring that isn't a field so it is the inverse of the first element without an inverse which is w

Aaron Liu (Sep 07 2025 at 02:26):

correct

Violeta Hernández (Sep 07 2025 at 02:26):

So the next ring is... Laurent series over w^w^w?

Violeta Hernández (Sep 07 2025 at 02:26):

Does that make any sense?

Aaron Liu (Sep 07 2025 at 02:27):

not series

Aaron Liu (Sep 07 2025 at 02:27):

only finitely many terms

Aaron Liu (Sep 07 2025 at 02:27):

and this ring is w^w^(w+2)

Aaron Liu (Sep 07 2025 at 02:27):

and w^w^(w+2) is the inverse of w^w^w+1

Violeta Hernández (Sep 07 2025 at 02:28):

huh

Aaron Liu (Sep 07 2025 at 02:28):

since all the earlier things have an inverse already

Aaron Liu (Sep 07 2025 at 02:29):

is that true?

Violeta Hernández (Sep 07 2025 at 02:30):

It seems true

Aaron Liu (Sep 07 2025 at 02:30):

did I screw up the arithmetic

Aaron Liu (Sep 07 2025 at 02:30):

maybe that was supposed to be w^(w^(w+1)*2)

Violeta Hernández (Sep 07 2025 at 02:30):

no I think it was correct

Violeta Hernández (Sep 07 2025 at 02:31):

(w^w^x)^w = w^(w^x * w) = w^w^(x + 1)

Aaron Liu (Sep 07 2025 at 02:31):

these power towers are really big

Violeta Hernández (Sep 07 2025 at 02:31):

Wait until we get to e0

Aaron Liu (Sep 07 2025 at 02:32):

ok so w^w^(w+1) is the inverse of the w^w^w

Violeta Hernández (Sep 07 2025 at 02:32):

Yeah

Violeta Hernández (Sep 07 2025 at 02:33):

Question: will the rings until the next field all just be the previous one to the w power?

Aaron Liu (Sep 07 2025 at 02:33):

so w^(w^(w+1)+w^w) is the square of that

Aaron Liu (Sep 07 2025 at 02:34):

and in general w^(w^(w+1)+w^w*n) is the -n-th power of w^w^w, for finite n

Aaron Liu (Sep 07 2025 at 02:35):

and then taking all the powers together, w^(w^(w+1)+w^w*w) is the next ring

Violeta Hernández (Sep 07 2025 at 02:36):

Aaron Liu said:

so w^(w^(w+1)+w^w) is the square of that

wait why?

Aaron Liu (Sep 07 2025 at 02:36):

w^w^(w+1) * w^w^(w+1) is the smallest product without a solution

Violeta Hernández (Sep 07 2025 at 02:37):

without a solution?

Aaron Liu (Sep 07 2025 at 02:38):

the smallest product not less than w^(w^(w+1)+w^w)

Aaron Liu (Sep 07 2025 at 02:38):

lexographically

Aaron Liu (Sep 07 2025 at 02:39):

by simplest extension theorem (multiplication), w^w^(w+1) * w^w^(w+1) = w^(w^(w+1)+w^w)

Violeta Hernández (Sep 07 2025 at 02:44):

wait a sec I'm confused

Violeta Hernández (Sep 07 2025 at 02:46):

I know the simplest extension theorem I just don't know where w^(w^(w+1)+w^w) is coming from

Aaron Liu (Sep 07 2025 at 02:46):

oh

Aaron Liu (Sep 07 2025 at 02:48):

let me check the simplest extension theorems

Aaron Liu (Sep 07 2025 at 02:48):

I think it comes from w^w^(w+1)*w^w^w

Violeta Hernández (Sep 07 2025 at 02:49):

Ah yes

Violeta Hernández (Sep 07 2025 at 02:49):

in a ring multiplying by a smaller number is the same in ordinal and nimber arithmetic

Aaron Liu (Sep 07 2025 at 02:49):

yeah something like that probably

Violeta Hernández (Sep 07 2025 at 02:50):

IsRing.mul_eq_of_lt

Aaron Liu (Sep 07 2025 at 02:50):

yeah that one I'm looking at it right now

Aaron Liu (Sep 07 2025 at 02:50):

well, I'm looking at the primed version

Violeta Hernández (Sep 07 2025 at 02:50):

I wish we could have docs# be customized for channels like this

Aaron Liu (Sep 07 2025 at 02:53):

anyways so we have the next ring is w^(w^(w+1)*2) which is generated by the transcendental element and its inverse

Aaron Liu (Sep 07 2025 at 02:57):

then by the same argument, w^(w^(w+1)*2+1) is its square

Aaron Liu (Sep 07 2025 at 02:58):

and the next ring is w^(w^(w+1)*3)

Aaron Liu (Sep 07 2025 at 02:59):

which is then the inverse of w^w^w+2

Aaron Liu (Sep 07 2025 at 03:00):

probably make this argument universally quantified

Violeta Hernández (Sep 07 2025 at 03:00):

Aaron Liu said:

w^w^(w+1) * w^w^(w+1) is the smallest product without a solution

Wait, aren't you misapplying that theorem?

Aaron Liu (Sep 07 2025 at 03:00):

am I?

Violeta Hernández (Sep 07 2025 at 03:00):

"z is the lexicographically earliest product of things below z" only applies when z is a group but not a ring

Violeta Hernández (Sep 07 2025 at 03:01):

But here we do have a ring

Violeta Hernández (Sep 07 2025 at 03:01):

So what gives?

Aaron Liu (Sep 07 2025 at 03:01):

it's not a ring though

Aaron Liu (Sep 07 2025 at 03:01):

since w^w^(w+1) does not have a square

Violeta Hernández (Sep 07 2025 at 03:01):

w^w^(w+1) is a ring

Violeta Hernández (Sep 07 2025 at 03:01):

Or what group are you applying it with?

Aaron Liu (Sep 07 2025 at 03:02):

applying it with w^(w^(w+1)+w^w)

Aaron Liu (Sep 07 2025 at 03:04):

in which w^w^(w+1) does not have a square, so w^(w^(w+1)+w^w) must be the square of w^w^(w+1)

Violeta Hernández (Sep 07 2025 at 03:04):

Ok I think I see the argument

Violeta Hernández (Sep 07 2025 at 03:04):

lemme think about it a bit though

Violeta Hernández (Sep 07 2025 at 03:09):

Wait

Violeta Hernández (Sep 07 2025 at 03:09):

Suppose x is a ring but not a field

Violeta Hernández (Sep 07 2025 at 03:09):

Does that mean x * x is always the next group after x?

Violeta Hernández (Sep 07 2025 at 03:09):

No absolutely not

Violeta Hernández (Sep 07 2025 at 03:10):

oh wait lol my counterexample was 2*2 = 3 but that is a field

Violeta Hernández (Sep 07 2025 at 03:17):

yeah no I'm completely stuck on why w^w^(w+1) * w^w^(w+1) = w^(w^(w+1)+w^w). How do you know its product is at least w^(w^(w+1)+w^w)? How do you know all lexicographically smaller products are less than that?

Violeta Hernández (Sep 07 2025 at 03:18):

Is this a general instance of a theorem of the form "if x is a ring but not a field then x*x equals y"?

Aaron Liu (Sep 07 2025 at 03:20):

observe that (w^w^w)^w*w^w is a group
observe that (w^w^w)^w is a ring
observe that w^w^w is a group
observe that (w^w^w)^w is the inverse of w^w^w

let x, y < (w^w^w)^w, then x * y < (w^w^w)^w since it is a ring, and this is less than (w^w^w)^w
let x = (w^w^w)^w and let y < (w^w^w)^w, then express y as a "polynomial" sum of (w^w^w)^n*a_n+...+a_0 for a_i < w^w^w, then x * y = (w^w^w)^(n-1)a_n + ... + xa_0, since w^w^w is an n-th degree closed field and x is the inverse of w^w^w, and rearranging gives x*a_0 + (polynomial) = (w^w^w)^w*a_0 + (polynomial) < (w^w^w)^w*a_0 + (w^w^w)^w < (w^w^w)^w*(a_0+1) < (w^w^w)^w*w^w

Aaron Liu (Sep 07 2025 at 03:20):

is that clear

Aaron Liu (Sep 07 2025 at 03:23):

basically if you think of w^w^w as the base field

Aaron Liu (Sep 07 2025 at 03:23):

then (w^w^w)^w is the polynomials X^n*a_n + X^(n-1)*a_{n-1} + ... + a_0

Aaron Liu (Sep 07 2025 at 03:24):

and (w^w^w)^w*w^w is the extended polynomials X^n*a_n + ... + a_0 + X^(-1)*a_{-1} where we have negative one terms

Violeta Hernández (Sep 07 2025 at 03:28):

one sec

Violeta Hernández (Sep 07 2025 at 03:31):

So if y < (w^w^w)^w then (w^w^w)^w * y < (w^w^w)^w * w^w^w

Violeta Hernández (Sep 07 2025 at 03:32):

ahh yes

Violeta Hernández (Sep 07 2025 at 03:33):

More generally if x is algebraically closed then x^w * x^w = x^(w+1) right?

Aaron Liu (Sep 07 2025 at 03:34):

maybe

Aaron Liu (Sep 07 2025 at 03:34):

try proving it

Violeta Hernández (Sep 07 2025 at 03:34):

It should be literally the same argument

Violeta Hernández (Sep 07 2025 at 03:35):

x^w is a ring, x^(w+1) is a group

Violeta Hernández (Sep 07 2025 at 03:36):

If y, z < x^w then y * z < x^w

Aaron Liu (Sep 07 2025 at 03:37):

yeah I believe you

Violeta Hernández (Sep 07 2025 at 03:37):

If y < x^w then x^w * y = a + x^w * z for a < x^w and z < x

Aaron Liu (Sep 07 2025 at 03:37):

it's the same argument

Violeta Hernández (Sep 07 2025 at 03:38):

Actually just one missing step

Violeta Hernández (Sep 07 2025 at 03:38):

Why is x^w * x^w not smaller than x^(w+1)?

Aaron Liu (Sep 07 2025 at 03:39):

things smaller then x^(w+1) are those polynomials with the extra X^-1 term

Aaron Liu (Sep 07 2025 at 03:39):

X^-2 is not one of those

Violeta Hernández (Sep 07 2025 at 03:40):

Convinces me

Violeta Hernández (Sep 07 2025 at 03:40):

So the next rings after an algebraically closed x are x^w, then x^(w+1)

Violeta Hernández (Sep 07 2025 at 03:40):

and then?

Aaron Liu (Sep 07 2025 at 03:41):

x^(w+1) still isn't a ring

Violeta Hernández (Sep 07 2025 at 03:41):

hmm

Aaron Liu (Sep 07 2025 at 03:42):

since x^w doesn't have a cube

Violeta Hernández (Sep 07 2025 at 03:42):

x^w is the inverse of x, x^(w+1) is the inverse of x^2

Violeta Hernández (Sep 07 2025 at 03:42):

Do you also have x^(w+2) be the inverse of x^3?

Violeta Hernández (Sep 07 2025 at 03:46):

Wait, before we continue

Violeta Hernández (Sep 07 2025 at 03:46):

Wait, before we continue

Violeta Hernández (Sep 07 2025 at 03:47):

Is there a chance these results are published somewhere?

Violeta Hernández (Sep 07 2025 at 03:47):

Conway is completely capable of saying "w^w^w^w is the next field" and refusing to elaborate but perhaps Lenstra discusses this?

Aaron Liu (Sep 07 2025 at 03:48):

I wouldn't know

Aaron Liu (Sep 07 2025 at 03:48):

but so far I'm reading straight out of ONAG

Violeta Hernández (Sep 07 2025 at 03:58):

There's a grand total of four sources I know for results about nimbers:

  • Conway, On Numbers and Games
  • Siegel, Combinatorial Games
  • Lenstra, On the Algebraic Closure of Two
  • Lenstra, Nim Multiplication

Violeta Hernández (Sep 07 2025 at 03:58):

I know for a fact none of the first three have anything beyond ω^ω^ω, will look at the last

Violeta Hernández (Sep 07 2025 at 04:02):

Oh wow that last paper is a gold mine

Violeta Hernández (Sep 07 2025 at 04:03):

Comes with a lot of exercises i.e. formalization targets

Violeta Hernández (Sep 07 2025 at 04:05):

There's a fifth simplest extension theorem?!

Violeta Hernández (Sep 07 2025 at 04:05):

image.png
Excuse me?

Violeta Hernández (Sep 07 2025 at 04:07):

Oh nevermind, this is just a trivial consequence of the fourth one

Violeta Hernández (Sep 07 2025 at 04:07):

A field being non-perfect in characteristic 2 just means some element is not a square

Aaron Liu (Sep 07 2025 at 04:07):

remind me what a perfect field is

Aaron Liu (Sep 07 2025 at 04:07):

and why it's important

Violeta Hernández (Sep 07 2025 at 04:08):

In this case the simplest irreducible polynomial is just x² + β

Aaron Liu (Sep 07 2025 at 04:08):

oh ok

Violeta Hernández (Sep 07 2025 at 04:09):

Found something which seems relevant

Violeta Hernández (Sep 07 2025 at 04:10):

image.png
image.png

Violeta Hernández (Sep 07 2025 at 04:10):

t ⚬⚬ n is typewriter speak for t ^ n

Aaron Liu (Sep 07 2025 at 04:11):

typewriter?

Violeta Hernández (Sep 07 2025 at 04:11):

well you can see the font

Violeta Hernández (Sep 07 2025 at 04:11):

this feels pre-LaTeX

Aaron Liu (Sep 07 2025 at 04:12):

This all looks pretty similar to the stuff in ONAG

Violeta Hernández (Sep 07 2025 at 04:12):

In fact Lenstra proves below that if x is algebraically closed, then the next perfect field (is this just the next quadratic field?) is the next epsilon number after x

Violeta Hernández (Sep 07 2025 at 04:15):

Yeah I think this paper contains the state of the art regarding nim arithmetic above ω^ω^ω;

Aaron Liu (Sep 07 2025 at 04:15):

that's interesting since ONAG claims that the first perfect field after w^w^w is w^w^(w^w+1)

Violeta Hernández (Sep 07 2025 at 04:16):

Presumably Lenstra means quadratic closure, then

Aaron Liu (Sep 07 2025 at 04:16):

yeah that makes sense

Violeta Hernández (Sep 07 2025 at 04:18):

You know after opening ONAG myself things make a lot more sense

Violeta Hernández (Sep 07 2025 at 04:18):

I didn't remember that whole page about the nimbers below ω^ω^ω^ω

Violeta Hernández (Sep 07 2025 at 04:21):

So basically what we want to prove is this
image.png

Violeta Hernández (Sep 07 2025 at 04:21):

Which presumably works for any t that's algebraically closed, α < t and n : ℕ

Violeta Hernández (Sep 07 2025 at 04:25):

Which then, presumably, implies the next field after an algebraically closed t is always t ^ t

Violeta Hernández (Sep 07 2025 at 04:26):

It's probably worth nothing that the equation t ^ t = ω ^ t doesn't hold in general

Violeta Hernández (Sep 07 2025 at 04:26):

At the very least, it doesn't hold for any epsilon numbers t, since t ^ t > t while ω ^ t = t

Violeta Hernández (Sep 07 2025 at 04:26):

So it won't hold for even the next algebraically closed nimber

Violeta Hernández (Sep 07 2025 at 04:29):

It is true that t ^ t = ω ^ t for t = ω ^^ n and n : ℕ+, funnily enough

Violeta Hernández (Sep 07 2025 at 04:37):

Actually, wait. Does this analysis imply that the next rings after an algebraically closed t are precisely t ^ (ω * x) for x < t?

Violeta Hernández (Sep 07 2025 at 04:38):

And doesn't this imply that problem 2 (I checked Siegel it's actually problem 4.2) holds for rings?

Violeta Hernández (Sep 07 2025 at 04:38):

IsRing x → IsRing y → x ≤ y → ∃ z : Ordinal, x.val ^ z = y.val

Violeta Hernández (Sep 07 2025 at 04:39):

It absolutely does not and i should learn to think before I sspeak

Violeta Hernández (Sep 07 2025 at 04:39):

obviously t ^ (ω * 3) is not a power of t ^ (ω * 2)

Violeta Hernández (Sep 07 2025 at 04:40):

But the result that t ^ t is the next field should imply the field version

Violeta Hernández (Sep 07 2025 at 04:56):

Also, this gives us a pretty good characterization of the rings that aren't fields

Violeta Hernández (Sep 07 2025 at 04:57):

They're precisely of the form t ^ x for 1 < x < t and t algebraically closed

Violeta Hernández (Sep 07 2025 at 04:57):

Again, assuming I understand correctly

Violeta Hernández (Sep 07 2025 at 05:21):

You know, we technically don't have the full first/second simplest extension theorems in our repo

Violeta Hernández (Sep 07 2025 at 05:21):

I proved that a nimber that isn't a group is the sum of two smaller ones, and a nimber that is a group but not a ring is a product of two smaller ones

Violeta Hernández (Sep 07 2025 at 05:23):

The proof uses that you can take the lexicographically smallest pair whose sum/product isn't in the group/ring

Violeta Hernández (Sep 07 2025 at 05:23):

But the statement technically doesn't say that

Violeta Hernández (Sep 07 2025 at 05:23):

That's a quickfix though

Violeta Hernández (Sep 07 2025 at 05:28):

Oh nevermind I remembered why I didn't add them

Violeta Hernández (Sep 07 2025 at 05:29):

They're direct consequences of add_le_of_forall_ne and mul_le_of_forall_ne

Violeta Hernández (Sep 07 2025 at 06:06):

Ok I think I understand how things work until t^(w2)

Violeta Hernández (Sep 07 2025 at 06:07):

t^(w+n) = t^-(n+1) is a relatively straightforward induction

Violeta Hernández (Sep 07 2025 at 06:07):

true for n = 0 by the SET

Violeta Hernández (Sep 07 2025 at 06:08):

For n + 1, you show t^(w+n+1) = t^w * t^(w+n) by an antisymmetry argument

Violeta Hernández (Sep 07 2025 at 06:09):

But what about t^(w2)? Why is that the inverse of t+1?

Violeta Hernández (Sep 07 2025 at 06:10):

Or put another way, why does X+1 have no inverse in R[X,X^-1]?

Violeta Hernández (Sep 07 2025 at 06:13):

Maybe the idea is to work within the field of rational functions R(X)

Violeta Hernández (Sep 07 2025 at 06:20):

Actually, here's a super informal argument for why [t^(w2)] = (t-1)^-1

Violeta Hernández (Sep 07 2025 at 06:22):

In the ring of formal power series P_t[[t]], the inverse of t-1 is 1+t+t^2+... which is not in the subring generated by P_t, t, and t^-1

Violeta Hernández (Sep 07 2025 at 06:33):

If I'm not mistaken what we want to prove is that [t^(w(1+a)+n)] is the P_t-submodule of P_t(t) generated by t, (t+b)^-m for b < a and natural m, as well as (t+a)^-(m+1) for m < n

Violeta Hernández (Sep 07 2025 at 06:34):

In fact, let's call this submodule S_(a, n)

Violeta Hernández (Sep 07 2025 at 06:36):

I think what we want to show is that (t+a)^-(n+1) is not in S_(a, n)

Violeta Hernández (Sep 07 2025 at 06:36):

Which is now (mostly) a claim about fields of fractions rather than about nimbers

Violeta Hernández (Sep 07 2025 at 06:39):

Maybe we can start with an easier claim

Violeta Hernández (Sep 07 2025 at 06:40):

Let F be a field, consider the transcendental extension F(X). Is the subset (X+a)^-1 for a in F linearly independent?

Violeta Hernández (Sep 07 2025 at 06:45):

Here is a proof so informal it might as well be a joke

Violeta Hernández (Sep 07 2025 at 06:45):

Suppose the sum a_i(X+b_i)^-1 is 0 with a_i ≠ 0

Violeta Hernández (Sep 07 2025 at 06:46):

Evaluate at X = -b_i

Violeta Hernández (Sep 07 2025 at 06:46):

Then infinity = 0

Violeta Hernández (Sep 07 2025 at 06:46):

lmao

Violeta Hernández (Sep 07 2025 at 06:50):

I mean, the proof isn't completely informal

Violeta Hernández (Sep 07 2025 at 06:50):

If you take F = the real numbers then you can formalize this by using limits

Violeta Hernández (Sep 07 2025 at 06:52):

The function a_i(X+b_i)^-1 has an asymptote at -b_i which means it can't be constantly 0 even on the subset where it's well-defined

Violeta Hernández (Sep 07 2025 at 06:56):

What would be the way to write down in Lean "F with an infinite element"? Would it be WithTop F even if F wasn't ordered?

Violeta Hernández (Sep 07 2025 at 06:57):

Does there exist an evaluation map FractionRing F[X] -> WithTop F with enough algebraic properties for this argument to work?

Violeta Hernández (Sep 07 2025 at 07:01):

You know, sometimes you really just have to Google things: https://math.stackexchange.com/questions/3430357/linearly-independent-set-in-field-of-rational-functions

Violeta Hernández (Sep 07 2025 at 07:02):

Oh, of course. You can just multiply out the denominators.

Violeta Hernández (Sep 07 2025 at 07:12):

In fact, this same technique works to prove the stronger claim that XnX^n and (X+a)(n+1)(X + a)^{-(n+1)}, for aFa \in \mathbb F and nNn\in\mathbb N, are all linearly independent

Violeta Hernández (Sep 07 2025 at 07:16):

Take a linear combination that equals 0. For every term (X+a)(n+1)(X+a)^{-(n+1)} with a non-zero coefficient and nn maximal, multiply out by (X+a)n+1(X+a)^{n+1}. You now have an equality between polynomials. Evaluate at X=aX=-a. You'll get that the coefficients of (X+a)(n+1)(X+a)^{-(n+1)} had to all be zero.

Violeta Hernández (Sep 07 2025 at 07:27):

This all seems highly Lean-able

Violeta Hernández (Sep 07 2025 at 07:49):

...wait, something I hadn't paid attention to

Violeta Hernández (Sep 07 2025 at 07:49):

For a<ta < t, why is [tωa]=[tω]a[t^\omega a] = [t^\omega]a?

Django Peeters (Sep 07 2025 at 07:53):

I have no clue

Violeta Hernández (Sep 07 2025 at 07:56):

oh nevermind this is just IsRing.mul_eq_of_lt again

Violeta Hernández (Sep 07 2025 at 08:03):

To be more precise, it's this: https://github.com/vihdzp/combinatorial-games/pull/233

Violeta Hernández (Sep 07 2025 at 08:04):

Which in particular implies that [ba]=ba[ba]=ba for tbt \le b a ring and a<ta < t with tt algebraically closed

Violeta Hernández (Sep 07 2025 at 08:07):

I think the more important question is, why is [tω+1a]=[tω+1]a[t^{\omega+1}a]=[t^{\omega+1}]a?

Violeta Hernández (Sep 07 2025 at 08:08):

Wait, I think I know

Violeta Hernández (Sep 07 2025 at 08:09):

It's IsGroup.mul_eq_of_lt with x=[tω+1]x = [t^{\omega+1}], y=ty=t, z=az=a, w=[tω]w=[t^\omega]

Violeta Hernández (Sep 07 2025 at 08:16):

To prove a<x,b<w,ab<x\forall a<x,\forall b<w, a b < x you basically expand everything out as polynomials, and use that [tω][tn+1]=[tn][t^\omega][t^{n+1}]=[t^n]

Violeta Hernández (Sep 07 2025 at 08:18):

Following this same line of reasoning you should be able to prove [tba]=[tb]a[t^ba]=[t^b]a for a,b<ta,b<t

Violeta Hernández (Sep 07 2025 at 08:20):

Which is pretty insane, since it means you're essentially constructing a PtP_t-basis for Pt(t)P_t(t)

Violeta Hernández (Sep 07 2025 at 08:50):

I want to try and make a Lean proof for all this but the fourth simplest extension theorem hasn't landed in master yet :frown:

Violeta Hernández (Sep 07 2025 at 08:50):

(which is mostly my fault, don't get me wrong)

Django Peeters (Sep 07 2025 at 08:54):

I'm still stuck on the same Lean file as 10 days ago lol.

Violeta Hernández (Sep 07 2025 at 08:54):

Well, to be completely fair, we've only mostly figured out nim arithmetic below ω^ω^ω

Violeta Hernández (Sep 07 2025 at 08:54):

Mostly I've figured out that it depends on a whole lot of Galois theory

Django Peeters (Sep 07 2025 at 08:55):

And some Galois theory we need isn't in Mathlib I guess.

Violeta Hernández (Sep 07 2025 at 08:55):

I don't actually know, or rather I haven't checked

Violeta Hernández (Sep 07 2025 at 10:15):

In fact, I think the main problem here is that I don't know enough Galois theory to know the fullest generality of the lemmas we want to use.

Violeta Hernández (Sep 07 2025 at 10:18):

For instance, part of the argument needed to show [ω3]3=ω[\omega^3]^3=\omega is that the cubic extension Pω(ω)P_{\omega}(\omega) contains cube roots for every element in PωP_{\omega}. There's presumably some general theorem of the form "if FF is a field such that (...), and F(α)F(\alpha) is an algebraic extension of prime degree pp, then all elements in FF have pp-th roots in F(α)F(\alpha)". But I don't know how to fill in that parenthesis.

Violeta Hernández (Sep 07 2025 at 10:19):

Maybe it's the same condition as that other theorem? "every algebraic extension is abelian"

Django Peeters (Sep 07 2025 at 10:38):

I think the parenthesis will contain "every prime below p divides F1|F|-1"

Violeta Hernández (Sep 07 2025 at 10:38):

FF here might be an infinite field!

Django Peeters (Sep 07 2025 at 10:44):

Hmm

Django Peeters (Sep 07 2025 at 10:46):

What about "F has qq-th roots for every prime q<pq < p"

Violeta Hernández (Sep 07 2025 at 10:48):

I think the result holds for all finite FF. Suppose xFx\in F has no pp-th root in F(α)F(\alpha). Adjoin a pp-th root β\beta to FF. Since F(α)F(\alpha) and F(β)F(\beta) have the same cardinality, they're isomorphic, and by repeatedly composing with Frobenius we can find an isomorphism φ:F(β)F(α)\varphi:F(\beta)\to F(\alpha) which preserves FF. Then φ(β)\varphi(\beta) will be an pp-th root of xx.

Django Peeters (Sep 07 2025 at 10:49):

Wait, no.

Django Peeters (Sep 07 2025 at 10:49):

I'm confusing this theorem for something else.

Violeta Hernández (Sep 07 2025 at 10:49):

The question here is how to correctly generalize this for non-finite fields.

Violeta Hernández (Sep 07 2025 at 10:53):

If FF is algebraic over its prime field, then I believe the theorem remains true, since you can just take a finite subfield containing all relevant values.

Violeta Hernández (Sep 07 2025 at 10:53):

That is enough for what we want to do, but I do still wonder if this can be generalized further

Aaron Liu (Sep 07 2025 at 10:53):

good morning

Aaron Liu (Sep 07 2025 at 10:54):

I woke up

Violeta Hernández (Sep 07 2025 at 10:54):

hi hello

Violeta Hernández (Sep 07 2025 at 10:54):

I've been busy hehe

Aaron Liu (Sep 07 2025 at 10:54):

I can tell

Aaron Liu (Sep 07 2025 at 10:55):

why do we need to prove this in generality

Violeta Hernández (Sep 07 2025 at 10:55):

well we don't need to, but we probably should

Aaron Liu (Sep 07 2025 at 10:55):

alright

Violeta Hernández (Sep 07 2025 at 10:55):

especially if we plan on figuring anything out past ω^ω^ω

Aaron Liu (Sep 07 2025 at 10:56):

well it only work because finite fields are nice

Violeta Hernández (Sep 07 2025 at 10:56):

most likely yeah

Violeta Hernández (Sep 07 2025 at 10:56):

but maybe a few of the theorems do generalize?

Aaron Liu (Sep 07 2025 at 10:56):

which ones

Violeta Hernández (Sep 07 2025 at 10:57):

well that's what I want to figure out

Aaron Liu (Sep 07 2025 at 10:57):

what theorems are you looking at

Violeta Hernández (Sep 07 2025 at 10:57):

Violeta Hernández said:

For instance, part of the argument needed to show [ω3]3=ω[\omega^3]^3=\omega is that the cubic extension Pω(ω)P_{\omega}(\omega) contains cube roots for every element in PωP_{\omega}. There's presumably some general theorem of the form "if FF is a field such that (...), and F(α)F(\alpha) is an algebraic extension of prime degree pp, then all elements in FF have pp-th roots in F(α)F(\alpha)". But I don't know how to fill in that parenthesis.

this one, currently

Aaron Liu (Sep 07 2025 at 10:59):

I think all you need is algebraic over the prime subfield

Violeta Hernández (Sep 07 2025 at 10:59):

That works yes

Violeta Hernández (Sep 07 2025 at 10:59):

My question is whether there's any generalization of that

Aaron Liu (Sep 07 2025 at 10:59):

and also positive characteristic of course

Aaron Liu (Sep 07 2025 at 11:00):

try the perfect fields

Aaron Liu (Sep 07 2025 at 11:00):

maybe it generalizes to those

Aaron Liu (Sep 07 2025 at 11:05):

for example, I don't think F2(X)(Y)(Yp)\mathbb{F}_2(X)(Y)(Y^{-p}) has a pth root of XX, so clearly it doesn't generalize that much

Violeta Hernández (Sep 07 2025 at 11:06):

Fair enough. I suspect we won't be able to find any cool conditions like that "every algebraic extension is abelian" condition from earlier

Violeta Hernández (Sep 07 2025 at 11:07):

(Is that condition even particularly good? Are there any fields that satisfy that that aren't just subfields of an algebraically closed field?)

Aaron Liu (Sep 07 2025 at 11:08):

Violeta Hernández said:

Are there any fields that satisfy that that aren't just subfields of an algebraically closed field?)

all field are subfields of an algebraically closed field

Violeta Hernández (Sep 07 2025 at 11:09):

sorry, an algebraic closure of the prime field

Aaron Liu (Sep 07 2025 at 11:10):

the complex numbers

Violeta Hernández (Sep 07 2025 at 11:10):

lol

Aaron Liu (Sep 07 2025 at 11:10):

not algebraic over the prime field, and no proper algebraic extensions

Aaron Liu (Sep 07 2025 at 11:11):

galois groups all trivial, so all abelian

Violeta Hernández (Sep 07 2025 at 11:11):

fair enough

Violeta Hernández (Sep 07 2025 at 11:13):

Well, there's another theorem that we need

Violeta Hernández (Sep 07 2025 at 11:14):

Wait before that

Violeta Hernández (Sep 07 2025 at 11:15):

Does that result even need pp to be prime?

Violeta Hernández (Sep 07 2025 at 11:15):

The "adjoining a p-th root adjoins all p-th roots" result

Aaron Liu (Sep 07 2025 at 11:16):

Now EE is abelian over KK, and any finite abelian group of order divisible by pp has an index pp subgroup

look like this part

Violeta Hernández (Sep 07 2025 at 11:21):

Yeah! This result doesn't need pp to be prime

Violeta Hernández (Sep 07 2025 at 11:21):

The proof I gave works just the same

Aaron Liu (Sep 07 2025 at 11:21):

wow really

Violeta Hernández (Sep 07 2025 at 11:21):

And I'm pretty sure you can prove this using primitive roots as well

Violeta Hernández (Sep 07 2025 at 11:22):

I'm talking about the "every element in FF has an nn-th root in F(α)F(\alpha)" theorem just to be completely clear

Kevin Buzzard (Sep 07 2025 at 11:23):

Violeta Hernández said:

Let F be a field, consider the transcendental extension F(X). Is the subset (X+a)^-1 for a in F linearly independent?

This is called the theory of partial fraction decomposition and I definitely had a student do it once but I don't know if it made it into mathlib

Aaron Liu (Sep 07 2025 at 11:23):

oh I remember doing partial fractions in calculus class

Violeta Hernández (Sep 07 2025 at 11:24):

You know I'm ashamed it took me this long to see that connection

Aaron Liu (Sep 07 2025 at 11:24):

it said so in ONAG

Violeta Hernández (Sep 07 2025 at 11:24):

I must have skipped that sentence :sob:

Aaron Liu (Sep 07 2025 at 11:27):

based on what I remember from calculus, is it more generally true that inverses of irreducible polynomials in F(X) are F-linearly independent?

Aaron Liu (Sep 07 2025 at 11:28):

I guess you could have associated elements

Aaron Liu (Sep 07 2025 at 11:29):

what if you only take one polynomial from each associated equivalence class

Violeta Hernández (Sep 07 2025 at 11:29):

Presumably the same proof technique works? Take a linear combination, multiply by all the denominators, then substitute a root of one of the irreducible polynomials (in some splitting field).

Violeta Hernández (Sep 07 2025 at 11:32):

What if you also consider reciprocals of powers of irreducible polynomials?

Violeta Hernández (Sep 07 2025 at 11:34):

wait yeah we're totally just reinventing Calculus II aren't we

Aaron Liu (Sep 07 2025 at 11:34):

what's Calculus II

Aaron Liu (Sep 07 2025 at 11:34):

they made a sequel?

Violeta Hernández (Sep 07 2025 at 11:35):

I mean, when you do partial fraction decomposition, the terms you end up with are precisely of the form a/(X+b)na/(X+b)^n

Aaron Liu (Sep 07 2025 at 11:35):

when I'm working over the real numbers sometimes I get degree two irreducible polynomials

Violeta Hernández (Sep 07 2025 at 11:35):

Well, partial fraction decomposition over the complex numbers

Violeta Hernández (Sep 07 2025 at 11:36):

And the reason is that these polynomials (plus XX) form a basis for the C\mathbb C-vector space of rational functions C(X)\mathbb C(X)

Violeta Hernández (Sep 07 2025 at 11:36):

Which is literally the result that we're making use of here

Violeta Hernández (Sep 07 2025 at 11:36):

Just for C=F2\mathbb C=\overline{\mathbb F_2}

Aaron Liu (Sep 07 2025 at 11:36):

but CF2\mathbb{C} \ne \overline{\mathbb{F}_2}

Violeta Hernández (Sep 07 2025 at 11:37):

For F2\overline{\mathbb F_2} rather than C\mathbb C

Violeta Hernández (Sep 07 2025 at 11:37):

Is what I meant to say

Aaron Liu (Sep 07 2025 at 11:38):

the proof for C\mathbb{C} I just came up with involves Cauchy's integral theorem, which won't generalize to F2\overline{\mathbb{F}_2}

Aaron Liu (Sep 07 2025 at 11:39):

is there a way to do it without complex analysis

Violeta Hernández (Sep 07 2025 at 11:39):

Can't you just do the thing where you multiply out denominators in a linear combination for 0, then substitute values to show that every coefficient is 0?

Aaron Liu (Sep 07 2025 at 11:39):

no idea

Aaron Liu (Sep 07 2025 at 11:39):

you have powers now right

Violeta Hernández (Sep 07 2025 at 11:40):

Yeah, but I think it all still works

Violeta Hernández (Sep 07 2025 at 11:40):

Just multiply by the largest power of each term that appears

Aaron Liu (Sep 07 2025 at 11:40):

and how does the substituting work

Aaron Liu (Sep 07 2025 at 11:40):

I think you get some linear equations

Aaron Liu (Sep 07 2025 at 11:40):

oh you get linear equations

Aaron Liu (Sep 07 2025 at 11:41):

no but I don't know if it's full rank so I can't use those theorems

Violeta Hernández (Sep 07 2025 at 11:42):

Suppose i<m,j<nai,jpij=0\sum_{i<m,j<n}\frac{a_{i,j}}{p_i^j}=0, multiply by i<mpin\prod_{i<m}p_i^n to get something horrible

Violeta Hernández (Sep 07 2025 at 11:42):

Evaluate at a root of pip_i in a splitting field, and you should get ai,n=0a_{i,n}=0

Aaron Liu (Sep 07 2025 at 11:43):

yes that should work

Aaron Liu (Sep 07 2025 at 11:43):

and then you can induction step

Violeta Hernández (Sep 07 2025 at 11:43):

I don't think you need induction

Violeta Hernández (Sep 07 2025 at 11:44):

Well, as I wrote it down you probably do

Aaron Liu (Sep 07 2025 at 11:44):

do you have a different way

Violeta Hernández (Sep 07 2025 at 11:44):

Make nn depend on ii

Violeta Hernández (Sep 07 2025 at 11:45):

Suppose i<m,jniai,jpij=0\sum_{i<m,j\le n_i}\frac{a_{i,j}}{p_i^j}=0, suppose that ai,ni0a_{i,n_i}\ne 0. Multiply by i<mpini\prod_{i<m}p_i^{n_i}. Do the substitution again and find that ai,ni=0a_{i,n_i}= 0, a contradiction.

Aaron Liu (Sep 07 2025 at 11:45):

that's induction in disguise

Violeta Hernández (Sep 07 2025 at 11:45):

Isn't everything

Aaron Liu (Sep 07 2025 at 11:46):

1+1=2 is not induction

Violeta Hernández (Sep 07 2025 at 11:46):

Wait until you find out how addition is defined

Aaron Liu (Sep 07 2025 at 11:48):

uhm

Django Peeters (Sep 07 2025 at 11:48):

Lol

Aaron Liu (Sep 07 2025 at 11:48):

docs#Classical.em is not induction

Violeta Hernández (Sep 07 2025 at 11:49):

You say that, and yet
image.png

Aaron Liu (Sep 07 2025 at 11:49):

anyways how do we show this spans

Violeta Hernández (Sep 07 2025 at 11:49):

Isn't that what partial fraction decomposition does

Aaron Liu (Sep 07 2025 at 11:50):

I mean, the negative powers of irreducibles + nonnegative powers of X

Aaron Liu (Sep 07 2025 at 11:50):

Violeta Hernández said:

Isn't that what partial fraction decomposition does

how do you know it always works

Aaron Liu (Sep 07 2025 at 11:51):

I think we do need that these span, in order to conclude that adjoining them all to our ring gives a field

Violeta Hernández (Sep 07 2025 at 11:52):

Actually, I'm not sure if it's true that these always span

Violeta Hernández (Sep 07 2025 at 11:52):

It should be true in the case of an algebraically closed base field, which we do have

Violeta Hernández (Sep 07 2025 at 11:52):

But in general, I'm not sure

Violeta Hernández (Sep 07 2025 at 11:53):

For instance, how do you do partial fraction decomposition for (X(X2+1))1(X(X^2+1))^{-1} over R\mathbb R?

Aaron Liu (Sep 07 2025 at 11:53):

it decomposes into hold on let me calculate

Violeta Hernández (Sep 07 2025 at 11:54):

You can't write it as a linear combination of X1X^{-1} and (X2+1)1(X^2+1)^{-1}

Aaron Liu (Sep 07 2025 at 11:54):

why not

Aaron Liu (Sep 07 2025 at 11:54):

oh

Aaron Liu (Sep 07 2025 at 11:54):

well of course by linear combination I meant R[X]-linear combination

Violeta Hernández (Sep 07 2025 at 11:56):

...is that what people generally mean by partial fraction decompositions?

Aaron Liu (Sep 07 2025 at 11:56):

yes?

Aaron Liu (Sep 07 2025 at 11:56):

that's what I learned in calculus

Violeta Hernández (Sep 07 2025 at 11:56):

Yeah sorry it's been a while

Aaron Liu (Sep 07 2025 at 11:56):

the numerators of your fractions are polynomials with degree less than the denominator

Violeta Hernández (Sep 07 2025 at 11:56):

Does the linear independence result I gave still hold?

Violeta Hernández (Sep 07 2025 at 11:57):

Oh yeah it totally should

Aaron Liu (Sep 07 2025 at 11:57):

well no since X * X^-1 - 1 = 0

Violeta Hernández (Sep 07 2025 at 11:57):

ok nevermind

Aaron Liu (Sep 07 2025 at 11:57):

how about this

Violeta Hernández (Sep 07 2025 at 11:58):

Well, our reciprocals of irreducible polynomials should totally span as an R[X]-module

Violeta Hernández (Sep 07 2025 at 11:58):

Something something polynomials are a PID

Violeta Hernández (Sep 07 2025 at 11:58):

but in the case of nimbers we want the stronger result that they span as an R-module for R algebraically closed

Aaron Liu (Sep 07 2025 at 11:58):

we can do R-linear combinations but instead of just having negative powers of irreducible polynomials we add in a power of X times a negative power of an irreducible such the the denominator has larger degree than the power we took in the numerator

Aaron Liu (Sep 07 2025 at 11:59):

oh but we need to special-case the negative powers of X

Violeta Hernández (Sep 07 2025 at 12:00):

...are we sure someone hasn't done this in Mathlib yet?

Aaron Liu (Sep 07 2025 at 12:02):

@loogle Polynomial, RatFunc, _⁻¹

loogle (Sep 07 2025 at 12:02):

:search: RatFunc.inv_def, RatFunc.ofFractionRing_inv, and 4 more

Aaron Liu (Sep 07 2025 at 12:02):

maybe this works in more generality?

Violeta Hernández (Sep 07 2025 at 12:03):

Partial fraction decomposition? In more generality than rational functions?

Aaron Liu (Sep 07 2025 at 12:03):

or maybe it's just not there

Violeta Hernández (Sep 07 2025 at 12:03):

more likely

Aaron Liu (Sep 07 2025 at 12:03):

@loogle Polynomial, RatFunc, _ / _

loogle (Sep 07 2025 at 12:03):

Failure! Third party responded with 502

Aaron Liu (Sep 07 2025 at 12:03):

maybe I'll try again later

Violeta Hernández (Sep 07 2025 at 12:04):

Kevin Buzzard said:

Violeta Hernández said:

Let F be a field, consider the transcendental extension F(X). Is the subset (X+a)^-1 for a in F linearly independent?

This is called the theory of partial fraction decomposition and I definitely had a student do it once but I don't know if it made it into mathlib

Apparently the answer is "no". Does the code exist anywhere public?

Violeta Hernández (Sep 07 2025 at 12:05):

As a brief aside, I find it hilarious that we're nominally trying to do "game theory"

Violeta Hernández (Sep 07 2025 at 12:05):

This is so far removed from games it's honestly kind of astounding

Aaron Liu (Sep 07 2025 at 12:06):

this is Field theory

Violeta Hernández (Sep 07 2025 at 12:06):

this is a silly stone game we're overanalyzing

Aaron Liu (Sep 07 2025 at 12:07):

nim?

Aaron Liu (Sep 07 2025 at 12:07):

did that have multiplication?

Violeta Hernández (Sep 07 2025 at 12:07):

Nimber multiplication matches the multiplication of games applies to nim

Aaron Liu (Sep 07 2025 at 12:07):

what's the operation to multiply two piles

Aaron Liu (Sep 07 2025 at 12:07):

in the game

Violeta Hernández (Sep 07 2025 at 12:08):

IGame.mul'

Violeta Hernández (Sep 07 2025 at 12:08):

I mean, to be completely frank, game multiplication is basically nonsense if you view it as an operation on games

Violeta Hernández (Sep 07 2025 at 12:09):

It just so happens to have really nice algebraic properties when you restrict it to either the impartial games or the surreal games

Aaron Liu (Sep 07 2025 at 12:09):

we already solved transfinite nim with the powers of two decomposition

Aaron Liu (Sep 07 2025 at 12:09):

this is something else now

Violeta Hernández (Sep 07 2025 at 12:09):

We already solved transfinite nim: first player wins if the pile is non-empty, second player wins otherwise

Aaron Liu (Sep 07 2025 at 12:09):

that's one pile nim

Aaron Liu (Sep 07 2025 at 12:10):

very boring

Violeta Hernández (Sep 07 2025 at 12:11):

At a very large glance all we're currently doing is finding which one-pile nim games correspond to other impartial games built out of sums and products of nim piles

Aaron Liu (Sep 07 2025 at 12:11):

that is not

Aaron Liu (Sep 07 2025 at 12:11):

no

Aaron Liu (Sep 07 2025 at 12:12):

there's no such thing as a "product of nim piles"

Aaron Liu (Sep 07 2025 at 12:12):

the multiplication is happening in the nimbers

Violeta Hernández (Sep 07 2025 at 12:14):

  • nim a + nim b is the game where you can move to nim c + nim b or nim a + nim d for c < a and d < b
  • nim a * nim b is the game where you can move to nim c * nim b + nim a * nim d + nim c * nim d for c < a and d < b

Aaron Liu (Sep 07 2025 at 12:14):

what physical... never mind

Violeta Hernández (Sep 07 2025 at 12:14):

I mean, there's certainly ways you could represent that physically

Violeta Hernández (Sep 07 2025 at 12:14):

I don't claim they're particularly good

Violeta Hernández (Sep 07 2025 at 12:15):

Nim rectangles perhaps?

Aaron Liu (Sep 07 2025 at 12:16):

it has to be composable with itself

Aaron Liu (Sep 07 2025 at 12:16):

and with addition

Violeta Hernández (Sep 07 2025 at 12:16):

You turn a rectangle into 3 smaller rectangles, you can now move on any of the rectangles

Violeta Hernández (Sep 07 2025 at 12:16):

Unironically this would make a pretty fun game if you ignore the exponential amount of counters you'll probably need to play it

Aaron Liu (Sep 07 2025 at 12:17):

does it play nice with addition

Aaron Liu (Sep 07 2025 at 12:17):

what if I want 6+(6+2)*4

Aaron Liu (Sep 07 2025 at 12:17):

(I will let you go first in this game)

Violeta Hernández (Sep 07 2025 at 12:18):

Well now you're complicating my setup

Violeta Hernández (Sep 07 2025 at 12:18):

You can go first, I'll be the bigger woman

Aaron Liu (Sep 07 2025 at 12:19):

Violeta Hernández said:

Well now you're complicating my setup

but do you need like weird rectangles to handle this

Violeta Hernández (Sep 07 2025 at 12:19):

The nim rectangles game only really showcases nim a * nim b

Violeta Hernández (Sep 07 2025 at 12:20):

If you want to visualize a product of two arbitrary games then you're going to have a much harder time

Django Peeters (Sep 07 2025 at 12:23):

Django Peeters said:

We're going for alpha(263) in 1 day. I'm not sure about alpha(283) but it might take 10 days.

On an unrelated note, this has now been reduced to 2211 seconds for alpha(263).

Violeta Hernández (Sep 07 2025 at 12:26):

Violeta Hernández said:

If you want to visualize a product of two arbitrary games then you're going to have a much harder time

You can do it. The entire idea behind LGame multiplication is that a game x * y can be seen as a multiset of signed pairs of states in x and y.

Violeta Hernández (Sep 07 2025 at 12:26):

Should you do it? Yeah, I don't think so.

Django Peeters (Sep 07 2025 at 12:27):

image.png
What about this? It's what I need to continue working on ωωω\omega^{\omega^\omega}...

Aaron Liu (Sep 07 2025 at 12:28):

Django Peeters said:

image.png
What about this? It's what I need to continue working on ωωω\omega^{\omega^\omega}...

which one

Django Peeters (Sep 07 2025 at 12:29):

Where Conway says every cubic extension is by a cuberoot.

Aaron Liu (Sep 07 2025 at 12:29):

we just need to prove that the previous cube root has no cube root

Django Peeters (Sep 07 2025 at 12:29):

How does that work?

Aaron Liu (Sep 07 2025 at 12:30):

let's start at the base case

Aaron Liu (Sep 07 2025 at 12:30):

how to show that ω\omega has no cube root in Pω3P_{\omega^3}

Violeta Hernández (Sep 07 2025 at 12:39):

Django Peeters said:

Where Conway says every cubic extension is by a cuberoot.

Isn't that essentially what I was saying like 50 messages above?

Violeta Hernández (Sep 07 2025 at 12:40):

Violeta Hernández said:

I think the result holds for all finite FF. Suppose xFx\in F has no pp-th root in F(α)F(\alpha). Adjoin a pp-th root β\beta to FF. Since F(α)F(\alpha) and F(β)F(\beta) have the same cardinality, they're isomorphic, and by repeatedly composing with Frobenius we can find an isomorphism φ:F(β)F(α)\varphi:F(\beta)\to F(\alpha) which preserves FF. Then φ(β)\varphi(\beta) will be an pp-th root of xx.

here

Django Peeters (Sep 07 2025 at 12:40):

Not exactly.

Aaron Liu (Sep 07 2025 at 12:41):

not the same

Violeta Hernández (Sep 07 2025 at 12:41):

Hmm, you're right, it's not exactly that

Django Peeters (Sep 07 2025 at 12:41):

Even when restricting to finite fields of characteristic 2, it doesn't always hold because xx3x \mapsto x^3 can be bijective.

Aaron Liu (Sep 07 2025 at 12:42):

this is "a cubic extension adds all the cube roots"

Aaron Liu (Sep 07 2025 at 12:42):

oh I guess maybe that's the same

Violeta Hernández (Sep 07 2025 at 12:42):

ok now I'm confused

Violeta Hernández (Sep 07 2025 at 12:42):

is it or is it not

Aaron Liu (Sep 07 2025 at 12:42):

it's not

Aaron Liu (Sep 07 2025 at 12:43):

we need a specific cube root

Violeta Hernández (Sep 07 2025 at 12:43):

Ok, check this out

Aaron Liu (Sep 07 2025 at 12:43):

in particular, we need that it didn't already exist

Violeta Hernández (Sep 07 2025 at 12:47):

Suppose FF is a finite field of characteristic 22, take an algebraic extension GG of odd degree nn. Let k=G1F1k = \frac{|G|-1}{|F|-1}, let ξ\xi be a primitive root of GG. Then nkn \mid k, meaning G=F(ξk/n)G=F(\xi^{k/n}) is generated by an nn-th root.

Aaron Liu (Sep 07 2025 at 12:50):

I think that works

Django Peeters (Sep 07 2025 at 12:52):

nkn \mid k doesn't always hold in this context

Violeta Hernández (Sep 07 2025 at 12:53):

Yeah, I'm realizing you probably need nn to be prime

Django Peeters (Sep 07 2025 at 12:54):

It doesn't always work when n=3n = 3. Then you need that F|F| is a 4-power.

Aaron Liu (Sep 07 2025 at 12:55):

wait why is this supposed to work

Violeta Hernández (Sep 07 2025 at 12:55):

wow ok I'm completely misremembering Fermat's little theorem apparently

Aaron Liu (Sep 07 2025 at 12:56):

XFXX^{|F|}-X splits into distinct linear factors in a finite field FF

Violeta Hernández (Sep 07 2025 at 12:57):

If nn is prime and nF1n \mid |F|-1 then nkn \mid k by LTE

Violeta Hernández (Sep 07 2025 at 12:57):

Is that anything

Aaron Liu (Sep 07 2025 at 12:57):

what's LTE

Violeta Hernández (Sep 07 2025 at 12:58):

Lifting the Exponent

Aaron Liu (Sep 07 2025 at 12:59):

sorry I'm not very familiar with that theorem

Violeta Hernández (Sep 07 2025 at 13:00):

If pp is an odd prime and pabp \mid a - b then vp(akbk)=vp(ab)+vp(k)v_p(a^k - b^k) = v_p(a - b) + v_p(k)

Aaron Liu (Sep 07 2025 at 13:00):

great

Aaron Liu (Sep 07 2025 at 13:01):

how does that apply here

Violeta Hernández (Sep 07 2025 at 13:01):

it says that in that very special case nkn\mid k

Aaron Liu (Sep 07 2025 at 13:01):

oh I get it now

Aaron Liu (Sep 07 2025 at 13:02):

set a:=Fa := |F| and b:=1b := 1 and k:=pk := p

Violeta Hernández (Sep 07 2025 at 13:02):

322n13\mid 2^{2^n}-1 for n0n \ne 0

Violeta Hernández (Sep 07 2025 at 13:02):

so my proof does work in that case I think?

Violeta Hernández (Sep 07 2025 at 13:03):

A cubic extension of a finite char 2 field is by a cube root

Aaron Liu (Sep 07 2025 at 13:03):

yes we knew that

Violeta Hernández (Sep 07 2025 at 13:04):

we did?

Aaron Liu (Sep 07 2025 at 13:04):

doesn't it follow from that theorem

Aaron Liu (Sep 07 2025 at 13:04):

uhm

Aaron Liu (Sep 07 2025 at 13:05):

well I guess with torsion...

Violeta Hernández (Sep 07 2025 at 13:05):

ok now I'm really confused

Violeta Hernández (Sep 07 2025 at 13:06):

We know that a degree nn extension of a finite field has all nn-th roots for the base field unless I also fakesolved that

Aaron Liu (Sep 07 2025 at 13:06):

so in the finite field F8\mathbb{F}_8 every element has a cube root

Django Peeters (Sep 07 2025 at 13:06):

Violeta Hernández said:

322n13\mid 2^{2^n}-1 for n0n \ne 0

Yes, that's true

Violeta Hernández (Sep 07 2025 at 13:07):

If the base field didn't already have all nn-th roots, does that imply that the extension is by an nn-th root?

Aaron Liu (Sep 07 2025 at 13:07):

which extension

Aaron Liu (Sep 07 2025 at 13:07):

what

Aaron Liu (Sep 07 2025 at 13:07):

I got lost

Violeta Hernández (Sep 07 2025 at 13:08):

[G:F]=n[G:F]=n means FGnF \subseteq G^n

Aaron Liu (Sep 07 2025 at 13:08):

what's GnG^n

Violeta Hernández (Sep 07 2025 at 13:08):

pointwise power

Aaron Liu (Sep 07 2025 at 13:08):

that's not a field

Violeta Hernández (Sep 07 2025 at 13:08):

It's a subset

Django Peeters (Sep 07 2025 at 13:09):

Violeta Hernández said:

If the base field didn't already have all nn-th roots, does that imply that the extension is by an nn-th root?

(For finite fields) I think yes.

Aaron Liu (Sep 07 2025 at 13:09):

but in the finite case they have the same cardinality?

Aaron Liu (Sep 07 2025 at 13:09):

I'm confused

Aaron Liu (Sep 07 2025 at 13:09):

where are FF and GG coming from

Violeta Hernández (Sep 07 2025 at 13:09):

They absolutely don't have the same cardinality

Aaron Liu (Sep 07 2025 at 13:09):

are they arbitrary field? arbitrary finite fields?

Violeta Hernández (Sep 07 2025 at 13:09):

finite fields

Django Peeters (Sep 07 2025 at 13:09):

Except maybe trouble with going from "has no roots" to "is irreducible"...

Aaron Liu (Sep 07 2025 at 13:10):

then I'm assuming FF is an extension of GG since you're talking about [F:G][F:G]

Violeta Hernández (Sep 07 2025 at 13:10):

yes

Violeta Hernández (Sep 07 2025 at 13:11):

I'm just rephrasing a result I proved earlier

Aaron Liu (Sep 07 2025 at 13:11):

and if [F:G]=n[F:G] = n then F=Gn|F| = |G|^n

Violeta Hernández (Sep 07 2025 at 13:11):

oh oops

Violeta Hernández (Sep 07 2025 at 13:12):

I wrote the extension backwards

Violeta Hernández (Sep 07 2025 at 13:12):

I meant [G:F]=n[G:F]=n

Aaron Liu (Sep 07 2025 at 13:14):

so the result is that if [G:F]=n[G:F]=n then there exists a ring homomorphism FGnF \hookrightarrow G^n

Violeta Hernández (Sep 07 2025 at 13:14):

GnG^n is just the pointwise power here

Violeta Hernández (Sep 07 2025 at 13:14):

the image of xxnx \mapsto x^n on the set GG

Aaron Liu (Sep 07 2025 at 13:14):

oh

Aaron Liu (Sep 07 2025 at 13:14):

I thought you meant the cartesian product of nn copies of GG which inherits its ring structure pointwise

Aaron Liu (Sep 07 2025 at 13:16):

so FF is the subset of GG fixed by xxFx \mapsto x^{|F|}

Violeta Hernández (Sep 07 2025 at 13:16):

That is true

Violeta Hernández (Sep 07 2025 at 13:16):

No, not quite

Violeta Hernández (Sep 07 2025 at 13:17):

It's the subset fixed by xxG1F1x \mapsto x^{\frac{|G|-1}{|F|-1}}

Aaron Liu (Sep 07 2025 at 13:17):

:confusedface:

Violeta Hernández (Sep 07 2025 at 13:18):

wait no you're right

Django Peeters (Sep 07 2025 at 13:18):

Lol

Aaron Liu (Sep 07 2025 at 13:18):

:relievedface:

Violeta Hernández (Sep 07 2025 at 13:18):

Violeta Hernández said:

It's the subset fixed by xxG1F1x \mapsto x^{\frac{|G|-1}{|F|-1}}

It's the range of this map, not the fixed subset

Aaron Liu (Sep 07 2025 at 13:18):

that I can believe

Violeta Hernández (Sep 07 2025 at 13:26):

So what exactly is the claim we're trying to prove again?

Aaron Liu (Sep 07 2025 at 13:26):

uhm

Violeta Hernández (Sep 07 2025 at 13:26):

I just found this in Siegel
image.png

Violeta Hernández (Sep 07 2025 at 13:26):

Presumably this is what we want

Aaron Liu (Sep 07 2025 at 13:28):

trying to prove that ω3k\omega^{3^k} is the cube of its [cube]

Violeta Hernández (Sep 07 2025 at 13:29):

Wait, isn't the claim I just screenshotted false?

Violeta Hernández (Sep 07 2025 at 13:29):

How do you get F512\mathbb F_{512} as an extension of F8\mathbb F_8 by a cube root?

Aaron Liu (Sep 07 2025 at 13:30):

you don't

Aaron Liu (Sep 07 2025 at 13:30):

every element already has a cube root

Violeta Hernández (Sep 07 2025 at 13:31):

yeah so that's false then

Violeta Hernández (Sep 07 2025 at 13:38):

Miscellaneous question that's been tripping me up

Violeta Hernández (Sep 07 2025 at 13:39):

If you have a field, and adjoin an nth root that isn't already in the field, is the extension always degree n?

Aaron Liu (Sep 07 2025 at 13:39):

if nn is prime

Django Peeters (Sep 07 2025 at 13:39):

Violeta Hernández said:

Miscellaneous question that's been tripping me up

Been tripping me up too :(

Violeta Hernández (Sep 07 2025 at 13:39):

yeah

Aaron Liu (Sep 07 2025 at 13:40):

but not if it's not prime

Violeta Hernández (Sep 07 2025 at 13:40):

So now I'm really starting to question that whole thing I said earlier

Aaron Liu (Sep 07 2025 at 13:40):

what did you say earlier

Violeta Hernández (Sep 07 2025 at 13:40):

FGnF\subseteq G^n

Violeta Hernández (Sep 07 2025 at 13:47):

Actually that should still be true

Violeta Hernández (Sep 07 2025 at 13:47):

You can induct on the prime factorization of n

Violeta Hernández (Sep 07 2025 at 14:01):

You know I've definitely been awake for too long

Aaron Liu (Sep 07 2025 at 14:01):

did you not sleep

Violeta Hernández (Sep 07 2025 at 14:01):

My theorems aren't theoreming right now

Aaron Liu (Sep 07 2025 at 14:01):

I can help

Violeta Hernández (Sep 07 2025 at 14:01):

I'm taking a forced break

Aaron Liu (Sep 07 2025 at 14:02):

have fun

Kevin Buzzard (Sep 07 2025 at 15:37):

Violeta Hernández said:

If you have a field, and adjoin an nth root that isn't already in the field, is the extension always degree n?

The short answer is no but the long answer is that this is not even a well-defined concept. In general if kk is a field and aka\in k then XnaX^n-a can factor "randomly" over kk as a product of irreducible factors of different degrees, so "adjoining an nn-th root of aa" is not even a well-defined concept in the sense that you can even get extensions of different degrees which are both claiming to be the ill-defined notion k(an)k(\sqrt[n]{a}).

Kevin Buzzard (Sep 07 2025 at 15:39):

The situation is much better when kk contains nn nn-th roots of 1, in which case the relevant phrase is "Kummer theory". In particular in this case "adjoining an nn-th root of aa" can be made rigorous and the answer is that the extension is always Galois with cyclic Galois group of order dividing nn (so if nn is prime then indeed you're correct).

Aaron Liu (Sep 07 2025 at 17:16):

Kevin Buzzard said:

Violeta Hernández said:

If you have a field, and adjoin an nth root that isn't already in the field, is the extension always degree n?

The short answer is no but the long answer is that this is not even a well-defined concept. In general if kk is a field and aka\in k then XnaX^n-a can factor "randomly" over kk as a product of irreducible factors of different degrees, so "adjoining an nn-th root of aa" is not even a well-defined concept in the sense that you can even get extensions of different degrees which are both claiming to be the ill-defined notion k(an)k(\sqrt[n]{a}).

I interpreted this to mean "I have a nontrivial field extension K/F which is generated by an nth root of an element in F (there exists u in K such that u^n in F and IntermediateField.adjoin F {u} = \top), do I know this is a degree n extension?" and I thought a bit and concluded "if n is prime" but is that correct?

Aaron Liu (Sep 07 2025 at 17:21):

oh it's not correct I just thought of a counterexample

Kevin Buzzard (Sep 07 2025 at 20:55):

Q(ω)\mathbb{Q}(\omega) is a counterexample if ω:=1+32\omega:=\frac{-1+\sqrt{-3}}{2}.

Kevin Buzzard (Sep 07 2025 at 20:56):

If you don't have nn nn-th roots of 1 in your base field then adding nn-th roots can be very counterintuitive (in fact far more counterintuitive than many of the people who just blithely write k(an)k(\sqrt[n]{a}) on sites like MO realise)

Aaron Liu (Sep 07 2025 at 20:56):

what does having roots of unity do for you

Kevin Buzzard (Sep 07 2025 at 20:58):

It stops XnaX^n-a from factoring into factors of different degrees, for a start. Example: X31X^3-1 factors over Q\mathbb{Q} (which doesn't have three cube roots of 1) into a linear and irreducible quadratic, which is the example above.

Violeta Hernández (Sep 08 2025 at 05:23):

Well that explains why I kept tripping up with this concept!

Violeta Hernández (Sep 08 2025 at 05:24):

That does call into question most of my proofs until this point... I might have to reprove some things.

Violeta Hernández (Sep 08 2025 at 05:25):

Also, if adjoining an n-th root isn't a well-defined concept in general, does it even make sense to claim that an extension is "by an n-th root"?

Kevin Buzzard (Sep 08 2025 at 06:43):

Yes, the definition you gave above is fine although as Aaron pointed out it can behave oddly if there aren't enough roots of unity in the ground field

Django Peeters (Sep 08 2025 at 12:13):

PastedText.txt
New alpha's just dropped!

Violeta Hernández (Sep 08 2025 at 12:22):

Kevin Buzzard said:

Yes, the definition you gave above is fine although as Aaron pointed out it can behave oddly if there aren't enough roots of unity in the ground field

Is it at least true that if an extension is by a p-th root for prime p, the extension is of degree p?

Aaron Liu (Sep 08 2025 at 12:32):

Violeta Hernández said:

Kevin Buzzard said:

Yes, the definition you gave above is fine although as Aaron pointed out it can behave oddly if there aren't enough roots of unity in the ground field

Is it at least true that if an extension is by a p-th root for prime p, the extension is of degree p?

I extend the reals by a primitive cube root of unity to get the complex numbers (degree 2 extension)

Violeta Hernández (Sep 08 2025 at 12:38):

damn it I keep forgetting about that

Violeta Hernández (Sep 08 2025 at 12:38):

Isn't every finite extension of a finite field separable, or something like that?

Kevin Buzzard (Sep 08 2025 at 13:00):

Yes, and furthermore every finite extension of an algebraic extension of a finite field (the situation you sometimes seem to be in) is also separable, and hence simple, but this doesn't help. Basically if Xn1X^n-1 doesn't factor into linear factors then there's very little structure in how XnaX^n-a may factor (and in particular the factors can have different degrees). If Xn1X^n-1 factors into distinct linear factors then XnaX^n-a is guaranteed to factor into lots of factors of the same degree (which will clearly be a divisor of nn) and all of the extensions corresponding to the irreducible factors will be abstractly isomorphic, meaning that k(an)k(\sqrt[n]{a}) is well-defined up to (non-unique) isomorphism in this case (and is meaningless otherwise).

Django Peeters (Sep 09 2025 at 21:49):

Django Peeters said:

PastedText.txt
New alpha's just dropped!

It's now at alpha(359) and I expect it'll take 26 days.

Django Peeters (Sep 09 2025 at 21:49):

Tristan is running it in the background.

Django Peeters (Sep 11 2025 at 08:58):

Violeta Hernández said:

I just found this in Siegel
image.png

I think I know how to prove this.

Violeta Hernández (Sep 11 2025 at 15:28):

How?

Django Peeters (Sep 11 2025 at 17:05):

Not the whole thing yet, but how part of it works.

Aaron Liu (Sep 11 2025 at 17:10):

which part

Django Peeters (Sep 11 2025 at 17:14):

When a finite field can be extended by a pth root.

Aaron Liu (Sep 11 2025 at 17:15):

probably when it doesn't have all pth roots

Aaron Liu (Sep 11 2025 at 17:21):

I got lost what do we have so far on w^w^w and what do we still need

Django Peeters (Sep 11 2025 at 17:50):

The lexicographic ordering on kappa_q...

Django Peeters (Sep 11 2025 at 17:50):

And that's as far as I got

Django Peeters (Sep 17 2025 at 21:45):

Django Peeters said:

Django Peeters said:

PastedText.txt
New alpha's just dropped!

It's now at alpha(359) and I expect it'll take 26 days.

Alpha(359) is done!

Aaron Liu (Sep 17 2025 at 21:46):

not 26 days

Django Peeters (Sep 17 2025 at 21:46):

Right you are!

Django Peeters (Sep 17 2025 at 21:47):

I made some more changes to speed the program up.

Violeta Hernández (Sep 18 2025 at 00:28):

Is the code open-source?

Django Peeters (Sep 18 2025 at 07:29):

Yes, I put it here about a month ago.

Django Peeters (Sep 18 2025 at 07:48):

Now alpha(463) is done!

Violeta Hernández (Sep 19 2025 at 03:14):

Nice!

Violeta Hernández (Sep 19 2025 at 03:14):

Is this list of new values anywhere?

Django Peeters (Sep 19 2025 at 08:20):

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    p           q_set excess                alpha t(sec)
    3             [2]      0                    2      0
    5             [4]      0                    4      0
    7             [3]      1                w + 1      0
   11             [5]      1              w^w + 1      0
   13          [4, 3]      0                w + 4      0
   17             [8]      0                   16      0
   19             [9]      4              w^3 + 4      0
   23            [11]      1          w^(w^3) + 1      0
   29          [4, 7]      0          w^(w^2) + 4      0
   31             [5]      1              w^w + 1      0
   37          [4, 9]      0              w^3 + 4      0
   41             [5]      1              w^w + 1      0
   43             [7]      1          w^(w^2) + 1      0
   47            [23]      1          w^(w^7) + 1      0
   53            [13]      1          w^(w^4) + 1      0
   59            [29]      1          w^(w^8) + 1      0
   61          [3, 5]      0              w^w + w      0
   67         [3, 11]      0          w^(w^3) + w      0
   71          [5, 7]      0        w^(w^2) + w^w      0
   73             [9]      1              w^3 + 1      0
   79            [13]      1          w^(w^4) + 1      0
   83            [41]      1         w^(w^11) + 1      0
   89            [11]      1          w^(w^3) + 1      0
   97         [16, 3]      0              w + 256      0
  101            [25]      1          w^(w*5) + 1      0
  103         [3, 17]      0          w^(w^5) + w      0
  107            [53]      1         w^(w^14) + 1      1
  109          [4, 9]      0              w^3 + 4      0
  113          [4, 7]      0          w^(w^2) + 4      0
  127             [7]      1          w^(w^2) + 1      0
  131         [5, 13]      0        w^(w^4) + w^w      0
  137            [17]      1          w^(w^5) + 1      0
  139         [3, 23]      0          w^(w^7) + w      4
  149            [37]      1         w^(w^10) + 1      0
  151          [3, 5]      0              w^w + w      0
  157            [13]      1          w^(w^4) + 1      0
  163            [81]      4             w^27 + 4      0
  167            [83]      1         w^(w^21) + 1     57
  173         [4, 43]      0         w^(w^12) + 4      0
  179            [89]      1         w^(w^22) + 1      6
  181          [9, 5]      0            w^w + w^3      0
  191         [5, 19]      0        w^(w^6) + w^w      1
  193         [32, 3]      0            w + 65536      0
  197         [4, 49]      0        w^(w^2*7) + 4      0
  199         [9, 11]      0        w^(w^3) + w^3      0
  211          [5, 7]      0        w^(w^2) + w^w      0
  223            [37]      1         w^(w^10) + 1      0
  227           [113]      1         w^(w^28) + 1      2
  229            [19]      1          w^(w^6) + 1      0
  233            [29]      1          w^(w^8) + 1      0
  239         [7, 17]      0    w^(w^5) + w^(w^2)      0
  241          [8, 3]      0               w + 16      0
  251            [25]      1          w^(w*5) + 1      0
  257            [16]      0                  256      0
  263           [131]      1         w^(w^30) + 1    131
  269            [67]      1         w^(w^17) + 1     28
  271         [27, 5]      0            w^w + w^9      0
  277            [23]      1          w^(w^7) + 1      1
  281          [5, 7]      0        w^(w^2) + w^w      0
  283            [47]      1         w^(w^13) + 1    894
  293         [4, 73]      0         w^(w^19) + 4      0
  307         [3, 17]      0          w^(w^5) + w      0
  311            [31]      1          w^(w^9) + 1      0
  313            [13]      1          w^(w^4) + 1      0
  317            [79]      1         w^(w^20) + 1      3
  331          [3, 5]      0              w^w + w      0
  337             [7]      1          w^(w^2) + 1      0
  347           [173]      1         w^(w^38) + 1   6255
  349            [29]      1          w^(w^8) + 1      0
  353         [8, 11]      0         w^(w^3) + 16      0
  359           [179]      1         w^(w^39) + 1 177379
  367            [61]      1         w^(w^16) + 1      0
  373         [3, 31]      0          w^(w^9) + w      0
  379         [27, 7]      0        w^(w^2) + w^9      0
  383           [191]      1         w^(w^41) + 1   5547
  389            [97]      1         w^(w^23) + 1      1
  397            [11]      1          w^(w^3) + 1      0
  401         [8, 25]      0         w^(w*5) + 16      0
  409         [3, 17]      0          w^(w^5) + w      0
  419        [11, 19]      0    w^(w^6) + w^(w^3)     19
  421          [5, 7]      0        w^(w^2) + w^w      1
  431            [43]      1         w^(w^12) + 1      0
  433          [8, 9]      0             w^3 + 16      0
  439            [73]      1         w^(w^19) + 1      0
  443        [13, 17]      0    w^(w^5) + w^(w^4)      0
  449         [32, 7]      0      w^(w^2) + 65536      0
  457            [19]      1          w^(w^6) + 1      0
  461            [23]      1          w^(w^7) + 1      1
  463         [7, 11]      0    w^(w^3) + w^(w^2)      0

Django Peeters (Sep 19 2025 at 11:56):

If we get to alpha(547), we'll be able to do nimber arithmetic below ωω100\omega^{\omega^{100}}.

Violeta Hernández (Oct 02 2025 at 19:57):

Hi! I'm back on the nimber grind

Violeta Hernández (Oct 02 2025 at 20:00):

This thread has gotten way too big for its own good. I can't even remember the main results we need to prove to characterize arithmetic below w^w^w, nor which of them we have proofs for.

Aaron Liu (Oct 02 2025 at 20:00):

I don't know what needs proving and what needs putting in lean and what's done

Aaron Liu (Oct 02 2025 at 20:02):

had there been like a list of all the things to do

Violeta Hernández (Oct 02 2025 at 20:02):

I don't believe so. We should make one.

Violeta Hernández (Oct 02 2025 at 20:02):

I'd like to mention that one of my PRs porting the proof that nimbers are alg closed has been unreviewed for three weeks. Might be worth starting there.

Violeta Hernández (Oct 02 2025 at 20:31):

CGT#231

Django Peeters (Oct 02 2025 at 20:53):

I'm also about to pivot back to Lean and theorem proving. The C++ sidetrack of making tables has almost come to an end. If the current table needs to be extended to the next prime, I estimate a wait time of ~4 years with the current setup. But the table can have holes so I'll try to push it a little further and let Tristan run this last iteration in the background as long as we want.

Django Peeters (Oct 02 2025 at 20:53):

Do you know how we could get this on the OEIS?

Violeta Hernández (Oct 02 2025 at 20:55):

I know little about OEIS submissions (though I've made one or two). maybe check the website for instructions? I don't remember it being hard as much as it was tedious and bureaucratic.

Violeta Hernández (Oct 02 2025 at 21:00):

I think there were basically two questions we didn't have answers to:

  • why is [w^3] quadratically closed
  • why does it have cube roots below [w]

Violeta Hernández (Oct 02 2025 at 21:00):

I think the former could be answered using a theorem from Math SE

Violeta Hernández (Oct 02 2025 at 21:00):

I don't remember how to answer the second one

Violeta Hernández (Oct 02 2025 at 21:01):

I recall I tried to find a general theorem for this but failed

Aaron Liu (Oct 02 2025 at 21:14):

Violeta Hernández said:

I think there were basically two questions we didn't have answers to:

  • why is [w^3] quadratically closed
  • why does it have cube roots below [w]

didn't we answer this already

Violeta Hernández (Oct 02 2025 at 21:16):

the second one?

Aaron Liu (Oct 02 2025 at 21:16):

which one

Aaron Liu (Oct 02 2025 at 21:16):

isn't it both?

Aaron Liu (Oct 02 2025 at 21:17):

don't we have the answer to both of them

Aaron Liu (Oct 02 2025 at 21:17):

or did we not answer these

Aaron Liu (Oct 02 2025 at 21:18):

I thought we answered both

Violeta Hernández (Oct 02 2025 at 21:19):

The first one we did answer

Violeta Hernández (Oct 02 2025 at 21:20):

it's on that one Math SE post

Aaron Liu (Oct 02 2025 at 21:20):

yeah ok

Aaron Liu (Oct 02 2025 at 21:20):

what about the other one I think we did the other one too

Violeta Hernández (Oct 02 2025 at 21:21):

How

Aaron Liu (Oct 02 2025 at 21:21):

just look at it

Aaron Liu (Oct 02 2025 at 21:21):

it's so true

Aaron Liu (Oct 02 2025 at 21:21):

if you want I can try throwing together a proof

Django Peeters (Oct 02 2025 at 21:23):

Proof by obviousness lol

Violeta Hernández (Oct 02 2025 at 21:26):

please do

Aaron Liu (Oct 02 2025 at 21:26):

oh

Aaron Liu (Oct 02 2025 at 21:26):

uhh

Aaron Liu (Oct 02 2025 at 21:26):

let me think a bit

Django Peeters (Oct 02 2025 at 21:27):

I was joking

Aaron Liu (Oct 02 2025 at 21:31):

Yeah I did this before

Aaron Liu (Oct 02 2025 at 21:32):

You can refer to past me for the proof

Aaron Liu said:

So let α<ω\alpha < \omega then consider the field F\mathcal F generated by 22 and α\alpha and assume it doesn't have a cube root of α\alpha then adjoing a cube root of α\alpha gives a degree 3 extension and F(ω)\mathcal F (\omega) is a degree 3 extension so they're isomorphic

Aaron Liu (Oct 02 2025 at 21:34):

no that's the square roots I think

Aaron Liu (Oct 02 2025 at 21:34):

no it's not that definitely says cube root right there

Aaron Liu (Oct 02 2025 at 21:35):

ok I think I understand my own proof again

Django Peeters (Oct 02 2025 at 21:58):

I remember you had a way to contact A. Siegel, right?

Aaron Liu (Oct 02 2025 at 21:59):

Kevin Buzzard said:

Violeta Hernández said:

If you have a field, and adjoin an nth root that isn't already in the field, is the extension always degree n?

The short answer is no but the long answer is that this is not even a well-defined concept. In general if kk is a field and aka\in k then XnaX^n-a can factor "randomly" over kk as a product of irreducible factors of different degrees, so "adjoining an nn-th root of aa" is not even a well-defined concept in the sense that you can even get extensions of different degrees which are both claiming to be the ill-defined notion k(an)k(\sqrt[n]{a}).

ok apparently I can't just say "adjoin a cube root" there's a bit more to check here

Aaron Liu (Oct 02 2025 at 22:00):

but I think in this case since 22 is a cube root of unity and α\alpha doesn't have a cube root already then "adjoin a cube root" is well-defined and a degree 3 extension

Violeta Hernández (Oct 02 2025 at 22:35):

Well, [ω³] doesn't only have cube roots below [ω]. Isn't it more generally true that any cubic polynomial in [ω] splits in [ω³]?

Violeta Hernández (Oct 02 2025 at 22:35):

So presumably instead of writing "adjoin a cube root" you can write "take a cubic extension"

Aaron Liu (Oct 02 2025 at 22:35):

yeah I guess

Violeta Hernández (Oct 02 2025 at 22:36):

In fact, since [ω³] is quadratically closed, a cubic polynomial splits iff it's not irreducible

Aaron Liu (Oct 02 2025 at 22:36):

makes sense

Violeta Hernández (Oct 02 2025 at 23:03):

No wait

Aaron Liu (Oct 02 2025 at 23:03):

what's wrong

Violeta Hernández (Oct 02 2025 at 23:05):

Take a polynomial pp in Pω\mathcal P_{\omega}. We want to show that it splits in Pω3\mathcal P_{\omega^3}. So what we do is take the field F\mathcal F generated by 22 and the coefficients of pp, right?

Aaron Liu (Oct 02 2025 at 23:05):

uhm

Aaron Liu (Oct 02 2025 at 23:05):

mayve

Violeta Hernández (Oct 02 2025 at 23:06):

And then what we want to show is that the splitting field of pp over F\mathcal F is a cubic extension, right? So that we can then show it isomorphic to F(ω)\mathcal F(\omega)

Aaron Liu (Oct 02 2025 at 23:06):

that would suffice

Violeta Hernández (Oct 02 2025 at 23:06):

But why is that the case?

Aaron Liu (Oct 02 2025 at 23:06):

why what the case

Violeta Hernández (Oct 02 2025 at 23:07):

A splitting field for a cubic polynomial can have up to degree six

Aaron Liu (Oct 02 2025 at 23:07):

this is news to me

Aaron Liu (Oct 02 2025 at 23:08):

why is that the case

Violeta Hernández (Oct 02 2025 at 23:09):

From Math SE
image.png

Aaron Liu (Oct 02 2025 at 23:09):

interesting

Aaron Liu (Oct 02 2025 at 23:09):

I had no idea

Violeta Hernández (Oct 02 2025 at 23:09):

I imagine that what stops us from getting this worst case scenario is that once we have one root, we have the other two because of some field being quadratically closed

Aaron Liu (Oct 02 2025 at 23:09):

I guess 3! = 6

Aaron Liu (Oct 02 2025 at 23:10):

Violeta Hernández said:

I imagine that what stops us from getting this worst case scenario is that once we have one root, we have the other two because of some field being quadratically closed

in my original proof which only talked about cube roots this never happens because we have all the cube roots of unity

Violeta Hernández (Oct 02 2025 at 23:13):

You know, I'm actually not even sure if the stronger claim is true

Aaron Liu (Oct 02 2025 at 23:13):

and using the cube roots of unity once you have one root you can obtain the other two cube roots

Aaron Liu (Oct 02 2025 at 23:14):

Violeta Hernández said:

You know, I'm actually not even sure if the stronger claim is true

what makes you say this

Aaron Liu (Oct 02 2025 at 23:15):

ok what if you don't take the splitting field what if you just adjoin one root

Aaron Liu (Oct 02 2025 at 23:15):

and we can get the other two roots later

Violeta Hernández (Oct 02 2025 at 23:16):

Please remind me of something

Violeta Hernández (Oct 02 2025 at 23:17):

If pp is irreducible over F\mathcal F, then adjoining a root of pp always gives a degree deg(p)\deg(p) extension, yes?

Aaron Liu (Oct 02 2025 at 23:17):

definitely

Violeta Hernández (Oct 02 2025 at 23:17):

And we know that if pp is a cubic polynomial in Pω\mathcal P_\omega without roots, it must be irreducible

Violeta Hernández (Oct 02 2025 at 23:17):

Since PωP_\omega is quadratically closed

Aaron Liu (Oct 02 2025 at 23:17):

yes

Violeta Hernández (Oct 02 2025 at 23:18):

well actually just because 3<2+23 < 2 + 2

Aaron Liu (Oct 02 2025 at 23:18):

yes you can't factor into multiple nonlinear factors without having at least two quadratic factors

Violeta Hernández (Oct 02 2025 at 23:21):

Ok so, let α\alpha be a root of pp. The field F(α)\mathcal F(\alpha) is a cubic extension of F\mathcal F. The field F(ω)\mathcal F(\omega) is also a cubic extension of F\mathcal F. Since they're both finite fields they're isomorphic, and there exists an isomorphism fixing F\mathcal F. Whatever α\alpha gets sent to by this isomorphism is less than ω3\omega^3, and is a root of the polynomial.

Violeta Hernández (Oct 02 2025 at 23:21):

Ok wow that was easy

Aaron Liu (Oct 02 2025 at 23:22):

yeah I know right

Violeta Hernández (Oct 02 2025 at 23:28):

How easy is it to make a blueprint?

Violeta Hernández (Oct 02 2025 at 23:28):

as in, the Lean webpages collecting informal proofs

Violeta Hernández (Oct 02 2025 at 23:28):

that would be very useful here

Aaron Liu (Oct 02 2025 at 23:30):

https://github.com/pitmonticone/LeanProject looks like it comes with a blueprint

Violeta Hernández (Oct 02 2025 at 23:31):

I'll check this out as soon as I'm on my PC again

Violeta Hernández (Oct 02 2025 at 23:33):

So, I believe that we completely understand nimbers below w^w

Aaron Liu (Oct 02 2025 at 23:33):

that would be great

Violeta Hernández (Oct 02 2025 at 23:33):

And we know why w^w is cubically closed

Violeta Hernández (Oct 02 2025 at 23:33):

but why is it quartically closed?

Violeta Hernández (Oct 02 2025 at 23:33):

that makes no sense to me

Aaron Liu (Oct 02 2025 at 23:34):

maybe because 4 is composite

Violeta Hernández (Oct 02 2025 at 23:34):

well clearly it has something to do with that

Violeta Hernández (Oct 02 2025 at 23:34):

because w^(w^2) is not only quintically but sextically closed, etc.

Aaron Liu (Oct 02 2025 at 23:35):

I'll see what it says in the ONAG book

Violeta Hernández (Oct 02 2025 at 23:36):

Maybe the argument is that a quartic extension of a finite field is the same as a quadratic extension of a quadratic extension which we do have?

Aaron Liu (Oct 02 2025 at 23:38):

ok I looked at the ONAG book and was not enlightened

Aaron Liu (Oct 02 2025 at 23:38):

maybe we can look at the absolute galois group

Aaron Liu (Oct 02 2025 at 23:45):

ok I'm looking at the absolute galois group now

Aaron Liu (Oct 02 2025 at 23:48):

Kevin said that algebraic extensions of F2\mathbb{F}_2 correspond to closed subgroups of Z^\widehat{\mathbb{Z}}

Aaron Liu (Oct 02 2025 at 23:50):

we start by quotienting out by the subgroup corresponding to ωω\omega^\omega since that's the field we're interested in

Aaron Liu (Oct 02 2025 at 23:52):

or no not quotienting out

Aaron Liu (Oct 02 2025 at 23:52):

the opposite

Aaron Liu (Oct 02 2025 at 23:53):

since we want the galois group of the F2\overline{\mathbb{F}_2} over PωωP_{\omega^\omega} not the other way around

Aaron Liu (Oct 02 2025 at 23:53):

well not the other way around but the

Aaron Liu (Oct 02 2025 at 23:55):

ok Z^\widehat{\mathbb{Z}} is the product of pZp\prod_p \mathbb{Z}_p

Aaron Liu (Oct 03 2025 at 00:00):

and we have the quadratic closure whose galois group looks like some limit of Z/2nZ\mathbb{Z} / 2^n \mathbb{Z}

Violeta Hernández (Oct 03 2025 at 00:02):

I asked my other mathematician friendsScreenshot_2025-10-02-18-02-14-166_com.discord-edit.jpg

Aaron Liu (Oct 03 2025 at 00:03):

Violeta Hernández said:

I asked my other mathematician friendsScreenshot_2025-10-02-18-02-14-166_com.discord-edit.jpg

do you understand the reply (I don't understand, can you explain it to me)

Aaron Liu (Oct 03 2025 at 00:04):

where was I

Aaron Liu (Oct 03 2025 at 00:05):

ah yes the galois group of PωP_\omega seems to be Z2\mathbb{Z}_2 the 2-adic integers

Aaron Liu (Oct 03 2025 at 00:15):

does PωP_\omega have any nontrivial degree 4 extensions?

Violeta Hernández (Oct 03 2025 at 12:47):

Aaron Liu said:

Violeta Hernández said:

I asked my other mathematician friendsScreenshot_2025-10-02-18-02-14-166_com.discord-edit.jpg

do you understand the reply (I don't understand, can you explain it to me)

not really :frown:

Violeta Hernández (Oct 03 2025 at 12:47):

I'm not even sure if this argument works

Kevin Buzzard (Oct 03 2025 at 12:48):

Just catching up.

If your field does not have characteristic 3 and if it has three distinct cube roots of 1 in it then you can happily "adjoin a cube root of x" for any x in the field which doesn't have a cube root in the field; this is a well-defined degree 3 extension and it's the splitting field of X^3-x. The chaos only occurs if you don't have three distinct cube roots of 1, then pathological things can happen.

If you look at the closed subgroup of pZp\prod_p\Z_p which is p>2Zp\prod_{p>2}\Z_p then by FTG this corresponds to an algebraic infinite degree extension kk of F2\mathbb{F}_2 whose Galois group over F2\mathbb{F}_2 is Z2\Z_2 and such that the Galois group of F2\overline{\mathbb{F}}_2 over kk is p>2Zp\prod_{p>2}\Z_p.

Violeta Hernández (Oct 03 2025 at 13:03):

Oh actually, I do get why all quartic polynomials in Pωω\mathcal P_{\omega^\omega} have roots, and it's basically the same argument as before.

Violeta Hernández (Oct 03 2025 at 13:07):

Take a quartic polynomial pp in Pωω\mathcal P_{\omega^\omega}. Suppose it doesn't have roots; since Pωω\mathcal P_{\omega^\omega} has roots for all polynomials of degree 33 or lower, pp must be irreducible. Take the field F\mathcal F generated by its coefficients, adjoin a root α\alpha to create a degree 44 extension. By finite field properties, you can find a quadratic extension FF(β)F(α)\mathcal F\le\mathcal F(\beta)\le\mathcal F(\alpha). Since Pωω\mathcal P_{\omega^\omega} is quadratically closed, β\beta and also α\alpha must be in Pωω\mathcal P_{\omega^\omega}.

Violeta Hernández (Oct 03 2025 at 13:08):

tl;dr, a quartic extension of a finite field is just a quadratic extension of a quadratic extension

Violeta Hernández (Oct 03 2025 at 13:11):

So I think there really is only one thing we don't understand: why do the αp\alpha_p exist?

Violeta Hernández (Oct 03 2025 at 13:12):

e.g. why does Pωω\mathcal P_{\omega^\omega} not have all fifth roots?

Violeta Hernández (Oct 03 2025 at 13:19):

Bonus question, the fact that [ωω]5=4[\omega^\omega]^5=4 implies that [2][2] and [3][3] have fifth roots below [ωω][\omega^\omega]. What are they?

Violeta Hernández (Oct 03 2025 at 13:28):

I think the Galois group of Pωω\mathcal P_{\omega^\omega} should be Z2×Z3\mathbb Z_2 \times \mathbb Z_3? Is there some way to just look at that and conclude that there exists a quintic extension?

Violeta Hernández (Oct 03 2025 at 13:36):

Actually, why is the Galois group of the quadratic closure of F2\mathbb F_2 equal to Z2\mathbb Z_2 again?

Violeta Hernández (Oct 03 2025 at 13:37):

Does the Galois map preserve limits?

Violeta Hernández (Oct 03 2025 at 13:57):

ok ok so thanks to my friend again I think I know why αp\alpha_p i.e. the smallest number without a pp-th root in κp\kappa_p exists

Violeta Hernández (Oct 03 2025 at 13:58):

so, the idea is that since p1p-1 has prime factors smaller than pp, we should be able to find a subfield of order 2p12^{p-1}, whose multiplicative subgroup has an order divisible by pp.

Violeta Hernández (Oct 03 2025 at 13:59):

Which means that there exists some element of this subfield which does not have a pp-th root within the subfield

Violeta Hernández (Oct 03 2025 at 14:01):

But any algebraic extensions that land within κp\kappa_p must be of a degree whose prime factors are less than pp, which means there aren't any pp-th roots added for these original elements

Violeta Hernández (Oct 03 2025 at 14:01):

i.e. these values don't have a pp-th root in κp\kappa_p either

Violeta Hernández (Oct 03 2025 at 14:01):

To be completely honest I'm not 100% on the details of this but, it all seems legit

Violeta Hernández (Oct 03 2025 at 14:12):

I'm admittedly a bit worried that some of the results we proved via the "take a finite subfield, use finite field theory" method might have more direct proofs using Galois theory

Aaron Liu (Oct 03 2025 at 14:20):

I think I understand now why the degree of the next extension is always prime

Violeta Hernández (Oct 03 2025 at 14:21):

Isn't that just the same argument I gave? If the degree was composite you could pass to finite fields, find an intermediate extension, and then both steps of the extension would already exist in your field

Aaron Liu (Oct 03 2025 at 14:23):

no but like it's intuitive for me now

Aaron Liu (Oct 03 2025 at 14:23):

since the galois group of the extension is smooth or something

Violeta Hernández (Oct 03 2025 at 14:24):

wdym?

Aaron Liu (Oct 03 2025 at 14:26):

like its cardinality

Violeta Hernández (Oct 03 2025 at 14:26):

Yeah

Violeta Hernández (Oct 03 2025 at 14:26):

I'm actually not sure if that is sufficient, though

Aaron Liu (Oct 03 2025 at 14:27):

well all n-smooth numbers are p-smooth for p prime less than n

Violeta Hernández (Oct 03 2025 at 14:27):

Say GG is a group with 3-smooth order, and HH is a subgroup of index 4. Does there always exist an intermediate subgroup with index 2?

Aaron Liu (Oct 03 2025 at 14:30):

no the point is we've already "completed" the p-smooth stuff

Violeta Hernández (Oct 03 2025 at 14:30):

I think that's a valid way to think of it

Violeta Hernández (Oct 03 2025 at 14:30):

Not sure what the exact formal statement for that is

Aaron Liu (Oct 03 2025 at 14:30):

something something absolute galois group

Django Peeters (Oct 03 2025 at 14:35):

What is a 4-smooth Galois group?

Aaron Liu (Oct 03 2025 at 14:36):

The cardinality is a 4-smooth number

Violeta Hernández (Oct 03 2025 at 14:45):

hmmm wait

Violeta Hernández (Oct 03 2025 at 14:45):

why is ωω5\omega^{\omega 5} a fifth root of ωω\omega^\omega?

Violeta Hernández (Oct 03 2025 at 14:46):

or rather, why does ωω\omega^\omega have no fifth roots in Pωω5\mathcal P_{\omega^{\omega5}}?

Violeta Hernández (Oct 03 2025 at 14:49):

I think the idea is that the order of ωω\omega^\omega must be a 3-smooth number times 25, but the order of everything in Pωω5\mathcal P_{\omega^{\omega5}} is a 3-smooth number times at most 5?

Violeta Hernández (Oct 03 2025 at 14:51):

Why is any of this true

Aaron Liu (Oct 03 2025 at 15:19):

Violeta Hernández said:

I think the idea is that the order of ωω\omega^\omega must be a 3-smooth number times 25, but the order of everything in Pωω5\mathcal P_{\omega^{\omega5}} is a 3-smooth number times at most 5?

No that doesn't sound quite right

Aaron Liu (Oct 03 2025 at 15:20):

what was the argument for why ω\omega has no cube root

Violeta Hernández (Oct 03 2025 at 15:21):

A cube root would need to have order 27 but that's not possible below ω3\omega^3

Aaron Liu (Oct 03 2025 at 15:21):

Why not

Violeta Hernández (Oct 03 2025 at 15:21):

image.png

Violeta Hernández (Oct 03 2025 at 15:23):

I'm trying to figure out how this argument generalizes

Aaron Liu (Oct 03 2025 at 15:40):

Violeta Hernández said:

Bonus question, the fact that [ωω]5=4[\omega^\omega]^5=4 implies that [2][2] and [3][3] have fifth roots below [ωω][\omega^\omega]. What are they?

My CAS tells me we have [4]5=[2][4]^5=[2] and [6]5=[3][6]^5=[3]

Violeta Hernández (Oct 03 2025 at 15:41):

In fact you also have [3]5=[2][3]^5=[2] and [2]5=[3][2]^5=[3]

Aaron Liu (Oct 03 2025 at 15:41):

well that works too I guess

Aaron Liu (Oct 03 2025 at 15:41):

I have five fifth roots here actually

Violeta Hernández (Oct 03 2025 at 15:42):

ooh what are they?

Aaron Liu (Oct 03 2025 at 15:44):

4,5,11,3,9 are all fifth roots of 2

Violeta Hernández (Oct 03 2025 at 15:44):

nice!

Violeta Hernández (Oct 03 2025 at 15:44):

Violeta Hernández said:

I'm trying to figure out how this argument generalizes

I think our original idea worked better

Aaron Liu (Oct 03 2025 at 15:46):

and then 6,2,7,12,15 are all fifth roots of 3

Violeta Hernández (Oct 03 2025 at 15:49):

If ω\omega has a cube root below ω3\omega^3, take a finite field containing the cube root and ω\omega, then this is a field with order 22k×32^{2^k \times 3}, so by a divisibility argument it can't contain an element of order 2727, i.e. a cube root of ω\omega.

Aaron Liu (Oct 03 2025 at 15:50):

what's the argument for ωω\omega^\omega which is order 75

Aaron Liu (Oct 03 2025 at 15:51):

and how are we supposed to calculate this order in general

Violeta Hernández (Oct 03 2025 at 15:52):

hmm great question

Violeta Hernández (Oct 03 2025 at 15:53):

We probably shouldn't be relying on divisibility arguments like that

Violeta Hernández (Oct 03 2025 at 16:06):

Question

Violeta Hernández (Oct 03 2025 at 16:06):

Does every finite subfield of Pωω\mathcal P_{\omega^\omega} have order 22k1×3k22^{2^{k_1}\times 3^{k_2}}?

Violeta Hernández (Oct 03 2025 at 16:26):

Aaron Liu said:

what's the argument for ωω\omega^\omega which is order 75

I think it should go like this. Suppose ωω\omega^\omega has a fifth root below ωω×5\omega^{\omega\times 5}, take a finite field containing the fifth root and ω\omega, then this is a field with order 22m×3n×52^{2^m\times 3^n\times 5}. Since 55 is not a Wieferich prime (please tell me there is a way to avoid this step), the largest power of 55 that can divide this is 2525. However, a fifth root of ωω\omega^\omega would have order 25ord(α5)25\textrm{ord}(\alpha_5), and α5\alpha_5 must have order divisible by 55 because (?), so this is impossible.

Aaron Liu (Oct 03 2025 at 16:46):

Violeta Hernández said:

Does every finite subfield of Pωω\mathcal P_{\omega^\omega} have order 22k1×3k22^{2^{k_1}\times 3^{k_2}}?

yes?

Aaron Liu (Oct 03 2025 at 16:56):

Violeta Hernández said:

Since 55 is not a Wieferich prime (please tell me there is a way to avoid this step)

You mean A001220 right? We've already brought galois theory in I don't want to rope in number theory too

Kevin Buzzard (Oct 03 2025 at 17:01):

Violeta Hernández said:

Say GG is a group with 3-smooth order, and HH is a subgroup of index 4. Does there always exist an intermediate subgroup with index 2?

Not at all (e.g. S_3 in S_4). But it's certainly true in the abelian case (and 3-smoothness is irrelevant), and I thought that this was what you cared about.

Aaron Liu (Oct 03 2025 at 17:02):

Yes all the galois groups are abelian (for now)

Aaron Liu (Oct 03 2025 at 17:46):

Does a (galois) field tower E/K/FE/K/F give you an exact sequence 0Gal(E/K)Gal(E/F)Gal(K/F)00 \to \text{Gal}(E/K) \to \text{Gal}(E/F) \to \text{Gal}(K/F) \to 0

Aaron Liu (Oct 03 2025 at 17:47):

is that the fundamental theorem of galois theory

Violeta Hernández (Oct 03 2025 at 18:14):

Aaron Liu said:

Violeta Hernández said:

Since 55 is not a Wieferich prime (please tell me there is a way to avoid this step)

You mean A001220 right? We've already brought galois theory in I don't want to rope in number theory too

I imagine you can avoid using this by just adjusting your exponent

Violeta Hernández (Oct 03 2025 at 18:30):

Although it would be hilarious if something broke at alpha_1093 and no one had noticed

Django Peeters (Oct 03 2025 at 18:33):

That's not actually that far away.

Violeta Hernández (Oct 03 2025 at 19:15):

I realize that our problem can be turned into a much simpler problem on finite fields

Aaron Liu (Oct 03 2025 at 19:16):

I think I figured it out

Violeta Hernández (Oct 03 2025 at 19:16):

Suppose F(a) is a degree p extension of F. Can a be a pth power?

Violeta Hernández (Oct 03 2025 at 19:17):

This should be simple to disprove by primitive roots

Violeta Hernández (Oct 03 2025 at 19:17):

Aaron Liu said:

I think I figured it out

oh go ahead

Aaron Liu (Oct 03 2025 at 19:20):

wait what were we trying to prove again

Violeta Hernández (Oct 03 2025 at 19:21):

that w doesn't have a cube root below w^3, etc.

Aaron Liu (Oct 03 2025 at 19:21):

oh of course

Aaron Liu (Oct 03 2025 at 19:24):

and the quadratic closure of 22 is ω\omega

Aaron Liu (Oct 03 2025 at 19:25):

so any quadratic extension of 22 is isomorphic to a subfield of ω\omega

Django Peeters (Oct 03 2025 at 19:50):

I didn't notice before, but we now have found the smallest prime p which has a q-set of size 3.

Aaron Liu (Oct 03 2025 at 19:50):

what does that mean

Django Peeters (Oct 03 2025 at 19:52):

It means that nimbers behave more interesting than I thought before.

Aaron Liu (Oct 03 2025 at 19:52):

sure

Aaron Liu (Oct 03 2025 at 19:56):

ohno

Aaron Liu (Oct 03 2025 at 19:56):

there is a prime between nn and n2n^2

Django Peeters (Oct 03 2025 at 19:56):

There sure is

Aaron Liu (Oct 03 2025 at 19:57):

oh I fixed it

Aaron Liu (Oct 03 2025 at 20:05):

hahaha I think I did it

Aaron Liu (Oct 03 2025 at 20:05):

for real this time

Aaron Liu (Oct 03 2025 at 20:06):

oh I assumed the coefficient is nonzero I guess I got to check what happens when it's zero

Aaron Liu (Oct 03 2025 at 20:08):

oh this just doesn't work

Aaron Liu (Oct 03 2025 at 20:47):

ok I think I got it for real for real this time

Aaron Liu (Oct 03 2025 at 20:48):

and another MSE answer https://math.stackexchange.com/a/584336

Aaron Liu (Oct 03 2025 at 20:54):

Let α\alpha be a cube root of ω\omega, so that α3=ω\alpha ^ 3 = \omega, and let F=Pω\mathcal{F} = P_\omega be the quadratic closure of F2\mathbb{F}_2, then α9F\alpha ^ 9 \in \mathcal{F} but α3F\alpha ^ 3 \notin \mathcal{F} and the polynomial X31X^3-1 splits over F\mathcal{F} and 99 is not divisible by 22, so the minimal polynomial of α\alpha over F\mathcal{F} is X9α9X^9-\alpha^9 which is degree 99 so α\alpha cannot lie in F(ω)\mathcal{F}(\omega) which is a degree 33 extension of F\mathcal{F}.

Aaron Liu (Oct 03 2025 at 20:54):

does that work

Aaron Liu (Oct 03 2025 at 20:55):

I think this argument generalizes

Violeta Hernández (Oct 03 2025 at 21:28):

Violeta Hernández said:

Suppose F(a) is a degree p extension of (a finite field) F. Can a be a pth power?

Let F=k|F| = k, let ξ\xi be a primitive root in F(α)\mathcal F(\alpha). We can write α=ξmn/p\alpha = \xi^{mn/p} for m=kp1k1m = \frac{k^p-1}{k-1}, and pnp\nmid n. If pk1p\mid k-1, then LTE says p2mp^2\nmid m, meaning α\alpha is not a pp-th root.

Violeta Hernández (Oct 03 2025 at 21:29):

Small problem. If pk1p\nmid k - 1, then it's totally possible that p2kp1p^2\mid k^p-1. Wiefrich primes are an example when k=2k=2.

Aaron Liu (Oct 03 2025 at 21:29):

uhoh

Aaron Liu (Oct 03 2025 at 21:32):

Violeta Hernández said:

We can write α=ξmn/p\alpha = \xi^{mn/p} for m=kp1k1m = \frac{k^p-1}{k-1}, and pnp\nmid n.

why

Violeta Hernández (Oct 03 2025 at 21:32):

The nonzero elements in F\mathcal F are of the form ξmn\xi^{mn}, and α\alpha is a pp-th root of one of them

Aaron Liu (Oct 03 2025 at 21:33):

oh I think I get it now

Aaron Liu (Oct 03 2025 at 21:34):

no I don't get it

Violeta Hernández (Oct 03 2025 at 21:34):

the values ξmn\xi^{mn} for varying nn are all the roots of xk1=1x^{k-1}=1

Violeta Hernández (Oct 03 2025 at 21:34):

i.e. the elements of F\mathcal F

Aaron Liu (Oct 03 2025 at 21:35):

where does m=kp1k1m = \frac{k^p-1}{k-1} come from

Violeta Hernández (Oct 03 2025 at 21:35):

m=F(α)Fm=\frac{|\mathcal F(\alpha)|}{|\mathcal F|}

Aaron Liu (Oct 03 2025 at 21:36):

oh I get it now

Aaron Liu (Oct 03 2025 at 21:36):

this only works for finite fields

Aaron Liu (Oct 03 2025 at 21:36):

we have a very infinite field

Violeta Hernández (Oct 03 2025 at 21:36):

ooopsie I forgot to say that

Violeta Hernández (Oct 03 2025 at 21:37):

well, but I do believe the result we want follows from the finite case

Violeta Hernández (Oct 03 2025 at 21:37):

by the usual trick of "take a field generated by everything you care about"

Aaron Liu (Oct 03 2025 at 21:37):

have you reviewed my proof yet

Aaron Liu (Oct 03 2025 at 21:37):

I finally got one after two false positives

Violeta Hernández (Oct 03 2025 at 21:38):

oh yeah that would be a good idea

Violeta Hernández (Oct 03 2025 at 21:38):

one sec

Violeta Hernández (Oct 03 2025 at 21:44):

Aaron Liu said:

Let α\alpha be a cube root of ω\omega, so that α3=ω\alpha ^ 3 = \omega, and let F=Pω\mathcal{F} = P_\omega be the quadratic closure of F2\mathbb{F}_2, then α9F\alpha ^ 9 \in \mathcal{F} but α3F\alpha ^ 3 \notin \mathcal{F} and the polynomial X31X^3-1 splits over F\mathcal{F} and 99 is not divisible by 22, so the minimal polynomial of α\alpha over F\mathcal{F} is X9α9X^9-\alpha^9 which is degree 99 so α\alpha cannot lie in F(ω)\mathcal{F}(\omega) which is a degree 33 extension of F\mathcal{F}.

why can't the minimal polynomial be smaller?

Aaron Liu (Oct 03 2025 at 21:46):

Definition. Let LL be a field and let α\alpha be an element of a field extending LL. The radical degree of α\alpha over LL is the smallest p1p \ge 1 such that αpL\alpha^p \in L (or ++\infty if no such pp exists).

Then we have:
Lemma. If the radical degree dd of α\alpha is finite and not divisible by the characteristic of LL, and if LL contains all dd-roots of unity, then the minimal polynomial of α\alpha over LL is exactly XdαdX^d-\alpha^d. In particular, the radical degree coincides with the usual degree.

Aaron Liu (Oct 03 2025 at 21:46):

wait I forgot to prove that F\mathcal{F} contains all the 99 th roots of unity (it doesn't)

Violeta Hernández (Oct 03 2025 at 21:50):

Violeta Hernández said:

Small problem. If pk1p\nmid k - 1, then it's totally possible that p2kp1p^2\mid k^p-1. Wiefrich primes are an example when k=2k=2.

Wait. Surely we can just make F\mathcal F big enough so that pk1p\mid k-1?

Aaron Liu (Oct 03 2025 at 21:51):

oh it just occurred to me that that's always possible

Violeta Hernández (Oct 03 2025 at 21:51):

yep, just make k=2xk=2^{x} for p1xp-1\mid x

Violeta Hernández (Oct 03 2025 at 21:51):

take as many lower-degree extensions as needed

Aaron Liu (Oct 03 2025 at 21:51):

no but we still have to remain a subfield of the big field

Violeta Hernández (Oct 03 2025 at 21:51):

Yes, and that field contains all extensions of degree less than pp

Aaron Liu (Oct 03 2025 at 21:52):

does that work?

Aaron Liu (Oct 03 2025 at 21:52):

I don't know

Violeta Hernández (Oct 03 2025 at 21:52):

lemme give the example with ω\omega

Violeta Hernández (Oct 03 2025 at 21:55):

actually that example is kind of dumb, let me give the example with p=7p=7 instead

Violeta Hernández (Oct 03 2025 at 21:59):

Suppose that κ7=ωω2\kappa_7=\omega^{\omega^2} did have a seventh root in Pκ77\mathcal P_{\kappa_7^7}. You can write this seventh root as p(κ7)p(\kappa_7) for pPκ7p\in\mathcal P_{\kappa_7} with deg(p)<7\deg(p)<7. Take F0Pκ7\mathcal F_0\subseteq \mathcal P_{\kappa_7} the field generated by the coefficients of pp, and let FPκ7\mathcal F\subseteq \mathcal P_{\kappa_7} be some arbitrary sixth degree extension, so that 7F17\mid |\mathcal F|-1. Then, by the theorem I proved above, κ7\kappa_7 can't be a seventh root in F(κ7)\mathcal F(\kappa_7), a contradiction.

Aaron Liu (Oct 03 2025 at 22:00):

interesting

Violeta Hernández (Oct 03 2025 at 22:04):

Actually, I think you might need to add [κ7]7Pκ7[\kappa_7]^7 \in \mathcal P_{\kappa_7} to F0\mathcal F_0, so that F(κ7)\mathcal F(\kappa_7) has degree 77 and not something larger

Violeta Hernández (Oct 03 2025 at 22:23):

I think the general theorem looks something like this: let p be prime, and F be a field algebraic over its prime field with no extensions of degree < p. If F(a) is an extension of degree p, then a has no pth root in F(a).

Violeta Hernández (Oct 03 2025 at 22:23):

This isn't much more general than what we already had but it helps abstract away from nimbers

Aaron Liu (Oct 03 2025 at 23:07):

oh no I have another proof

Aaron Liu (Oct 03 2025 at 23:08):

I read ONAG again and I think it enlightened me on this problem

Violeta Hernández (Oct 03 2025 at 23:10):

Go ahead

Aaron Liu (Oct 03 2025 at 23:11):

so let pnp_n be the nn th odd prime, so p0=3p_0=3, p1=5p_1=5 etc. and let αpn=[ωωn]pn\alpha_{p_n} = [\omega^{\omega^n}]^{p_n}

Aaron Liu (Oct 03 2025 at 23:12):

have I done correctly so far

Violeta Hernández (Oct 03 2025 at 23:13):

sure

Violeta Hernández (Oct 03 2025 at 23:13):

that looks correct

Aaron Liu (Oct 03 2025 at 23:14):

alright so by induction or whatever all the finite subfields of [ωωn][\omega^{\omega^n}] have order 22k2^{2^k} where kk is pn1p_n-1-smooth

Violeta Hernández (Oct 03 2025 at 23:15):

I'm still not really sure why this is true

Aaron Liu (Oct 03 2025 at 23:15):

it's because of the degrees of the extensions

Violeta Hernández (Oct 03 2025 at 23:17):

actually I think I see the induction argument

Aaron Liu (Oct 03 2025 at 23:17):

anyways since [ωωn]pn=αpn[\omega^{\omega^n}]^{p_n}=\alpha_{p_n} we have that αpn\alpha_{p_n} has no pnp_n th root in [ωωn][\omega^{\omega^n}]

Violeta Hernández (Oct 03 2025 at 23:18):

e.g. a finite subfield of ω3\omega^3 is contained in a cubic extension of a finite subfield of ω\omega hence 3-smooth, etc.

Violeta Hernández (Oct 03 2025 at 23:19):

Aaron Liu said:

anyways since [ωωn]pn=αpn[\omega^{\omega^n}]^{p_n}=\alpha_{p_n} we have that αpn\alpha_{p_n} has no pnp_n th root in [ωωn][\omega^{\omega^n}]

That's basically how αp\alpha_p is defined yeah

Aaron Liu (Oct 03 2025 at 23:19):

and then... uhmmm...

Aaron Liu (Oct 03 2025 at 23:19):

I'll be back after a brief intermission

Violeta Hernández (Oct 03 2025 at 23:19):

sure

Aaron Liu (Oct 03 2025 at 23:22):

gotta stay hydrated :water_drop:

Aaron Liu (Oct 03 2025 at 23:22):

anyways fix nn and let αpn\alpha_{p_n} be a primitive uu-th root of unity

Aaron Liu (Oct 03 2025 at 23:23):

obviously pnup_n \nmid u

Violeta Hernández (Oct 03 2025 at 23:24):

isn't α3=2\alpha_3 = 2 a third root of unity?

Aaron Liu (Oct 03 2025 at 23:25):

oh no was it the other way around

Aaron Liu (Oct 03 2025 at 23:25):

obviously pnup_n \mid u

Aaron Liu (Oct 03 2025 at 23:25):

disregard my earlier statement

Violeta Hernández (Oct 03 2025 at 23:25):

i'm not actually sure why this happens in general

Aaron Liu (Oct 03 2025 at 23:26):

consider the multiplicative subgroup generated by αpn\alpha_{p_n}, which is cyclic, therefore divisible by any number coprime to its order

Violeta Hernández (Oct 03 2025 at 23:27):

yep

Aaron Liu (Oct 03 2025 at 23:27):

where was I

Violeta Hernández (Oct 03 2025 at 23:27):

wait but then what

Aaron Liu (Oct 03 2025 at 23:28):

suppose for sake of contradiction that x<[ωωnpn]x < [\omega^{\omega^n p_n}] but xpn=[ωωn]x^{p_n}=[\omega^{\omega^n}]

Violeta Hernández (Oct 03 2025 at 23:28):

i still don't know why pnup_n\mid u but sure

Aaron Liu (Oct 03 2025 at 23:29):

Violeta Hernández said:

i still don't know why pnup_n\mid u but sure

since αpn\alpha_{p_n} is not divisible (rootable) by pnp_n, it follows that the multiplicative order of αpn\alpha_{p_n} is not coprime to pnp_n

Violeta Hernández (Oct 03 2025 at 23:30):

ah! ok

Violeta Hernández (Oct 03 2025 at 23:30):

continue

Aaron Liu (Oct 03 2025 at 23:32):

consider F\mathcal{F} the field generated by xx which has 22kpn2^{2^{kp_n}} many elements, where kk is pn1p_n-1-smooth

Violeta Hernández (Oct 03 2025 at 23:33):

ok

Aaron Liu (Oct 03 2025 at 23:34):

and xx is a primitive upn2up_n^2 root of unity

Violeta Hernández (Oct 03 2025 at 23:34):

yes

Aaron Liu (Oct 03 2025 at 23:36):

and no subfield of [ωωn][\omega^{\omega^n}] contains any upnup_n root of unity

Violeta Hernández (Oct 03 2025 at 23:38):

why?

Aaron Liu (Oct 03 2025 at 23:38):

well they do contain 11 which is a root of unity

Aaron Liu (Oct 03 2025 at 23:38):

I meant that they don't contains any primitive upnup_n roots of unity

Violeta Hernández (Oct 03 2025 at 23:39):

why?

Aaron Liu (Oct 03 2025 at 23:39):

well because αpn\alpha_{p_n} is not a pnp_n th power

Aaron Liu (Oct 03 2025 at 23:40):

if you have a primitive upnup_n root of unity you can express any uu root of unity as a pnp_n th power of a power of that

Violeta Hernández (Oct 03 2025 at 23:42):

ah

Aaron Liu (Oct 03 2025 at 23:42):

like if you have a primitive 441441 root of unity then any 6363 root of unity is a 77 th power

Violeta Hernández (Oct 03 2025 at 23:42):

ok

Aaron Liu (Oct 03 2025 at 23:43):

for any pn1p_n-1-smooth number gg there exists a subfield of [ωωn][\omega^{\omega^n}] which has order 22g2^{2^g}

Violeta Hernández (Oct 03 2025 at 23:44):

yep

Aaron Liu (Oct 03 2025 at 23:44):

so then upn22g1up_n \nmid 2^{2^g}-1

Violeta Hernández (Oct 03 2025 at 23:45):

for any such g?

Aaron Liu (Oct 03 2025 at 23:45):

yes, since otherwise the field with order 22g2^{2^g} would contains a primitive upnup_n root of unity

Violeta Hernández (Oct 03 2025 at 23:45):

yep

Aaron Liu (Oct 03 2025 at 23:46):

so then I was hoping we could do some divisibility magic to conclude that upn222gpn1up_n^2 \nmid 2^{2^{gp_n}}-1

Violeta Hernández (Oct 03 2025 at 23:46):

yeah I think that sort of sidesteps the part of my proof where I need to take a (p-1)-th degree extension

Violeta Hernández (Oct 03 2025 at 23:47):

The rest of your proof is just LTE

Violeta Hernández (Oct 03 2025 at 23:47):

same as mine

Aaron Liu (Oct 03 2025 at 23:47):

yay

Violeta Hernández (Oct 03 2025 at 23:48):

specifically, you want to show that the highest power of pnp_n dividing 22gpn2^{2^g p_n} is at most that of uu plus 1

Violeta Hernández (Oct 03 2025 at 23:49):

since p22g1p\mid 2^{2^g}-1, you can use LTE to prove this

Violeta Hernández (Oct 03 2025 at 23:49):

actually idk if you know p22g1p\mid 2^{2^g}-1 but you can definitely make it so

Aaron Liu (Oct 03 2025 at 23:50):

when you set g=kg = k at the end you do know

Violeta Hernández (Oct 03 2025 at 23:50):

yep

Violeta Hernández (Oct 03 2025 at 23:50):

I think your proof is very similar to what I did

Aaron Liu (Oct 03 2025 at 23:51):

I had a look at ONAG and inferred the missing pieces

Violeta Hernández (Oct 03 2025 at 23:54):

ok, so I think we finally have all the pieces

Violeta Hernández (Oct 03 2025 at 23:54):

I'm struggling to figure out how to set up a blueprint for Lean

Violeta Hernández (Oct 03 2025 at 23:54):

but I can at least write down the theorems we need and their proofs on Overleaf

Violeta Hernández (Oct 03 2025 at 23:54):

question

Violeta Hernández (Oct 03 2025 at 23:55):

how much of what we've proved for fields above w also helps us below w?

Aaron Liu (Oct 03 2025 at 23:56):

well we aren't adjoining roots

Aaron Liu (Oct 03 2025 at 23:56):

well we are

Violeta Hernández (Oct 03 2025 at 23:56):

true

Violeta Hernández (Oct 03 2025 at 23:56):

not square roots

Aaron Liu (Oct 03 2025 at 23:57):

I have some stale half-finished work characterizing the multiplication

Violeta Hernández (Oct 03 2025 at 23:59):

there is literally a multiplication algorithm for finite nimbers in the repo already

Violeta Hernández (Oct 03 2025 at 23:59):

we just haven't proven correctness

Aaron Liu (Oct 04 2025 at 00:01):

yes my not-done-yet work says basically that [2n+1][2^{n+1}] is a root of X2+X+[2n]X^2+X+[2^n]

Violeta Hernández (Oct 04 2025 at 00:02):

Aaron Liu said:

yes my not-done-yet work says basically that [2n+1][2^{n+1}] is a root of X2+X+[2n]X^2+X+[2^n]

yep

Violeta Hernández (Oct 04 2025 at 00:02):

yeah i think nimbers below w need to be done separately

Violeta Hernández (Oct 04 2025 at 00:02):

anyways

Violeta Hernández (Oct 04 2025 at 00:02):

I'll make the Overleaf

Violeta Hernández (Oct 04 2025 at 00:02):

give me like two hours

Aaron Liu (Oct 04 2025 at 00:03):

Aaron Liu said:

yes my not-done-yet work says basically that [2n+1][2^{n+1}] is a root of X2+X+[2n]X^2+X+[2^n]

that should be [22n+1][2^{2^{n+1}}] is a root of X2+X+[22n]X^2+X+[2^{2^n}]

Violeta Hernández (Oct 04 2025 at 00:04):

yeah that

Violeta Hernández (Oct 04 2025 at 00:05):

actually

Violeta Hernández (Oct 04 2025 at 00:05):

does every quadratic over [22n][2^{2^n}] split over [22n+1][2^{2^{n+1}}]?

Aaron Liu (Oct 04 2025 at 00:05):

yes that sounds correct

Violeta Hernández (Oct 04 2025 at 00:06):

it's still the same argument, right? any two extensions of a finite field with the same degree are isomorphic

Aaron Liu (Oct 04 2025 at 00:06):

yeah that

Violeta Hernández (Oct 04 2025 at 00:06):

so that gives a pretty succint proof that Pω\mathcal P_{\omega} is quadratically closed

Aaron Liu (Oct 04 2025 at 00:07):

oh yeah

Violeta Hernández (Oct 04 2025 at 00:07):

and it means we can reuse some of the work past ω\omega

Aaron Liu (Oct 04 2025 at 00:07):

perhaps

Violeta Hernández (Oct 04 2025 at 00:07):

e.g. this theorem

Violeta Hernández (Oct 04 2025 at 01:45):

Hmm

Violeta Hernández (Oct 04 2025 at 01:46):

Why did we know that every algebraic extension of a subfield of F2\overline{\mathbb F}_2 was an abelian extension?

Aaron Liu (Oct 04 2025 at 01:46):

I'm sure I can find it by scrolling up

Aaron Liu (Oct 04 2025 at 01:47):

Kevin Buzzard said:

Violeta Hernández said:

Actually, how do we know that e.g. every algebraic extension of the quadratic closure of F2\mathbb F_2 is abelian?

Galois theory! Any subquotient of an abelian group is abelian.

here we are

Violeta Hernández (Oct 04 2025 at 01:47):

Well, that answers half of my question

Violeta Hernández (Oct 04 2025 at 01:48):

Why do we know that the extension is Galois to begin with?

Aaron Liu (Oct 04 2025 at 01:48):

it's normal and separable

Violeta Hernández (Oct 04 2025 at 01:48):

Every algebraic extension of a finite field is separable

Aaron Liu (Oct 04 2025 at 01:48):

so we want normal

Violeta Hernández (Oct 04 2025 at 01:48):

I can believe Wikipedia on that one (and surely we have this in Lean already?)

Aaron Liu (Oct 04 2025 at 01:49):

Violeta Hernández said:

I can believe Wikipedia on that one (and surely we have this in Lean already?)

docs#PerfectField.ofFinite

Violeta Hernández (Oct 04 2025 at 01:50):

That plus docs#Algebra.IsAlgebraic.isSeparable_of_perfectField

Aaron Liu (Oct 04 2025 at 01:51):

we can also just use galois theory I guess

Violeta Hernández (Oct 04 2025 at 01:52):

Violeta Hernández said:

Why did we know that every algebraic extension of a subfield of F2\overline{\mathbb F}_2 was an abelian extension?

Ok so this probably isn't true in general BUT, if our subfield has the property of "all polynomials of lower degree than p split", then the extension should be normal hence abelian

Aaron Liu (Oct 04 2025 at 01:52):

every (closed) subgroup of Z^\widehat{\mathbb{Z}} is normal since the group is abelian

Aaron Liu (Oct 04 2025 at 01:52):

Violeta Hernández said:

Violeta Hernández said:

Why did we know that every algebraic extension of a subfield of F2\overline{\mathbb F}_2 was an abelian extension?

Ok so this probably isn't true in general BUT, if our subfield has the property of "all polynomials of lower degree than p split", then the extension should be normal hence abelian

nonono it's totally true probably

Aaron Liu (Oct 04 2025 at 01:54):

how do we know the absolute galois group is abelian

Aaron Liu (Oct 04 2025 at 01:55):

oh it's procyclic

Aaron Liu (Oct 04 2025 at 01:55):

all the finite extensions are cyclic galois group

Violeta Hernández (Oct 04 2025 at 01:56):

yeah, the Galois group of F2\overline{\mathbb F}_2 is Z^\widehat{\mathbb Z}

Aaron Liu (Oct 04 2025 at 01:56):

yeah but is that in Lean

Aaron Liu (Oct 04 2025 at 01:56):

I couldn't find it in mathlib but maybe I didn't look hard enough

Aaron Liu (Oct 04 2025 at 01:56):

or maybe it was stated in a way I didn't expect

Aaron Liu (Oct 04 2025 at 01:57):

like with category theory or something

Violeta Hernández (Oct 04 2025 at 01:57):

we can ask later

Violeta Hernández (Oct 04 2025 at 01:58):

Violeta Hernández said:

yeah, the Galois group of F2\overline{\mathbb F}_2 is Z^\widehat{\mathbb Z}

How does my claim follow from this?

Aaron Liu (Oct 04 2025 at 01:58):

Z^\widehat{\mathbb{Z}} is an abelian group

Aaron Liu (Oct 04 2025 at 01:58):

so every (closed) subgroup is a normal subgroup

Aaron Liu (Oct 04 2025 at 01:59):

so every intermediate field is a normal wait did I get the orientation right

Violeta Hernández (Oct 04 2025 at 01:59):

wait, normal extensions are the same as normal subgroups?

Aaron Liu (Oct 04 2025 at 01:59):

let me check

Aaron Liu (Oct 04 2025 at 02:00):

yeah I think I got the orientation right

Aaron Liu (Oct 04 2025 at 02:00):

so every intermediate field is a normal extension maybe?

Violeta Hernández (Oct 04 2025 at 02:00):

that seems too good to be true

Aaron Liu (Oct 04 2025 at 02:01):

it seems very reasonable

Violeta Hernández (Oct 04 2025 at 02:01):

A finite normal extension is the same as a splitting field

Violeta Hernández (Oct 04 2025 at 02:02):

The result seems too strong

Violeta Hernández (Oct 04 2025 at 02:03):

Though of course in our particular case, where we're considering extensions of the form Pωωkpkn+1/Pωωkpkn\mathcal P_{\omega^{\omega^k p_k^{n+1}}} / \mathcal P_{\omega^{\omega^k p_k^{n}}}, we do in fact know that they are splitting fields

Aaron Liu (Oct 04 2025 at 02:03):

Violeta Hernández said:

wait, normal extensions are the same as normal subgroups?

I guess think about why they're both called "normal"

Violeta Hernández (Oct 04 2025 at 02:04):

The words "normal subgroup" are suspiciously absent from the Wikipedia article for "normal extension"

Aaron Liu (Oct 04 2025 at 02:04):

it's because they're invariant when you move them around in the big thing

Violeta Hernández (Oct 04 2025 at 02:04):

Is that also true in the infinite case?

Aaron Liu (Oct 04 2025 at 02:05):

infinite normal subgroups or infinite normal extensions

Violeta Hernández (Oct 04 2025 at 02:05):

infinite galois groups

Aaron Liu (Oct 04 2025 at 02:06):

well I just found the (not following the naming convention) docs#InfiniteGalois.normal_iff_isGalois

Aaron Liu (Oct 04 2025 at 02:06):

oh I guess InfiniteGalois is a namespace yeah this name is fine

Aaron Liu (Oct 04 2025 at 02:07):

some of the other names in that file are not fine though

Violeta Hernández (Oct 04 2025 at 02:08):

[Field k] [Field K] this makes me unreasonably angry

Aaron Liu (Oct 04 2025 at 02:09):

well you have K/kK/k

Aaron Liu (Oct 04 2025 at 02:09):

this is fine

Violeta Hernández (Oct 04 2025 at 02:09):

am I blind or do k and K look nearly the same in the monospace font

Aaron Liu (Oct 04 2025 at 02:10):

I don't know what your font looks like

Violeta Hernández (Oct 04 2025 at 02:10):

image.png

Aaron Liu (Oct 04 2025 at 02:10):

oh it's the same font

Violeta Hernández (Oct 04 2025 at 02:11):

anyways. so this means that every single intermediate field between F2\mathbb F_2 and F2\overline{\mathbb F}_2 is Galois over F2\mathbb F_2?

Aaron Liu (Oct 04 2025 at 02:11):

well yeah

Violeta Hernández (Oct 04 2025 at 02:11):

whoa

Aaron Liu (Oct 04 2025 at 02:12):

actually for KK algebraic over F2\mathbb{F}_2, every single intermediate field between KK and F2\mathbb{F}_2 is also galois over KK

Aaron Liu (Oct 04 2025 at 02:12):

this is basically the same argument

Violeta Hernández (Oct 04 2025 at 02:13):

not only galois, but abelian

Aaron Liu (Oct 04 2025 at 02:13):

yes yes of course

Violeta Hernández (Oct 04 2025 at 02:27):

Aaron Liu said:

this is basically the same argument

Actually, what are the details here? I get that F2/K\overline{\mathbb F}_2/K must be Galois, but what is its Galois group? Is it a subgroup of the profinite integers? A quotient? Something else?

Aaron Liu (Oct 04 2025 at 02:29):

it's the subgroup corresponding to the elements of the galois group which fix KK pointwise

Violeta Hernández (Oct 04 2025 at 02:29):

Ah, of course

Violeta Hernández (Oct 04 2025 at 02:29):

so it's definitely abelian

Violeta Hernández (Oct 04 2025 at 02:29):

so then the argument applies

Violeta Hernández (Oct 04 2025 at 13:51):

It feels ludicrously strong that any algebraic extension is Galois when the absolute Galois group is abelian

Aaron Liu (Oct 04 2025 at 13:52):

I was kind of taking it for granted all this time

Aaron Liu (Oct 04 2025 at 13:52):

obviously all the algebraic extensions of a field algebraic over a finite field will be galois

Violeta Hernández (Oct 04 2025 at 13:53):

yeah, I don't really think that's obvious

Aaron Liu (Oct 04 2025 at 13:53):

well because they're all roots of unity right

Violeta Hernández (Oct 04 2025 at 13:53):

but if we can prove that in Lean then it doesn't matter what I think

Violeta Hernández (Oct 04 2025 at 13:53):

Aaron Liu said:

well because they're all roots of unity right

ohhh actually that's an interesting way to think about it

Aaron Liu (Oct 04 2025 at 13:54):

idk maybe it's not actually that obvious

Violeta Hernández (Oct 04 2025 at 13:55):

well, it makes sense that a field extension made out of distinct roots of unity would be separable

Violeta Hernández (Oct 04 2025 at 13:55):

normality seems way less obvious

Violeta Hernández (Oct 04 2025 at 13:55):

and I wonder if using it can somehow make our previous proofs simpler

Aaron Liu (Oct 04 2025 at 13:55):

it's a perfect field all the extensions are separable

Violeta Hernández (Oct 04 2025 at 13:56):

It still trips me up that a perfect field and a perfect ring are two different things and we have both of them

Aaron Liu (Oct 04 2025 at 13:56):

all the finite extensions at least

Aaron Liu (Oct 04 2025 at 13:56):

Violeta Hernández said:

It still trips me up that a perfect field and a perfect ring are two different things and we have both of them

docs#PerfectField.toPerfectRing docs#PerfectRing.toPerfectField

Violeta Hernández (Oct 04 2025 at 13:56):

sometimes names in mathematics do make sense

Violeta Hernández (Oct 04 2025 at 14:01):

What exactly is ExpChar though

Aaron Liu (Oct 04 2025 at 14:01):

read the definition

Violeta Hernández (Oct 04 2025 at 14:01):

is it literally just the characteristic but when it should give 0 it gives 1 instead

Aaron Liu (Oct 04 2025 at 14:02):

only prime

Aaron Liu (Oct 04 2025 at 14:02):

primes and one instead of zero

Violeta Hernández (Oct 04 2025 at 14:03):

what's so exponential about that

Aaron Liu (Oct 04 2025 at 14:03):

like a field, which can be prime or zero

Violeta Hernández (Oct 04 2025 at 14:03):

i thought it was going to be the period of the x^n map or something

Aaron Liu (Oct 04 2025 at 14:03):

that doesn't work

Violeta Hernández (Oct 04 2025 at 14:04):

Fp{\mathbb F}_p has exponential characteristic p1p-1

Aaron Liu (Oct 04 2025 at 14:04):

no

Violeta Hernández (Oct 04 2025 at 14:04):

assuming the definition that I thought those words would have

Aaron Liu (Oct 04 2025 at 14:05):

oh

Aaron Liu (Oct 04 2025 at 14:05):

what about docs#PerfectRing

Violeta Hernández (Oct 04 2025 at 14:06):

hm

Violeta Hernández (Oct 04 2025 at 14:06):

every char 0 ring is perfect?

Aaron Liu (Oct 04 2025 at 14:06):

every char 0 field is perfect

Aaron Liu (Oct 04 2025 at 14:07):

so for rings too

Violeta Hernández (Oct 04 2025 at 14:07):

interesting

Violeta Hernández (Oct 04 2025 at 14:08):

i still don't know why it's called the "exponential" characteristic but I guess I can accept it

Violeta Hernández (Oct 04 2025 at 14:08):

or is the exponential in question the Frobenius map

Violeta Hernández (Oct 04 2025 at 14:08):

that would make a lot of sense actually

Aaron Liu (Oct 04 2025 at 14:08):

I don't know

Aaron Liu (Oct 04 2025 at 14:08):

it's not like I came up with this name

Aaron Liu (Oct 04 2025 at 14:09):

but it does give you that frobenius with the exponential characteristic is always a ring hom

Violeta Hernández (Oct 04 2025 at 14:09):

nice

Violeta Hernández (Oct 04 2025 at 14:17):

wait wait wait

Violeta Hernández (Oct 04 2025 at 14:17):

so every subfield of F2\overline{\mathbb F}_2 is a perfect ring?

Aaron Liu (Oct 04 2025 at 14:17):

yes?

Violeta Hernández (Oct 04 2025 at 14:17):

that feels super false somehow

Violeta Hernández (Oct 04 2025 at 14:18):

no no actually

Violeta Hernández (Oct 04 2025 at 14:18):

I get why it is

Aaron Liu (Oct 04 2025 at 14:18):

it feels super true to me

Violeta Hernández (Oct 04 2025 at 14:18):

it's obvious on finite fields

Violeta Hernández (Oct 04 2025 at 14:18):

and you can always pass to finite fields

Aaron Liu (Oct 04 2025 at 14:18):

yeah that

Violeta Hernández (Oct 04 2025 at 14:18):

that's awesome

Violeta Hernández (Oct 04 2025 at 14:20):

I feel like knowing all of this would have been a good starting point haha

Aaron Liu (Oct 04 2025 at 14:21):

I thought you knew this already

Violeta Hernández (Oct 04 2025 at 14:21):

you overestimate my familiarity with Galois theory

Aaron Liu (Oct 04 2025 at 14:21):

I'm also not familiar with field theory but I knew this

Violeta Hernández (Oct 04 2025 at 14:21):

yeah but you're just built different

Violeta Hernández (Oct 04 2025 at 14:48):

Question, is this still true when G1,G2\mathcal G_1,\mathcal G_2 are algebraic, isomorphic, possibly infinite extensions?
image.png

Aaron Liu (Oct 04 2025 at 14:49):

I'll try thinking

Violeta Hernández (Oct 04 2025 at 14:50):

to rephrase, if G\mathcal G is an algebraic extension of a finite field F\mathcal F, is there a unique subfield isomorphic to F\mathcal F?

Aaron Liu (Oct 04 2025 at 14:50):

Yes that's correct probably

Aaron Liu (Oct 04 2025 at 14:51):

It's the fixed field of iterated frobenius

Violeta Hernández (Oct 04 2025 at 14:51):

Ah! Of course

Violeta Hernández (Oct 04 2025 at 14:51):

the set of roots of that polynomial

Violeta Hernández (Oct 04 2025 at 14:56):

btw I'm still making the Overleaf

Violeta Hernández (Oct 04 2025 at 14:56):

I fell asleep yesterday sorry hehe

Django Peeters (Oct 04 2025 at 14:57):

I like that you made progress on the alpha stuff

Violeta Hernández (Oct 04 2025 at 15:09):

Yeah! I think we now know all the results we

Aaron Liu said:

It's the fixed field of iterated frobenius

So in fact something even stronger is true, right? If G\mathcal G is any field, and F\mathcal F is a finite field, then there is at most one subfield of G\mathcal G that is isomorphic to F\mathcal F.

Violeta Hernández (Oct 04 2025 at 15:10):

Because it would have to be the full set of roots of xF=xx^{|\mathcal F|}=x

Violeta Hernández (Oct 04 2025 at 15:36):

Another question

Violeta Hernández (Oct 04 2025 at 15:37):

Suppose F/G\mathcal F/\mathcal G is a degree nn extension. Let GG\mathcal G'\subseteq\mathcal G be a subfield. Does there always exist a degree nn extension F/G\mathcal F'/\mathcal G' with FF\mathcal F'\subseteq\mathcal F?

Violeta Hernández (Oct 04 2025 at 15:39):

My idea is that we can choose a basis {α1,,αn}\{\alpha_1,\ldots,\alpha_n\} for F/G\mathcal F/\mathcal G, and then G(α1,,αn)\mathcal G'(\alpha_1,\ldots,\alpha_n) should be the desired extension.

Violeta Hernández (Oct 04 2025 at 15:40):

(this works, right?)

Django Peeters (Oct 04 2025 at 15:47):

Not sure

Aaron Liu (Oct 04 2025 at 15:53):

Aaron Liu said:

consider F\mathcal{F} the field generated by xx which has 22kpn2^{2^{kp_n}} many elements, where kk is pn1p_n-1-smooth

I have been informed that there are too many 2s in the exponent tower

Aaron Liu (Oct 04 2025 at 15:54):

The proof still works right?

Aaron Liu (Oct 04 2025 at 15:54):

Violeta Hernández said:

Suppose F/G\mathcal F/\mathcal G is a degree nn extension. Let GG\mathcal G'\subseteq\mathcal G be a subfield. Does there always exist a degree nn extension F/G\mathcal F'/\mathcal G' with FF\mathcal F'\subseteq\mathcal F?

Just an arbitrary extension of arbitrary fields?

Violeta Hernández (Oct 04 2025 at 15:57):

Aaron Liu said:

The proof still works right?

yeah probably

Violeta Hernández (Oct 04 2025 at 15:57):

Aaron Liu said:

Violeta Hernández said:

Suppose F/G\mathcal F/\mathcal G is a degree nn extension. Let GG\mathcal G'\subseteq\mathcal G be a subfield. Does there always exist a degree nn extension F/G\mathcal F'/\mathcal G' with FF\mathcal F'\subseteq\mathcal F?

Just an arbitrary extension of arbitrary fields?

that's the idea yes

Aaron Liu (Oct 04 2025 at 16:11):

Yeah this seems false

Violeta Hernández (Oct 04 2025 at 16:12):

does my proof not work?

Aaron Liu (Oct 04 2025 at 16:12):

I don't see your proof

Violeta Hernández (Oct 04 2025 at 16:12):

Violeta Hernández said:

My idea is that we can choose a basis {α1,,αn}\{\alpha_1,\ldots,\alpha_n\} for F/G\mathcal F/\mathcal G, and then G(α1,,αn)\mathcal G'(\alpha_1,\ldots,\alpha_n) should be the desired extension.

this

Aaron Liu (Oct 04 2025 at 16:12):

But A5 has a subgroup of index 30 but no subgroup of order 30

Violeta Hernández (Oct 04 2025 at 16:13):

...how does that relate at all?

Aaron Liu (Oct 04 2025 at 16:13):

I guess it's the other way around

Aaron Liu (Oct 04 2025 at 16:14):

A5 has a subgroup of order 2 but no subgroup of index 2

Aaron Liu (Oct 04 2025 at 16:14):

maybe?

Aaron Liu (Oct 04 2025 at 16:14):

I can't tell anymore

Aaron Liu (Oct 04 2025 at 16:14):

Let me try again

Aaron Liu (Oct 04 2025 at 16:20):

Violeta Hernández said:

Violeta Hernández said:

My idea is that we can choose a basis {α1,,αn}\{\alpha_1,\ldots,\alpha_n\} for F/G\mathcal F/\mathcal G, and then G(α1,,αn)\mathcal G'(\alpha_1,\ldots,\alpha_n) should be the desired extension.

this

Why is that of the required degree

Aaron Liu (Oct 04 2025 at 16:21):

Is degrees of successive extensions multiplicative

Aaron Liu (Oct 04 2025 at 16:25):

ok I think I got it

Aaron Liu (Oct 04 2025 at 16:28):

There exists a galois extension F/G\mathcal{F}/\mathcal{G}' which has galois group A5A_5

Aaron Liu (Oct 04 2025 at 16:29):

Any subgroup of order 2 corresponds to an intermediate field G\mathcal{G} such that F/G\mathcal{F}/\mathcal{G} has degree 2

Aaron Liu (Oct 04 2025 at 16:31):

Then let FF\mathcal{F}'\subseteq\mathcal{F} and let F/G\mathcal{F}'/\mathcal{G}' have degree 2

Aaron Liu (Oct 04 2025 at 16:32):

Then F/F\mathcal{F}/\mathcal{F}' has degree 30

Aaron Liu (Oct 04 2025 at 16:32):

And its corresponding subgroup of A5A_5 has order 30

Aaron Liu (Oct 04 2025 at 16:33):

But there are no order 30 subgroups of A5A_5

Violeta Hernández (Oct 04 2025 at 17:31):

Aaron Liu said:

Is degrees of successive extensions multiplicative

this is like the very first thing i learned about galois theory

Violeta Hernández (Oct 04 2025 at 17:31):

the tower lemma

Violeta Hernández (Oct 04 2025 at 17:33):

Aaron Liu said:

There exists a galois extension F/G\mathcal{F}/\mathcal{G}' which has galois group A5A_5

why? Can every group be a Galois group?

Aaron Liu (Oct 04 2025 at 17:34):

Violeta Hernández said:

Aaron Liu said:

There exists a galois extension F/G\mathcal{F}/\mathcal{G}' which has galois group A5A_5

why? Can every group be a Galois group?

Yes

Aaron Liu (Oct 04 2025 at 17:35):

Every profinite group at least

Aaron Liu (Oct 04 2025 at 17:35):

Not sure if the extension has to be galois though

Aaron Liu (Oct 04 2025 at 17:35):

But in this case I have an explicit construction that gives you a galois extension

Violeta Hernández (Oct 04 2025 at 17:39):

hm actually I see why my proof doesn't work

Violeta Hernández (Oct 04 2025 at 17:39):

The product αiαj\alpha_i \alpha_j could be an F\mathcal F-linear combination of the basis, but not a G\mathcal G-linear combination

Violeta Hernández (Oct 04 2025 at 17:41):

Well, I need your help again

Aaron Liu (Oct 04 2025 at 17:42):

Let KK be your favorite field and let F=K(x1,x2,x3,x4,x5)F=K(x_1,x_2,x_3,x_4,x_5), let LL be the intermediate field generated by the symmetric polynomials, then F/LF/L has galois group S5S_5 and you take the fixed field of the normal subgroup A5A_5 which is then a normal extension

Violeta Hernández (Oct 04 2025 at 17:44):

Well, I believe that my original claim was false

Violeta Hernández (Oct 04 2025 at 17:44):

But then I need help patching up a proof

Violeta Hernández (Oct 04 2025 at 17:45):

When we argued that every cubic polynomial pp over Pω\mathcal P_{\omega} splits over Pω3\mathcal P_{\omega^3}, the idea was that you could take a finite field F\mathcal F containing the coefficients of pp, and that the splitting field of pp over F\mathcal F (i.e. the field adjoining a root) would be isomorphic to some other cubic extension of F\mathcal F, which would be contained in Pω3\mathcal P_{\omega^3}

Aaron Liu (Oct 04 2025 at 17:45):

sounds good

Violeta Hernández (Oct 04 2025 at 17:45):

In this specific case, we can simply choose F(ω)\mathcal F(\omega) as our other cubic extension

Aaron Liu (Oct 04 2025 at 17:46):

yes

Violeta Hernández (Oct 04 2025 at 17:46):

I wanted to see what the generalization of this argument would be

Aaron Liu (Oct 04 2025 at 17:46):

isn't it the same

Violeta Hernández (Oct 04 2025 at 17:46):

If F\mathcal F is algebraic over its finite prime field, and G\mathcal G is a degree nn extension, does that mean every degree nn polynomial over F\mathcal F splits over G\mathcal G?

Violeta Hernández (Oct 04 2025 at 17:46):

That sounds too good to be true

Aaron Liu (Oct 04 2025 at 17:47):

That sounds very false

Aaron Liu (Oct 04 2025 at 17:47):

Actually I don't have a counterexample so maybe it's true

Violeta Hernández (Oct 04 2025 at 17:48):

It's true if F\mathcal F is finite, for basically the same reason

Aaron Liu (Oct 04 2025 at 17:48):

it's true for finite F\mathcal{F}

Aaron Liu (Oct 04 2025 at 17:49):

can we take the subfield generated by the coefficients of the polynomials

Violeta Hernández (Oct 04 2025 at 17:49):

If that subfield has a degree nn extension contained in G\mathcal G, then the argument should work

Aaron Liu (Oct 04 2025 at 17:50):

G\mathcal{G} is a splitting field

Violeta Hernández (Oct 04 2025 at 17:51):

my idea was that these extensions would always exist but you just showed that they don't

Violeta Hernández (Oct 04 2025 at 17:51):

But maybe my original idea can be adapted?

Aaron Liu (Oct 04 2025 at 17:51):

But G\mathcal{G} is a splitting field

Violeta Hernández (Oct 04 2025 at 17:51):

It's a splitting field for F\mathcal F, yes

Aaron Liu (Oct 04 2025 at 17:52):

Take the subfield generated by the coefficients of the polynomial defining G\mathcal{G} and the degree nn polynomial you want to show splits

Aaron Liu (Oct 04 2025 at 17:53):

or does that not work

Violeta Hernández (Oct 04 2025 at 17:53):

I don't know, does it?

Aaron Liu (Oct 04 2025 at 17:54):

It seems like it should work

Violeta Hernández (Oct 04 2025 at 17:54):

hm

Violeta Hernández (Oct 04 2025 at 17:54):

So, G\mathcal G is a splitting field for some irreducible degree pp polynomial in F\mathcal F, right?

Violeta Hernández (Oct 04 2025 at 17:54):

because it's a normal extension

Aaron Liu (Oct 04 2025 at 17:55):

Violeta Hernández said:

my idea was that these extensions would always exist but you just showed that they don't

But the galois group is abelian

Violeta Hernández (Oct 04 2025 at 17:55):

Does that somehow fix the problem?

Aaron Liu (Oct 04 2025 at 17:56):

oh it maybe doesn't

Aaron Liu (Oct 04 2025 at 17:57):

Violeta Hernández said:

So, G\mathcal G is a splitting field for some irreducible degree pp polynomial in F\mathcal F, right?

Where did pp come from

Violeta Hernández (Oct 04 2025 at 17:59):

n

Aaron Liu (Oct 04 2025 at 17:59):

Are pp and nn related?

Aaron Liu (Oct 04 2025 at 18:00):

Is pp prime?

Violeta Hernández (Oct 04 2025 at 18:00):

i meant nn

Aaron Liu (Oct 04 2025 at 18:00):

Oh ok

Violeta Hernández (Oct 04 2025 at 18:00):

actually, is that even true?

Aaron Liu (Oct 04 2025 at 18:00):

Not sure

Violeta Hernández (Oct 04 2025 at 18:00):

A finite normal extension is a splitting field, but is it a splitting field for a single polynomial?

Aaron Liu (Oct 04 2025 at 18:01):

If it's for multiple polynomials

Aaron Liu (Oct 04 2025 at 18:01):

Then just take the product

Violeta Hernández (Oct 04 2025 at 18:01):

ah yes of course

Violeta Hernández (Oct 04 2025 at 18:01):

followup question: must this polynomial be irreducible?

Violeta Hernández (Oct 04 2025 at 18:02):

presumably the answer depends on whether nn is prime or not

Aaron Liu (Oct 04 2025 at 18:03):

anyways my hope is that the splitting field of the polynomial over the subfield is also degree nn

Violeta Hernández (Oct 04 2025 at 18:03):

oh, I see what you're going for

Violeta Hernández (Oct 04 2025 at 18:17):

hmm

Violeta Hernández (Oct 04 2025 at 18:17):

let me ask a different question

Violeta Hernández (Oct 04 2025 at 18:18):

Suppose G\mathcal G is a degree nn extension of F\mathcal F. Does there necessarily exist some element in G\mathcal G whose minimal polynomial over F\mathcal F has degree nn?

Aaron Liu (Oct 04 2025 at 18:18):

no

Aaron Liu (Oct 04 2025 at 18:19):

consider Q(2,3)\mathbb{Q}(\sqrt{2},\sqrt{3})

Aaron Liu (Oct 04 2025 at 18:19):

maybe

Violeta Hernández (Oct 04 2025 at 18:20):

isn't the minimal polynomial of 2+3\sqrt2+\sqrt3 of degree 44?

Aaron Liu (Oct 04 2025 at 18:20):

I just realized that that doesn't work

Aaron Liu (Oct 04 2025 at 18:20):

ahh

Aaron Liu (Oct 04 2025 at 18:20):

so embarrassing

Violeta Hernández (Oct 04 2025 at 18:22):

Well, if my claim were true, then we could complete that other proof

Aaron Liu (Oct 04 2025 at 18:22):

it should be true when nn is prime

Violeta Hernández (Oct 04 2025 at 18:22):

True

Violeta Hernández (Oct 04 2025 at 18:22):

In fact, if nn were prime, wouldn't every element not in F\mathcal F satisfy that property?

Aaron Liu (Oct 04 2025 at 18:23):

yeah

Violeta Hernández (Oct 04 2025 at 18:24):

let xGFx\in\mathcal G\setminus\mathcal F, the value [F(x):F][\mathcal F(x) : \mathcal F] must divide nn but it can't be 11 so it's nn

Violeta Hernández (Oct 04 2025 at 18:24):

Violeta Hernández said:

If F\mathcal F is algebraic over its finite prime field, and G\mathcal G is a degree nn extension, does that mean every degree nn polynomial over F\mathcal F splits over G\mathcal G?

So then this is true when nn is prime

Violeta Hernández (Oct 04 2025 at 18:25):

Take pp a degree nn polynomial, take qq the minimal polynomial of some random element in xGFx \in \mathcal G\setminus\mathcal F, take F0\mathcal F_0 the subfield generated by the coefficients of both. Then F0(x)G\mathcal F_0(x)\subseteq \mathcal G is a degree nn extension of F0\mathcal F_0, and the rest of the argument follows as before

Aaron Liu (Oct 04 2025 at 18:25):

Try maybe (F2(x,y))(x,y)(\mathbb{F}_2(x,y))(\sqrt{x},\sqrt{y}) is that a counterexample

Violeta Hernández (Oct 04 2025 at 18:29):

that seems like it could work

Aaron Liu (Oct 04 2025 at 18:30):

Let F=F2(x,y)\mathcal{F}=\mathbb{F}_2(x,y), then G=F(x,y)\mathcal{G}=\mathcal{F}(\sqrt{x},\sqrt{y}) is a degree four extension but all the elements in G\mathcal{G} are a square root of an element in F\mathcal{F}

Violeta Hernández (Oct 04 2025 at 18:30):

interesting

Violeta Hernández (Oct 04 2025 at 18:31):

I'm wondering if something like this could be used to disprove my original claim

Aaron Liu (Oct 04 2025 at 18:32):

what claim

Kevin Buzzard (Oct 04 2025 at 18:36):

Violeta Hernández said:

Suppose G\mathcal G is a degree nn extension of F\mathcal F. Does there necessarily exist some element in G\mathcal G whose minimal polynomial over F\mathcal F has degree nn?

You're asking if every finite extension is simple. This is not true in general (Aaron posted the standard counterexample) but every finite separable extension is simple (as are some non-separable ones, but not Aaron's one).

Aaron Liu (Oct 04 2025 at 18:37):

it's a standard counterexample?

Kevin Buzzard (Oct 04 2025 at 18:38):

Yes, it's the first (counter)example that everyone lecturing Galois theory gives after proving that every finite separable extension is simple.

Aaron Liu (Oct 04 2025 at 18:38):

wow amazing

Kevin Buzzard (Oct 04 2025 at 18:39):

except usually I use Fp(x,y)\mathbb{F}_p(x,y) and then adjoin x1/px^{1/p} and y1/py^{1/p}.

Kevin Buzzard (Oct 04 2025 at 18:39):

This is the simplest non-simple extension

Aaron Liu (Oct 04 2025 at 18:39):

I specialized to p=2p=2 for concreteness

Kevin Buzzard (Oct 04 2025 at 18:39):

yes, I assumed that a prime exists in my lectures

Aaron Liu (Oct 04 2025 at 18:40):

and it was easier to verify since I can compute stuff

Violeta Hernández (Oct 04 2025 at 19:36):

What is this, some kind of simplest extension theorem? :rofl:

Violeta Hernández (Oct 04 2025 at 19:37):

No but seriously, thanks for that word. That is exactly what I was asking about.

Aaron Liu (Oct 04 2025 at 19:37):

simple extension

Aaron Liu (Oct 04 2025 at 19:37):

not simplest

Violeta Hernández (Oct 04 2025 at 19:41):

Kevin Buzzard said:

Yes, it's the first (counter)example that everyone lecturing Galois theory gives after proving that every finite separable extension is simple.

Ah! But I do have a finite separable extension in my case!

Aaron Liu (Oct 04 2025 at 19:41):

well of course

Aaron Liu (Oct 04 2025 at 19:42):

it's perfect

Violeta Hernández (Oct 04 2025 at 19:42):

I agree, this is perfect

Violeta Hernández (Oct 04 2025 at 19:42):

Violeta Hernández said:

If F\mathcal F is algebraic over its finite prime field, and G\mathcal G is a degree nn extension, does that mean every degree nn polynomial over F\mathcal F splits over G\mathcal G?

Slight correction here, I need the polynomial to be irreducible

Violeta Hernández (Oct 04 2025 at 19:42):

But I think this should all work

Violeta Hernández (Oct 04 2025 at 19:46):

This is a really cool result

Violeta Hernández (Oct 04 2025 at 19:46):

I'm glad that all of these results we've found about nimbers cleanly generalize to the bare language of field theory

Violeta Hernández (Oct 04 2025 at 19:50):

Is "every finite separable extension is simple" in Mathlib?

Aaron Liu (Oct 04 2025 at 19:51):

is it docs#Field.exists_primitive_element

Violeta Hernández (Oct 04 2025 at 19:52):

that is a special case of that theorem

Aaron Liu (Oct 04 2025 at 19:52):

I see a finite separable extension

Violeta Hernández (Oct 04 2025 at 19:53):

nevermind then

Violeta Hernández (Oct 04 2025 at 19:53):

my fault for assuming a theorem statement from a theorem name

Aaron Liu (Oct 04 2025 at 19:53):

what did you think it was

Violeta Hernández (Oct 04 2025 at 19:53):

"every finite field has a primitive root"

Aaron Liu (Oct 04 2025 at 19:55):

oh that's probably docs#instIsCyclicUnitsOfFinite

Aaron Liu (Oct 04 2025 at 19:56):

"an integral domain with a finite amount of units has cyclic units"

Violeta Hernández (Oct 04 2025 at 19:56):

whoa

Violeta Hernández (Oct 04 2025 at 19:56):

that's a pretty cool generalization

Violeta Hernández (Oct 04 2025 at 19:57):

ok I need to keep working on the Overleaf

Violeta Hernández (Oct 04 2025 at 19:58):

I can show you the first page, in case you have any notes/comments/corrections
image.png

Django Peeters (Oct 04 2025 at 20:00):

Lenstra eventually defines kappa_n for all natural n>0.

Django Peeters (Oct 04 2025 at 20:01):

That's why my draft contains 2 versions. We need to prove they're consistent.

Violeta Hernández (Oct 04 2025 at 20:01):

Ah, so it's αp\alpha_p but κn\kappa_n?

Violeta Hernández (Oct 04 2025 at 20:01):

Or how are they defined?

Django Peeters (Oct 04 2025 at 20:01):

I guess you could define alpha_n as kappa_n^n

Django Peeters (Oct 04 2025 at 20:02):

So at least the junk values have some meaning

Violeta Hernández (Oct 04 2025 at 20:02):

Yeah, I was imagining that in our actual formalization, we'd probably write α0=ω\alpha_0=\ast\omega instead of α3=ω\alpha_3=\ast\omega

Violeta Hernández (Oct 04 2025 at 20:02):

So that we don't need to carry around proofs of primality

Violeta Hernández (Oct 04 2025 at 20:04):

Django Peeters said:

I guess you could define alpha_n as kappa_n^n

I think that makes more sense. We can then have "αn\alpha_n is the least nimber without a pn+1p_{n+1}-th root below κn\kappa_n" as a theorem.

Django Peeters (Oct 04 2025 at 20:04):

Did we already define 'algClosure' for nimbers in Lean?

Violeta Hernández (Oct 04 2025 at 20:05):

I think I might have defined that in some branch. But it's not on the main branch yet.

Django Peeters (Oct 04 2025 at 20:05):

I like that

Aaron Liu (Oct 04 2025 at 20:05):

Violeta Hernández said:

I can show you the first page, in case you have any notes/comments/corrections
image.png

I see

We can generalize this theorem to requiring only the assumptions of Theorem 2 for F\mathcal{F}.

What does this mean

Violeta Hernández (Oct 04 2025 at 20:05):

Gentle reminder that CGT#231 has been open for a month

Violeta Hernández (Oct 04 2025 at 20:06):

Aaron Liu said:

We can generalize this theorem to requiring only the assumptions of Theorem 2 for F\mathcal{F}.

What does this mean

It means that instead of F\mathcal F being an algebraic extension of Fq\mathbb F_q, we only (?) need that every algebraic extension of F\mathcal F is abelian

Aaron Liu (Oct 04 2025 at 20:06):

can you write that instead

Violeta Hernández (Oct 04 2025 at 20:06):

sure

Violeta Hernández (Oct 04 2025 at 20:07):

I do wonder, is that hypothesis equivalent to saying "the absolute Galois group of F\mathcal F is abelian"?

Aaron Liu (Oct 04 2025 at 20:07):

if every algebraic extension is abelian then in particular the algebraic closure would be

Violeta Hernández (Oct 04 2025 at 20:08):

yeah, but the separable closure of F\mathcal F isn't necessarily the same as its algebraic closure

Aaron Liu (Oct 04 2025 at 20:08):

hmm what if it's not perfect

Violeta Hernández (Oct 04 2025 at 20:08):

unless F\mathcal F is perfect

Violeta Hernández (Oct 04 2025 at 20:08):

yeah

Violeta Hernández (Oct 04 2025 at 20:09):

I guess you could have F\mathcal F be algebraically closed, in which case the assumption holds vacuously

Violeta Hernández (Oct 04 2025 at 20:31):

Did I write this correctly?
image.png

Aaron Liu (Oct 04 2025 at 20:33):

sounds legit

Django Peeters (Oct 04 2025 at 20:35):

Looks correct

Aaron Liu (Oct 04 2025 at 20:37):

slightly bothered about how isomorphisms use the \to arrow instead of the \cong arrow or the \simeq arrow

Violeta Hernández (Oct 04 2025 at 20:40):

I am bothered about that too

Violeta Hernández (Oct 04 2025 at 20:41):

blame all those 1Xth century mathematicians for being born before category theory was invented

Aaron Liu (Oct 04 2025 at 20:41):

you're the one writing this you can fix it

Violeta Hernández (Oct 04 2025 at 20:41):

you are so correct

Violeta Hernández (Oct 04 2025 at 20:45):

off topic but, learning category theory, I've really gotten the impression that the notation Lean uses makes way more sense for it than just trying to shoehorn set theoretic notations

Violeta Hernández (Oct 04 2025 at 20:46):

I have writing stuff like "f:XYf:X\to Y is an isomorphism"

Aaron Liu (Oct 04 2025 at 20:46):

that's because it's not set theory

Violeta Hernández (Oct 04 2025 at 20:46):

true! for as much as my textbooks insist that morphisms aren't just functions you'd expect that they'd adapt the notation correspondingly

Aaron Liu (Oct 04 2025 at 20:47):

what notation do you have in mind

Violeta Hernández (Oct 04 2025 at 20:49):

Well, another thing that also annoys me is how people also write functors as if they were just a function

Violeta Hernández (Oct 04 2025 at 20:49):

They're two separate functions bundled together!

Aaron Liu (Oct 04 2025 at 20:49):

it's a morphism

Violeta Hernández (Oct 04 2025 at 20:49):

hmm

Violeta Hernández (Oct 04 2025 at 20:49):

you know what, fair enough

Violeta Hernández (Oct 04 2025 at 20:50):

I do feel that writing F(X)F(X) and F(f)F(f) for two separate function applications can get pretty confusing though

Aaron Liu (Oct 04 2025 at 20:50):

maybe but you have the big letters and the small letters

Violeta Hernández (Oct 04 2025 at 20:51):

Sure, but then people start getting compositional and writing things like F(Hom(f,Y))F(\textrm{Hom}(f, Y)) and it becomes harder to tell at a glance if it's a morphism or an object

Aaron Liu (Oct 04 2025 at 20:51):

oh no

Violeta Hernández (Oct 04 2025 at 20:51):

Anyways! We shouldn't be clogging the channel

Aaron Liu (Oct 04 2025 at 20:53):

but the thing with functors is you can map anything, not just objects and morphisms

Aaron Liu (Oct 04 2025 at 20:53):

like you can map commutative squares too for example

Aaron Liu (Oct 04 2025 at 20:53):

so we don't want to invent too many notations

Aaron Liu (Oct 04 2025 at 20:53):

just use the same one for all of them

Violeta Hernández (Oct 04 2025 at 20:53):

fiiiiine

Violeta Hernández (Oct 04 2025 at 20:54):

I guess it's similar to how you write f(X)f(X) for both application and images

Violeta Hernández (Oct 04 2025 at 20:56):

Ok one last hot take

Violeta Hernández (Oct 04 2025 at 20:57):

It's weird that we write f:XYf:X \to Y yet insist on writing Hom(X,Y)\textrm{Hom}(X, Y) for the entire set of morphisms

Violeta Hernández (Oct 04 2025 at 20:57):

Why not just write XYX \to Y?

Aaron Liu (Oct 04 2025 at 20:57):

why not indeed

Violeta Hernández (Oct 04 2025 at 21:13):

Back to nimbers

Violeta Hernández (Oct 04 2025 at 21:13):

I just opened Lenstra's paper

Violeta Hernández (Oct 04 2025 at 21:14):

I hadn't noticed that κn\kappa_n was indeed defined for every prime power nn

Violeta Hernández (Oct 04 2025 at 21:16):

Specifically, for q=pknq=p_k^n, κq=[2ωkpkn1]\kappa_q=[2^{\omega^k p_k^{n-1}}]

Aaron Liu (Oct 04 2025 at 21:16):

what does that mean

Violeta Hernández (Oct 04 2025 at 21:17):

maybe this makes it clearer:
image.png

Aaron Liu (Oct 04 2025 at 21:17):

oh?

Aaron Liu (Oct 04 2025 at 21:17):

oh

Violeta Hernández (Oct 04 2025 at 21:18):

It might be better to, in our Lean code, write this as kappa p n

Django Peeters (Oct 04 2025 at 21:18):

It's a nice definition, what can I say

Violeta Hernández (Oct 04 2025 at 21:18):

Following docs#GaloisField

Violeta Hernández (Oct 04 2025 at 21:19):

Unrelated, but what's going on here: docs#instInhabitedGaloisFieldOfNatNat

Aaron Liu (Oct 04 2025 at 21:19):

404

Violeta Hernández (Oct 04 2025 at 21:20):

oh sorry apparently I was in some random outdated mirror of the docs?

Aaron Liu (Oct 04 2025 at 21:20):

how

Violeta Hernández (Oct 04 2025 at 21:20):

Great question

Violeta Hernández (Oct 04 2025 at 21:21):

the thing I linked to was an Inhabited (GaloisField 2 1) instance setting the default value to 37

Violeta Hernández (Oct 04 2025 at 21:21):

I think I know why it was a 404 lol

Django Peeters (Oct 04 2025 at 21:21):

Would it be a nice challenge to calculate alpha(719) using all this theory, as opposed to numbercrunching?

Aaron Liu (Oct 04 2025 at 21:22):

Violeta Hernández said:

the thing I linked to was an Inhabited (GaloisField 2 1) instance setting the default value to 37

I think I know who wrote that

Violeta Hernández (Oct 04 2025 at 21:22):

Well, none of what we've proven over the past month really gives a way to calculate αn\alpha_n

Aaron Liu (Oct 04 2025 at 21:22):

what's the algorithm we're using

Aaron Liu (Oct 04 2025 at 21:22):

and can we prove it correct

Violeta Hernández (Oct 04 2025 at 21:22):

I gave an existence proof

Violeta Hernández (Oct 04 2025 at 21:22):

I haven't tried to read through the algorithm

Django Peeters (Oct 04 2025 at 21:22):

I meant after proving all the necessary stuff from Lenstra's papers.

Violeta Hernández (Oct 04 2025 at 21:23):

Well, it'd be great if we could somehow find a faster way to calculate these values

Violeta Hernández (Oct 04 2025 at 21:23):

But atm I don't really know enough to judge whether that's possible

Django Peeters (Oct 04 2025 at 21:24):

Yes, totally. Until now, Lenstra's lower bound for these values seems to always be sharp. Maybe we can try proving that in the far future.

Violeta Hernández (Oct 04 2025 at 21:25):

I'd love for our formalization work to at least bring us a bit closer to all these unsolved conjectures

Django Peeters (Oct 04 2025 at 21:26):

Btw, you can find the table here.

Violeta Hernández (Oct 04 2025 at 21:26):

I have that message pinned :slight_smile:

Violeta Hernández (Oct 04 2025 at 21:33):

regarding kappa, I think I have an even better idea:

def kappa (k n : ) : Nimber :=
  (2 ^ (ω ^ k * (Nat.nth Nat.Prime k) ^ n))

Violeta Hernández (Oct 04 2025 at 21:33):

That way, the sequence of fields goes kappa 0 0, kappa 0 1, ..., kappa 1 0, kappa 1 1, ...

Aaron Liu (Oct 04 2025 at 21:33):

yeah I thought of that too

Violeta Hernández (Oct 04 2025 at 21:34):

as for alpha, I guess we can do this?

def alpha (k : ) : Nimber :=
  (kappa k 0) ^ (Nat.nth Nat.Prime k)

Aaron Liu (Oct 04 2025 at 21:35):

sure thing

Aaron Liu (Oct 04 2025 at 21:35):

if you can get all the proofs to work

Violeta Hernández (Oct 04 2025 at 21:35):

this gives us the value alpha 0 = 3 which I don't think means anything, but other than that alpha enumerates precisely the values we want

Violeta Hernández (Oct 04 2025 at 21:35):

2, 4, ω + 1, etc.

Aaron Liu (Oct 04 2025 at 21:36):

Violeta Hernández said:

this gives us the value alpha 0 = 3 which I don't think means anything, but other than that alpha enumerates precisely the values we want

this looks like you're saying kappa 0 0 ^ 0 = 3

Violeta Hernández (Oct 04 2025 at 21:36):

oh oops that's because I wrote it wrong

Aaron Liu (Oct 04 2025 at 21:36):

oh yeah that would do it

Violeta Hernández (Oct 04 2025 at 21:36):

fixed

Aaron Liu (Oct 04 2025 at 21:37):

now we have 2 ^ 2 = 3 yeah that checks out

Django Peeters (Oct 04 2025 at 21:37):

And if, for some reason we need kappa_n^n, we can always introduce other names.

Violeta Hernández (Oct 04 2025 at 21:37):

Oh I doubt we'll need it! I just wrote it down wrong.

Violeta Hernández (Oct 04 2025 at 22:02):

Question

Violeta Hernández (Oct 04 2025 at 22:02):

Does every finite abelian group of composite order have a nontrivial subgroup?

Aaron Liu (Oct 04 2025 at 22:03):

yes???

Violeta Hernández (Oct 04 2025 at 22:03):

is this just Sylow

Aaron Liu (Oct 04 2025 at 22:03):

structure theorem

Aaron Liu (Oct 04 2025 at 22:04):

every finitely generated abelian group is a direct sum of copies of Z\mathbb{Z} and Z/pZ\mathbb{Z}/p\mathbb{Z}

Violeta Hernández (Oct 04 2025 at 22:04):

Ah yeah that works

Aaron Liu (Oct 04 2025 at 22:04):

alternatively, pick any non-identity element and look at the subgroup it generates

Aaron Liu (Oct 04 2025 at 22:04):

if it's the whole group then you have a cyclic group of composite order

Aaron Liu (Oct 04 2025 at 22:04):

if it's not the whole group then you have a nontrivial subgroup

Violeta Hernández (Oct 04 2025 at 22:05):

Though now I'm curious if this is also true for non-abelian groups

Violeta Hernández (Oct 04 2025 at 22:05):

Aaron Liu said:

if it's the whole group then you have a cyclic group of composite order

oh yeah that's easy

Violeta Hernández (Oct 04 2025 at 22:05):

nice

Aaron Liu (Oct 04 2025 at 22:05):

group theory

Violeta Hernández (Oct 04 2025 at 22:46):

Did I write this down properly?
image.png

Aaron Liu (Oct 04 2025 at 22:47):

makes sense

Kevin Buzzard (Oct 04 2025 at 23:10):

I don't know what assumptions you have on your \F but in general if you adjoin one root of a polynomial you don't get a Galois extension (it won't in general be normal). You're OK if F is algebraic over a finite field though.

Aaron Liu (Oct 04 2025 at 23:11):

yeah that's the assumption

Violeta Hernández (Oct 04 2025 at 23:11):

Those are exactly the assumptions on F, hehe

Aaron Liu (Oct 04 2025 at 23:12):

Violeta Hernández said:

I can show you the first page, in case you have any notes/comments/corrections
image.png

see it says at the top "In the following, unless otherwise specified, let F\mathcal{F} be an algebraic extension of a finite prime field Fq\mathbb{F}_q"

Aaron Liu (Oct 04 2025 at 23:13):

not sure why you need the finite field to be prime since it works just as well over any other finite field

Violeta Hernández (Oct 04 2025 at 23:13):

Oh I just said that so I could use that qq is prime

Aaron Liu (Oct 04 2025 at 23:13):

uhh

Violeta Hernández (Oct 04 2025 at 23:14):

I'm not even sure if I do

Violeta Hernández (Oct 04 2025 at 23:14):

I might rewrite that if I don't

Aaron Liu (Oct 04 2025 at 23:14):

if it's algebraic over a finite field then it's also algebraic over the prime field

Violeta Hernández (Oct 04 2025 at 23:14):

yeah

Aaron Liu (Oct 04 2025 at 23:14):

just by transitivity

Violeta Hernández (Oct 04 2025 at 23:14):

I mean, qq is the characteristic of the field

Aaron Liu (Oct 04 2025 at 23:14):

yeah

Violeta Hernández (Oct 04 2025 at 23:15):

I wrote it like that so I wouldn't have to explicitly mention "... and let qq be the characteristic of the field"

Aaron Liu (Oct 04 2025 at 23:15):

sure I guess

Violeta Hernández (Oct 04 2025 at 23:15):

again I'll probably rewrite this anyways

Violeta Hernández (Oct 04 2025 at 23:18):

hmm, is this part true if you don't have qq prime?
image.png

Aaron Liu (Oct 04 2025 at 23:18):

no

Violeta Hernández (Oct 04 2025 at 23:18):

well there you go

Violeta Hernández (Oct 04 2025 at 23:19):

that's why I wrote it like that

Violeta Hernández (Oct 04 2025 at 23:19):

I guess I can make it clearer by saying "Without loss of generality, we make qq prime"

Violeta Hernández (Oct 04 2025 at 23:22):

Violeta Hernández said:

hmm, is this part true if you don't have qq prime?
image.png

Actually, are you sure that this isn't true in general? Like, if you take the direct limit of Z/2nZ\mathbb Z/2^n\mathbb Z and you skip n=1n=1, you still get the same group. Is it not the same here?

Aaron Liu (Oct 04 2025 at 23:22):

oh right of course

Aaron Liu (Oct 04 2025 at 23:22):

oh yeah it's true

Aaron Liu (Oct 04 2025 at 23:23):

why did I think it's not

Kevin Buzzard (Oct 04 2025 at 23:23):

Yeah you always get ZHat for any finite field (although I bet we don't have this in mathlib because we don't have ZHat)

Violeta Hernández (Oct 04 2025 at 23:23):

That's tragic, this is the result that everything else depends on :sob:

Aaron Liu (Oct 04 2025 at 23:23):

a subgroup of Z^\widehat{\mathbb{Z}} with finite index must be Z^\widehat{\mathbb{Z}}

Aaron Liu (Oct 04 2025 at 23:24):

Violeta Hernández said:

That's tragic, this is the result that everything else depends on :sob:

we just need abelian

Aaron Liu (Oct 04 2025 at 23:24):

right

Violeta Hernández (Oct 04 2025 at 23:24):

Yes, but is there any easy way to know that this galois group is abelian without knowing that it's the profinite integers?

Aaron Liu (Oct 04 2025 at 23:24):

I don't think anything specifically ended up depending on having Z^\widehat{\mathbb{Z}} specifically

Aaron Liu (Oct 04 2025 at 23:24):

Violeta Hernández said:

Yes, but is there any easy way to know that this galois group is abelian without knowing that it's the profinite integers?

well all the finite extensions are abelian

Aaron Liu (Oct 04 2025 at 23:24):

and it's a limit

Kevin Buzzard (Oct 04 2025 at 23:24):

Hmm, an open subgroup is iso to ZHat.

Kevin Buzzard (Oct 04 2025 at 23:25):

Violeta Hernández said:

Yes, but is there any easy way to know that this galois group is abelian without knowing that it's the profinite integers?

Yes, just show all finite extensions are abelian

Aaron Liu (Oct 04 2025 at 23:25):

Kevin Buzzard said:

Hmm, an open subgroup is iso to ZHat.

add some topological magic

Kevin Buzzard (Oct 04 2025 at 23:26):

There are non-open finite index subgroups of an infinite product of Z37\Z_{37} s but I don't know immediately if the same is true for ZHat

Violeta Hernández (Oct 04 2025 at 23:26):

Kevin Buzzard said:

Yes, just show all finite extensions are abelian

What's the exact result here? If every finite extension is abelian, then every algebraic extension is abelian?

Aaron Liu (Oct 04 2025 at 23:26):

are there any open subgroups

Aaron Liu (Oct 04 2025 at 23:27):

Violeta Hernández said:

Kevin Buzzard said:

Yes, just show all finite extensions are abelian

What's the exact result here? If every finite extension is abelian, then every algebraic extension is abelian?

I think it's "if every finite subextension is abelian then it's abelian"

Aaron Liu (Oct 04 2025 at 23:27):

and maybe add some conditions

Aaron Liu (Oct 04 2025 at 23:31):

ok how about this

Aaron Liu (Oct 04 2025 at 23:32):

let K/FpK/\mathbb{F}_p be an algebraic extension and let σ,τGal(K/Fp)\sigma, \tau \in \text{Gal}(K/\mathbb{F}_p) such that σττσ\sigma \circ \tau \ne \tau \circ \sigma

Aaron Liu (Oct 04 2025 at 23:33):

then there exists xKx \in K such that σ(τ(x))τ(σ(x))\sigma(\tau(x)) \ne \tau(\sigma(x))

Aaron Liu (Oct 04 2025 at 23:33):

now restrict to the field generated by xx which is a finite field

Aaron Liu (Oct 04 2025 at 23:34):

I guess this also works for K/FK/F where FF is algebraic over a finite field

Aaron Liu (Oct 04 2025 at 23:35):

you can see how this argument might generalize

Aaron Liu (Oct 04 2025 at 23:36):

or I guess maybe you can't I don't know what you're thinking

Violeta Hernández (Oct 04 2025 at 23:41):

Hmm, sorry to change the topic, but I'm trying to figure out how the αp\alpha_p existence argument can be generalized

Aaron Liu (Oct 04 2025 at 23:41):

what's the argument again

Violeta Hernández (Oct 04 2025 at 23:42):

I think it was basically this: if F\mathcal F has a finite subfield whose multiplicative order is a multiple of pp, then it can't have all pp-th roots, and neither can any extension of it

Aaron Liu (Oct 04 2025 at 23:43):

no

Aaron Liu (Oct 04 2025 at 23:43):

the algebraic closure is an extension that does have all pp-th roots

Violeta Hernández (Oct 04 2025 at 23:44):

neither can any extension whose degree isn't divisible by pp

Violeta Hernández (Oct 04 2025 at 23:44):

Was it that, then?

Aaron Liu (Oct 04 2025 at 23:44):

a finite extensions then?

Violeta Hernández (Oct 04 2025 at 23:45):

perhaps

Aaron Liu (Oct 04 2025 at 23:45):

or

Aaron Liu (Oct 04 2025 at 23:45):

idk

Aaron Liu (Oct 04 2025 at 23:45):

maybe it's "an extension whose galois group has no subgroup of order divisible by pp (or maybe it's of index divisible by pp?)"

Aaron Liu (Oct 04 2025 at 23:46):

some of these groups are pretty big though

Aaron Liu (Oct 04 2025 at 23:47):

like no finite subgroups and no finite index subgroups

Aaron Liu (Oct 04 2025 at 23:47):

so maybe not that

Violeta Hernández (Oct 04 2025 at 23:47):

What even is the theorem statement we want to prove? I mean, what we want to show is that Pωωk\mathcal P_{\omega^{\omega^k}} does not have all pk+1p_{k+1}-th roots, but surely there's something more general to be said?

Aaron Liu (Oct 04 2025 at 23:47):

we just need to show it isn't pp-th degree closed

Aaron Liu (Oct 04 2025 at 23:47):

then the root thing follows

Violeta Hernández (Oct 04 2025 at 23:48):

in the sense of, all pp-th degree polynomials have a root?

Aaron Liu (Oct 04 2025 at 23:48):

yeah we want to show that that's not the case

Aaron Liu (Oct 04 2025 at 23:49):

and that would suffice for our particular use case

Violeta Hernández (Oct 04 2025 at 23:49):

That seems reasonable

Aaron Liu (Oct 04 2025 at 23:50):

well I guess the thing is that finite subfields of PωωkP_{\omega^{\omega^k}} have order not divisible by any prime at least pkp_k (or maybe it's pk+1p_{k+1})

Violeta Hernández (Oct 04 2025 at 23:51):

their orders are a power of 2

Aaron Liu (Oct 04 2025 at 23:51):

the log2

Aaron Liu (Oct 04 2025 at 23:51):

take the log2

Violeta Hernández (Oct 04 2025 at 23:51):

yeah that

Violeta Hernández (Oct 04 2025 at 23:51):

Actually, why was that the case?

Aaron Liu (Oct 04 2025 at 23:51):

because the degrees

Violeta Hernández (Oct 04 2025 at 23:52):

Elaborate?

Aaron Liu (Oct 04 2025 at 23:53):

uhm

Violeta Hernández (Oct 04 2025 at 23:53):

No wait I think I remember

Aaron Liu (Oct 04 2025 at 23:53):

no irreducible degree pp polynomial has a root (because we didn't adjoin any yet)

Violeta Hernández (Oct 04 2025 at 23:53):

Wait, really?

Violeta Hernández (Oct 04 2025 at 23:53):

is it that easy?

Aaron Liu (Oct 04 2025 at 23:54):

that's my intuition

Violeta Hernández (Oct 04 2025 at 23:54):

because we do know that there are irreducible polynomials of every degree

Aaron Liu (Oct 04 2025 at 23:54):

are they degree pp or are they every degree

Aaron Liu (Oct 04 2025 at 23:55):

yeah

Aaron Liu (Oct 04 2025 at 23:56):

so we just need to show that adjoining the root of another polynomial doesn't "accidentally" solve any irreducible polynomials of degree pp

Aaron Liu (Oct 04 2025 at 23:56):

probably by restricting to the finite field generated by all the relevant numbers

Violeta Hernández (Oct 04 2025 at 23:57):

Violeta Hernández said:

because we do know that there are irreducible polynomials of every degree

Wait, isn't this actually a consequence of that same theorem from earlier "every finite separable extension is simple"

Aaron Liu (Oct 04 2025 at 23:58):

what the reasoning here

Violeta Hernández (Oct 04 2025 at 23:59):

Irreducible polynomials over a finite field, I should specify

Violeta Hernández (Oct 04 2025 at 23:59):

the reason being, the extension Fqn/Fq\mathbb F_{q^n}/\mathbb F_q is finite and separable, so it has a primitive element α\alpha, whose minimal polynomial is irreducible over Fq\mathbb F_q and has degree nn

Aaron Liu (Oct 05 2025 at 00:00):

or you can just count them with necklace polynomials

Violeta Hernández (Oct 05 2025 at 00:00):

necklace polynomials?

Violeta Hernández (Oct 05 2025 at 00:00):

can you buy those on Amazon

Aaron Liu (Oct 05 2025 at 00:01):

you can probably get them for free in the OEIS

Violeta Hernández (Oct 05 2025 at 00:02):

Aaron Liu said:

so we just need to show that adjoining the root of another polynomial doesn't "accidentally" solve any irreducible polynomials of degree pp

I think the question to ask is. Say pp is irreducible over F\mathcal F, and G\mathcal G is an extension. What conditions on G\mathcal G guarantee that pp is still irreducible over G\mathcal G?

Aaron Liu (Oct 05 2025 at 00:03):

hmmmmmmmm

Aaron Liu (Oct 05 2025 at 00:03):

is this even true

Violeta Hernández (Oct 05 2025 at 00:04):

Not in general, obviously

Violeta Hernández (Oct 05 2025 at 00:04):

G\mathcal G could be the splitting field of pp

Aaron Liu (Oct 05 2025 at 00:04):

well no because all the algebraic extensions are galois

Aaron Liu (Oct 05 2025 at 00:04):

yeah

Violeta Hernández (Oct 05 2025 at 00:04):

But if the extension is of a lower degree than pp then that should work I think?

Aaron Liu (Oct 05 2025 at 00:04):

so if it has one root it has all the roots

Violeta Hernández (Oct 05 2025 at 00:05):

Actually, if the degree of the extension is not divisible by the degree of pp, that should also work

Violeta Hernández (Oct 05 2025 at 00:05):

assuming also that the extension is abelian

Aaron Liu (Oct 05 2025 at 00:05):

but I guess it could still factor without giving a root

Violeta Hernández (Oct 05 2025 at 00:06):

Aaron Liu said:

but I guess it could still factor without giving a root

Is that possible?

Violeta Hernández (Oct 05 2025 at 00:06):

I had not considered that

Aaron Liu (Oct 05 2025 at 00:07):

I feel like if it factors then it has to do so in some symmetric way

Aaron Liu (Oct 05 2025 at 00:07):

and the degree is prime

Aaron Liu (Oct 05 2025 at 00:07):

but why must it be symmetrically

Aaron Liu (Oct 05 2025 at 00:08):

maybe I can use the galois group

Aaron Liu (Oct 05 2025 at 00:09):

do we know the galois group is cyclic or just abelian

Violeta Hernández (Oct 05 2025 at 00:09):

I don't know

Violeta Hernández (Oct 05 2025 at 00:12):

Can you give me an example of an irreducible polynomial over a field that factors but does not split over some extension?

Aaron Liu (Oct 05 2025 at 00:13):

X32X^3-2 over Q\mathbb{Q} factors but does not split over Q(23)\mathbb{Q}(\sqrt[3]{2})

Violeta Hernández (Oct 05 2025 at 00:13):

hey this seems relevant

Violeta Hernández (Oct 05 2025 at 00:13):

https://math.stackexchange.com/questions/86778/why-does-an-irreducible-polynomial-split-into-irreducible-factors-of-equal-degre

Aaron Liu (Oct 05 2025 at 00:13):

it does seem relevant

Violeta Hernández (Oct 05 2025 at 00:13):

Aaron Liu said:

X32X^3-2 over Q\mathbb{Q} factors but does not split over Q(23)\mathbb{Q}(\sqrt[3]{2})

that has no roots over Q\mathbb Q so it can't factor

Aaron Liu (Oct 05 2025 at 00:14):

yes it's irreducible over Q\mathbb{Q}

Aaron Liu (Oct 05 2025 at 00:15):

but over Q(23)\mathbb{Q}(\sqrt[3]{2}) it's (X23)(X2+23X+(23)2)(X-\sqrt[3]{2})\left(X^2+\sqrt[3]{2}X+(\sqrt[3]{2})^2\right)

Aaron Liu (Oct 05 2025 at 00:16):

factors but does not split

Violeta Hernández (Oct 05 2025 at 00:22):

ah

Violeta Hernández (Oct 05 2025 at 00:22):

non galois extensions smh

Aaron Liu (Oct 05 2025 at 00:23):

ok fine

Violeta Hernández (Oct 05 2025 at 00:23):

I'll be back in like 30 mins

Aaron Liu (Oct 05 2025 at 00:23):

do you want me to figure something out in the meantime

Violeta Hernández (Oct 05 2025 at 00:30):

sure

Aaron Liu (Oct 05 2025 at 00:30):

what do I figure out

Violeta Hernández (Oct 05 2025 at 01:40):

nvm I'm really tired

Violeta Hernández (Oct 05 2025 at 01:40):

going to sleep

Violeta Hernández (Oct 05 2025 at 01:40):

will think about this tomorrow

Aaron Liu (Oct 05 2025 at 01:40):

gn

Aaron Liu (Oct 05 2025 at 02:44):

ok I think I got it

Aaron Liu (Oct 05 2025 at 02:45):

let L/KL/K be a galois extension and let pK[X]p \in K[X]

Aaron Liu (Oct 05 2025 at 02:45):

assume pp is irreducible over KK

Aaron Liu (Oct 05 2025 at 02:46):

let G=Gal(L/K)G=\text{Gal}(L/K) be the galois group

Aaron Liu (Oct 05 2025 at 02:47):

then GG acts on LL by the action so then GG acts on L[X]L[X] since taking the polynomial ring is functorial

Aaron Liu (Oct 05 2025 at 02:48):

let p1,p2,,pnp_1, p_2, \dots, p_n be the irreducible factors of pp over L[X]L[X] (counting multiplicities) so that p1p2pn=pp_1p_2 \dots p_n=p

Aaron Liu (Oct 05 2025 at 02:48):

then p1,p2,,pnp_1, p_2, \dots, p_n are all distinct and form an orbit under the action by GG

Aaron Liu (Oct 05 2025 at 02:50):

first that they're an orbit

Aaron Liu (Oct 05 2025 at 02:50):

since if they aren't an orbit then they are multiple orbits and you can partition them based on their orbits

Aaron Liu (Oct 05 2025 at 02:51):

so let p1,,pkp_1,\dots,p_k be one of these orbits, chosen arbitrarily

Aaron Liu (Oct 05 2025 at 02:52):

then the product p1pkp_1 \dots p_k is invariant under the galois action and therefore lies in K[X]K[X]

Aaron Liu (Oct 05 2025 at 02:53):

but then it's a nontrivial factor of pp, which was supposed to be irreducible

Aaron Liu (Oct 05 2025 at 02:53):

and then we know that all the pnp_n are distinct

Aaron Liu (Oct 05 2025 at 02:54):

since given any σG\sigma \in G applying the action σ(p)=p\sigma(p) = p so σ(p1)σ(p2)σ(pn)=p1p2pn\sigma(p_1)\sigma(p_2)\dots\sigma(p_n)=p_1p_2 \dots p_n

Aaron Liu (Oct 05 2025 at 02:55):

so σ\sigma defines a permutation of the pip_i

Aaron Liu (Oct 05 2025 at 02:55):

so all the pip_i in the same orbit have the same multiplicity

Aaron Liu (Oct 05 2025 at 02:55):

and we showed that there's only one orbit so they all have the same multiplicity

Aaron Liu (Oct 05 2025 at 02:56):

and if they all have multiplicity at least two then pp is not squarefree so not irreducible

Aaron Liu (Oct 05 2025 at 02:57):

since all the pip_i are an orbit under the action by galois group in particular they all have the same degree

Aaron Liu (Oct 05 2025 at 02:57):

so applying this to the case where pp has prime degree

Aaron Liu (Oct 05 2025 at 02:57):

the irreducible factors pip_i are all of the same degree dd and there's nn many of them

Aaron Liu (Oct 05 2025 at 02:58):

so the prime degree of pp is equal to dndn

Aaron Liu (Oct 05 2025 at 02:58):

so d=1d=1 and it splits or n=1n=1 and it's irreducible

Violeta Hernández (Oct 05 2025 at 18:17):

I think this is correct?

Violeta Hernández (Oct 05 2025 at 18:18):

So the claim is, if L/KL/K is galois, and p:K[X]p:K[X] is irreducible of prime degree, then pp is either irreducible or splits in LL?

Aaron Liu (Oct 05 2025 at 18:18):

yes that's correct

Aaron Liu (Oct 05 2025 at 18:19):

if pp is irreducible then its irreducible factors over the extension are an orbit under the galois group

Violeta Hernández (Oct 05 2025 at 18:20):

the Galois group of the splitting field is transitive on the roots of pp

Aaron Liu (Oct 05 2025 at 18:20):

I think that's the same thing

Aaron Liu (Oct 05 2025 at 18:20):

remind me what transitive is again

Aaron Liu (Oct 05 2025 at 18:21):

wait which splitting field are we looking at here

Violeta Hernández (Oct 05 2025 at 18:22):

the one of pp

Violeta Hernández (Oct 05 2025 at 18:22):

Aaron Liu said:

remind me what transitive is again

single orbit

Aaron Liu (Oct 05 2025 at 18:23):

then it's not what I proved

Aaron Liu (Oct 05 2025 at 18:23):

not exactly I don't think

Aaron Liu (Oct 05 2025 at 18:23):

wait which galois group are we looking at

Violeta Hernández (Oct 05 2025 at 18:24):

the one of the splitting field I think?

Aaron Liu (Oct 05 2025 at 18:24):

ok

Aaron Liu (Oct 05 2025 at 18:24):

what I have said is:

Aaron Liu (Oct 05 2025 at 18:25):

for an arbitrary galois extension L/KL/K and an arbitrary monic polynomial pK[X]p \in K[X] irreducible in K[X]K[X]

Aaron Liu (Oct 05 2025 at 18:26):

the polynomial pp has an image in L[X]L[X] which may factor

Aaron Liu (Oct 05 2025 at 18:26):

then the monic irreducible factors of pp in L[X]L[X] have no duplicates

Aaron Liu (Oct 05 2025 at 18:27):

and they form an orbit for the action of Gal(L/K)\text{Gal}(L/K) on L[X]L[X]

Aaron Liu (Oct 05 2025 at 18:32):

this specializes to the case where pK[X]p \in K[X] has prime degree in which case over L[X]L[X] it must either remain irreducible or split into linear factors

Violeta Hernández (Oct 05 2025 at 18:35):

oh wait yeah I see what you proved

Aaron Liu (Oct 05 2025 at 18:36):

that's great

Violeta Hernández (Oct 05 2025 at 18:43):

Aaron Liu said:

and if they all have multiplicity at least two then pp is not squarefree so not irreducible

Why can't pp has a square root in LL but not in KK?

Aaron Liu (Oct 05 2025 at 18:43):

you can factor out one copy of each

Aaron Liu (Oct 05 2025 at 18:43):

then the result is invariant under galois

Aaron Liu (Oct 05 2025 at 18:44):

ok I think this proof is actually in three steps

Aaron Liu (Oct 05 2025 at 18:45):

  1. prove that everything in the same orbit has the same multiplicity
  2. prove that there is only one orbit
  3. prove that everything has multiplicity one

Violeta Hernández (Oct 05 2025 at 18:47):

I feel like the argument on Math SE was simpler

Aaron Liu (Oct 05 2025 at 18:47):

sure

Aaron Liu (Oct 05 2025 at 18:47):

you can use that too

Violeta Hernández (Oct 05 2025 at 18:47):

though I do like the extended results you proved

Violeta Hernández (Oct 05 2025 at 18:53):

actually wait

Violeta Hernández (Oct 05 2025 at 18:54):

Math SE used the hypothesis that LL was a subfield of the splitting field of pp

Aaron Liu (Oct 05 2025 at 18:54):

ok

Violeta Hernández (Oct 05 2025 at 18:54):

but that's not needed, right?

Aaron Liu (Oct 05 2025 at 18:55):

I don't think so

Aaron Liu (Oct 05 2025 at 18:55):

unless you have a problem with my proof

Violeta Hernández (Oct 05 2025 at 18:57):

your proof seems fine

Violeta Hernández (Oct 05 2025 at 18:57):

I think I need to review it a bit more carefully

Violeta Hernández (Oct 05 2025 at 22:35):

hi! sorry i was out of commission for a while due to a headache but i'm back

Violeta Hernández (Oct 05 2025 at 23:06):

Isn't it possible to more easily show that the multiplicity of the irreducible factors must be one?

Violeta Hernández (Oct 05 2025 at 23:06):

it feels like if it weren't, it'd violate separability

Violeta Hernández (Oct 05 2025 at 23:12):

Actually here's a question. An algebraic extension L/KL/K is separable when the minimal polynomial of every element in LL is separable. Does that also mean that every irreducible polynomial in K[X]K[X] is separable?

Violeta Hernández (Oct 05 2025 at 23:21):

nvm i'm dumb

Violeta Hernández (Oct 05 2025 at 23:24):

Ok so your result shows that pp must factorize as the product of distinct polynomials over LL, even though the polynomial might not even be separable?

Violeta Hernández (Oct 05 2025 at 23:24):

That's kind of insane

Violeta Hernández (Oct 05 2025 at 23:26):

I think we can cheapen out and just prove the part that all the factors are of the same degree

Violeta Hernández (Oct 05 2025 at 23:26):

That should be enough for what we're doing

Violeta Hernández (Oct 05 2025 at 23:35):

In fact, L/KL/K doesn't even need to be Galois

Violeta Hernández (Oct 05 2025 at 23:35):

Only normal

Violeta Hernández (Oct 05 2025 at 23:39):

Not sure if you need Galois for the part about the factors having multiplicity one

Violeta Hernández (Oct 05 2025 at 23:40):

(deleted)

Violeta Hernández (Oct 06 2025 at 00:03):

Let L/KL/K be a normal extension, let p:K[X]p:K[X] be irreducible over KK. Suppose pp factorizes as iqi\prod_i q_i over LL. Let KL\overline K\supseteq L be an algebraic closure of KK.

Let αK\alpha\in\overline K be a root of fif_i, let βK\beta\in\overline K be a root of fjf_j. By transitivity, there exists σGal(K/K)\sigma\in\textrm{Gal}(\overline K/K) such that σ(α)=β\sigma(\alpha)=\beta. By normality, σL\sigma|_L is an automorphism in LL. Thus, σ(fi)\sigma(f_i) is a polynomial in LL with β\beta as a root, meaning fjσ(fi)f_j|\sigma(f_i), and so deg(fj)deg(fi)\deg(f_j)\le\deg(f_i). Since this is true for any i,ji, j, we conclude all factors have the same degree.

Violeta Hernández (Oct 06 2025 at 00:06):

I believe this same argument shows that Gal(L/K)\textrm{Gal}(L/K) is transitive on the qiq_i, which can be then used as in your argument to show all factors have multiplicity one

Violeta Hernández (Oct 06 2025 at 00:07):

Though I think the last step of showing the multiplicity 1 does need a Galois extension

Violeta Hernández (Oct 06 2025 at 00:08):

Since you use the fact that the fixed field of Gal(L/K)\textrm{Gal}(L/K) is KK which is probably not true in general?

Violeta Hernández (Oct 06 2025 at 00:09):

I've gotten horribly sidetracked, we were talking about nimbers, right?

Violeta Hernández (Oct 06 2025 at 00:19):

Ok so, let f:K[X]f : K[X] be irreducible over KK, with prime degree pp. Let L/KL/K be a finite normal extension, whose degree is not divisible by pp. If ff were to split over LL, we could take a root α\alpha, so the intermediate field K(α)K(\alpha) would have degree pp, which is impossible. Since ff must be the product of irreducible factors of the same degree over LL, we conclude that it must be irreducible over LL.

Violeta Hernández (Oct 06 2025 at 00:30):

So back to nimbers. We can prove that every finite subfield of Pκp\mathcal P_{\kappa_{p}} has size 2n2^n for nn a (p1)(p-1)-smooth number. (How again?) If f:F2[X]f:\mathbb F_2[X] is an irreducible polynomial of degree pp (which we know exists), then ff must be irreducible over any finite subfield of Pκp\mathcal P_{\kappa_{p}}, hence over Pκp\mathcal P_{\kappa_{p}}. And this implies that Pκp\mathcal P_{\kappa_p} did not have all pp-th roots, how again?

Violeta Hernández (Oct 06 2025 at 00:37):

This all feels so overcomplicated

Violeta Hernández (Oct 06 2025 at 00:37):

It should not be this hard to prove that "not every single polynomial of the form xpax^p-a has a root"

Violeta Hernández (Oct 06 2025 at 00:38):

In fact, it feels like you'd need a specific kind of field for this property to even be false

Violeta Hernández (Oct 06 2025 at 00:45):

ok actually

Violeta Hernández (Oct 06 2025 at 00:45):

I have a way simpler proof for the claim we actually want

Violeta Hernández (Oct 06 2025 at 00:45):

and of course it uses primitive roots once again

Aaron Liu (Oct 06 2025 at 00:46):

Hi I woke up

Violeta Hernández (Oct 06 2025 at 00:47):

Claim: let pp be a prime. Let F\mathcal F be a finite field such that pF1p\mid |\mathcal F|-1, and let G\mathcal G be a finite extension whose degree does not divide pp. Then:

a) there exists an element in F\mathcal F without a pp-th root
b) that element does not have a pp-th root in G\mathcal G either.

Aaron Liu (Oct 06 2025 at 00:48):

it doesn't have a root in F\mathcal{F} twice? surely one of those was supposed to be G\mathcal{G}?

Violeta Hernández (Oct 06 2025 at 00:49):

For a, you can just take any primitive root ξ\xi. The pp-th powers of units are all in the subgroup of F\mathcal F^* with index pp, which does not contain ξ\xi.

Aaron Liu (Oct 06 2025 at 00:49):

yes

Violeta Hernández (Oct 06 2025 at 00:50):

In fact, the elements in F\mathcal F without pp-th roots are exactly of the form ξk\xi^k for pkp\nmid k

Aaron Liu (Oct 06 2025 at 00:50):

correct

Violeta Hernández (Oct 06 2025 at 00:51):

For b, write n=G1F1n=\frac{|\mathcal G|-1}{|\mathcal F|-1}. Let ξ\xi be a primitive root of G\mathcal G. Then ξn\xi^n is a primitive root of F\mathcal F.

Aaron Liu (Oct 06 2025 at 00:51):

that sounds not wrong

Violeta Hernández (Oct 06 2025 at 00:52):

By LTE, pnp\nmid n, meaning that ξnk\xi^{nk} is a pp-th root in G\mathcal G exactly when pkp\mid k, which is when it would be a pp-th root in F\mathcal F.

Aaron Liu (Oct 06 2025 at 00:52):

I'll trust you on that

Violeta Hernández (Oct 06 2025 at 00:54):

Now, there's two claims I'm still not sure about

Violeta Hernández (Oct 06 2025 at 00:57):

Considering all the finite subfields of Pκp\mathcal P_{\kappa_p}, why are the log2 of their orders all (p1)(p-1)-smooth? And why can we make them divisible by an arbitrary (p1)(p-1)-smooth integer?

Violeta Hernández (Oct 06 2025 at 00:57):

I get the intuition of "we can just keep taking extensions of lower order" but how do we actually formalize this?

Aaron Liu (Oct 06 2025 at 00:57):

well

Aaron Liu (Oct 06 2025 at 00:57):

hmmmm

Aaron Liu (Oct 06 2025 at 00:58):

ok which one do you want first

Violeta Hernández (Oct 06 2025 at 00:58):

The first one?

Aaron Liu (Oct 06 2025 at 00:58):

the log2 are all smooth

Violeta Hernández (Oct 06 2025 at 00:58):

yeah

Aaron Liu (Oct 06 2025 at 00:58):

ok pick a finite subfield

Aaron Liu (Oct 06 2025 at 00:59):

and look at its intersection with PωP_\omega

Violeta Hernández (Oct 06 2025 at 00:59):

the log2 of the order is 2-smooth, sure

Aaron Liu (Oct 06 2025 at 01:00):

then look at its intersection with PωωP_{\omega^\omega}

Aaron Liu (Oct 06 2025 at 01:00):

this is some extension of the previous field

Violeta Hernández (Oct 06 2025 at 01:01):

hmm actually check this out

Violeta Hernández (Oct 06 2025 at 01:02):

any finite subfield is a subfield of the subfield generated by {2,4,,ω,ω3,,ωω,ωω2,}\{2, 4, \ldots, \omega, \omega^3, \ldots, \omega^{\omega}, \omega^{\omega^2}, \ldots\} stopping at some appropriate point at every ellipsis

Aaron Liu (Oct 06 2025 at 01:02):

sounds about right

Violeta Hernández (Oct 06 2025 at 01:03):

and this subfield can be split up into extensions that are all of degree less than pp

Aaron Liu (Oct 06 2025 at 01:03):

yes

Violeta Hernández (Oct 06 2025 at 01:05):

...this feels a bit crude, admittedly?

Aaron Liu (Oct 06 2025 at 01:05):

it works

Violeta Hernández (Oct 06 2025 at 01:05):

like, how do we know what the appropriate point to stop at each ellipsis is?

Violeta Hernández (Oct 06 2025 at 01:06):

I feel like there might be an easier inductive argument

Violeta Hernández (Oct 06 2025 at 01:06):

both to explain and to formalize

Aaron Liu (Oct 06 2025 at 01:06):

just stop once you've covered the finite subfield

Aaron Liu (Oct 06 2025 at 01:06):

it's finite so you have to cover it eventually

Violeta Hernández (Oct 06 2025 at 01:06):

I think that might not be enough

Violeta Hernández (Oct 06 2025 at 01:06):

Since you also want αpk\alpha_{p_k} to be added before you add ωωk\omega^{\omega^k}, just to make sure that the extension is no bigger than it needs to be

Aaron Liu (Oct 06 2025 at 01:07):

since it's finite there's some maximum ωωk\omega^{\omega^k} it's larger than

Aaron Liu (Oct 06 2025 at 01:08):

so just cover the field + all the alphas up to that point

Aaron Liu (Oct 06 2025 at 01:08):

still finite

Violeta Hernández (Oct 06 2025 at 01:08):

Still, I'm interested in how an inductive argument would look

Violeta Hernández (Oct 06 2025 at 01:10):

Say that a field F\mathcal F of characteristic q0q\ne 0 is kk-smooth when every finite subfield has order qrq^r for rr a kk-smooth number. Let G\mathcal G be a finite extension whose degree is also kk-smooth. Does this imply that the field G\mathcal G is kk-smooth?

Aaron Liu (Oct 06 2025 at 01:10):

probably?

Violeta Hernández (Oct 06 2025 at 01:12):

If the extension is separable, the answer is yes

Violeta Hernández (Oct 06 2025 at 01:16):

By the primitive element theorem, we can write G=F(α)\mathcal G=\mathcal F(\alpha). Let G0G\mathcal G_0\subseteq\mathcal G be finite. We can write G0F0(α)\mathcal G_0\subseteq\mathcal F_0(\alpha) for some finite subfield F0F\mathcal F_0\subseteq \mathcal F. Define F1\mathcal F_1 as the subfield of F\mathcal F generated by F0\mathcal F_0 and the coefficients of the minimal polynomial of α\alpha. Then G0F1(α)\mathcal G_0\subseteq F_1(\alpha). Since [F1(α):F1]=[G:F][\mathcal F_1(\alpha):\mathcal F_1] = [\mathcal G:\mathcal F] is kk-smooth, as is F1\mathcal F_1, we're done.

Aaron Liu (Oct 06 2025 at 01:17):

Violeta Hernández said:

We can write G0F0(α)\mathcal G_0\subseteq\mathcal F_0(\alpha) for some finite subfield F0F\mathcal F_0\subseteq \mathcal F.

why

Violeta Hernández (Oct 06 2025 at 01:17):

The inverse limit of kk-smooth fields is kk-smooth, which gives us our induction

Violeta Hernández (Oct 06 2025 at 01:18):

Aaron Liu said:

Violeta Hernández said:

We can write G0F0(α)\mathcal G_0\subseteq\mathcal F_0(\alpha) for some finite subfield F0F\mathcal F_0\subseteq \mathcal F.

why

Every element in G0\mathcal G_0 can be written as an F\mathcal F-linear combination of powers of α\alpha, so just take those coefficients

Aaron Liu (Oct 06 2025 at 01:18):

so just because you have finitely many elements to generate the field doesn't mean that the resulting field is finite

Violeta Hernández (Oct 06 2025 at 01:18):

You are so right

Violeta Hernández (Oct 06 2025 at 01:19):

I think you once again need that "algebraic over its prime field" hypothesis

Aaron Liu (Oct 06 2025 at 01:19):

ok we can add that

Violeta Hernández (Oct 06 2025 at 01:26):

I think another relevant result is this

Violeta Hernández (Oct 06 2025 at 01:27):

Let G/F\mathcal G/\mathcal F be an algebraic extension. Then [G(α):G][\mathcal G(\alpha):\mathcal G] divides [F(α):F][\mathcal F(\alpha):\mathcal F].

Violeta Hernández (Oct 06 2025 at 01:27):

...I think? Might be missing hypotheses.

Violeta Hernández (Oct 06 2025 at 01:28):

An algebraic normal extension, sorry

Violeta Hernández (Oct 06 2025 at 01:30):

Because, if mFm_{\mathcal F} and mGm_{\mathcal G} are the minimal polynomials of α\alpha over the respective fields, then mGmFm_{\mathcal G}\mid m_{\mathcal F}, and mGm_{\mathcal G} is irreducible

Violeta Hernández (Oct 06 2025 at 01:30):

So by a result we proved earlier, deg(mG)deg(mF)\deg(m_{\mathcal G})\mid\deg(m_{\mathcal F})

Aaron Liu (Oct 06 2025 at 01:31):

oh that's yeah makes sense

Violeta Hernández (Oct 06 2025 at 01:32):

This is relevant since it shows that e.g. if FPω\mathcal F\subseteq\mathcal P_{\omega}, then [F(ω):F][\mathcal F(\omega):\mathcal F] is a multiple of 33

Aaron Liu (Oct 06 2025 at 01:32):

Violeta Hernández said:

So by a result we proved earlier, deg(mG)deg(mF)\deg(m_{\mathcal G})\mid\deg(m_{\mathcal F})

does this work with just a normal extension that's not necessarily separable

Violeta Hernández (Oct 06 2025 at 01:32):

that result didn't require separability

Aaron Liu (Oct 06 2025 at 01:34):

Violeta Hernández said:

Let L/KL/K be a normal extension, let p:K[X]p:K[X] be irreducible over KK. Suppose pp factorizes as iqi\prod_i q_i over LL. Let KL\overline K\supseteq L be an algebraic closure of KK.

Let αK\alpha\in\overline K be a root of fif_i, let βK\beta\in\overline K be a root of fjf_j. By transitivity, there exists σGal(K/K)\sigma\in\textrm{Gal}(\overline K/K) such that σ(α)=β\sigma(\alpha)=\beta. By normality, σL\sigma|_L is an automorphism in LL. Thus, σ(fi)\sigma(f_i) is a polynomial in LL with β\beta as a root, meaning fjσ(fi)f_j|\sigma(f_i), and so deg(fj)deg(fi)\deg(f_j)\le\deg(f_i). Since this is true for any i,ji, j, we conclude all factors have the same degree.

explain the transitivity?

Violeta Hernández (Oct 06 2025 at 01:36):

Violeta Hernández said:

This is relevant since it shows that e.g. if FPω\mathcal F\subseteq\mathcal P_{\omega}, then [F(ω):F][\mathcal F(\omega):\mathcal F] is a multiple of 33

In other words, for any (p1)(p-1)-smooth kk, we can create a subfield F\mathcal F such that klog2Fk\mid\log_2|\mathcal F| by just tacking enough of these quadratic, cubic, etc. extensions (they might have a higher degree than that, but that doesn't matter)

Aaron Liu (Oct 06 2025 at 01:36):

well yeah

Aaron Liu (Oct 06 2025 at 01:37):

just take the prescribed number of quadratic, cubic, quintic etc. extensions in that order

Violeta Hernández (Oct 06 2025 at 01:37):

Aaron Liu said:

explain the transitivity?

If p:K[X]p:K[X] is irreducible but splits over LL, then Gal(L/K)\textrm{Gal}(L/K) acts transitively on the roots of pp

Aaron Liu (Oct 06 2025 at 01:37):

since you're closed under small degree polynomials it should work

Aaron Liu (Oct 06 2025 at 01:37):

and you never run out of irreducible polynomials

Violeta Hernández (Oct 06 2025 at 01:38):

Funny how the existence of αp\alpha_p seems to be the most involved part of this entire argument

Violeta Hernández (Oct 06 2025 at 01:40):

Aaron Liu said:

and you never run out of irreducible polynomials

Ohh you're right actually

Violeta Hernández (Oct 06 2025 at 01:40):

silly me

Aaron Liu (Oct 06 2025 at 01:41):

what happened

Aaron Liu (Oct 06 2025 at 01:41):

did you make a silly

Violeta Hernández (Oct 06 2025 at 01:41):

No I just realized that your argument is simpler than what I was doing

Aaron Liu (Oct 06 2025 at 01:41):

what were you doing

Violeta Hernández (Oct 06 2025 at 01:42):

My idea to create a subfield of order divisible by pini\prod p_i^{n_i} was to first adjoin 2,4,,2n12,4,\ldots, 2^{n_1}, then ω,ω3,,ω3n2\omega,\omega^3,\ldots,\omega^{3^{n_2}}, and so on

Aaron Liu (Oct 06 2025 at 01:42):

oh

Violeta Hernández (Oct 06 2025 at 01:43):

And I guess that works, but your argument feels more elegant

Violeta Hernández (Oct 06 2025 at 01:43):

just adjoin roots of irreducible polynomials, since we know they exist in the subfield

Violeta Hernández (Oct 06 2025 at 01:43):

No need to explicitly specify which

Violeta Hernández (Oct 06 2025 at 01:43):

And in fact your argument shows that there are subfields of any (p1)(p-1)-smooth order

Violeta Hernández (Oct 06 2025 at 01:43):

which is nice

Aaron Liu (Oct 06 2025 at 01:44):

Violeta Hernández said:

And in fact your argument shows that there are subfields of any (p1)(p-1)-smooth order

yes that's what I claimed above

Violeta Hernández (Oct 06 2025 at 01:44):

yeah well I agree with you now haha

Violeta Hernández (Oct 06 2025 at 01:44):

just took me a bit

Violeta Hernández (Oct 06 2025 at 01:46):

Ok so, the claim is that Pκp\mathcal P_{\kappa_p} does not contain all pp-th roots. For this, we first take a subfield of order 22p12^{2^{p-1}}. Any primitive root of it can not have a pp-th root in a finite subextension, thus in any subextension, thus in Pκp\mathcal P_{\kappa_p}.

Violeta Hernández (Oct 06 2025 at 01:46):

Nice!

Violeta Hernández (Oct 06 2025 at 02:08):

Does this seem reasonable?
image.png

Aaron Liu (Oct 06 2025 at 02:11):

seems reasonable

Aaron Liu (Oct 06 2025 at 02:12):

but why does [F1(α):F1]=[G:F][\mathcal{F}_1(\alpha):\mathcal{F}_1]=[\mathcal{G}:\mathcal{F}] again

Violeta Hernández (Oct 06 2025 at 02:13):

because F1\mathcal F_1 contains the minimal polynomial of α\alpha over F\mathcal F

Aaron Liu (Oct 06 2025 at 02:13):

ok

Violeta Hernández (Oct 06 2025 at 02:14):

made a typo at the end I meant G0F1(α)\mathcal G_0\subseteq\mathcal F_1(\alpha)

Aaron Liu (Oct 06 2025 at 02:14):

yeah I noticed

Aaron Liu (Oct 06 2025 at 02:16):

Aaron Liu said:

ok

No actually I don't get it anymore

Violeta Hernández (Oct 06 2025 at 02:17):

  • [G:F]=[F(α):F][\mathcal G:\mathcal F]=[\mathcal F(\alpha):\mathcal F] is the degree of the minimal polynomial of α\alpha over F\mathcal F.
  • [F1(α):F1][\mathcal F_1(\alpha):\mathcal F_1] is the degree of the minimal polynomial of α\alpha over F1\mathcal F_1.

But these are the same, because the minimal polynomial over F\mathcal F is explicitly contained in F1\mathcal F_1.

Aaron Liu (Oct 06 2025 at 02:18):

I think it makes sense now

Violeta Hernández (Oct 06 2025 at 02:31):

What about this?
image.png

Violeta Hernández (Oct 06 2025 at 02:33):

I think this should be our last "field theory prerequisite" theorem

Violeta Hernández (Oct 06 2025 at 02:43):

Actually

Violeta Hernández (Oct 06 2025 at 02:45):

Is this somehow useful in finding an "explicit" description of αp\alpha_p?

Violeta Hernández (Oct 06 2025 at 02:45):

Can we describe it as the smallest primitive root in some specific subfield?

Violeta Hernández (Oct 06 2025 at 02:52):

I guess the problem is that it's easy to find elements without p-th roots but how do we know we have the smallest one?

Violeta Hernández (Oct 06 2025 at 02:52):

I guess the problem is that it's easy to find elements without p-th roots but how do we know we have the smallest one?

Violeta Hernández (Oct 06 2025 at 04:07):

Actually, here's something cool

Violeta Hernández (Oct 06 2025 at 04:09):

αq\alpha_q must be between 2ωk2^{\omega^k} and 2ωk+12^{\omega^{k+1}}, where pkp_k is the largest prime divisor of q1q-1

Violeta Hernández (Oct 06 2025 at 04:10):

oh my god I'm actually correct

Violeta Hernández (Oct 06 2025 at 04:11):

the table of values is in fact consistent with this

Violeta Hernández (Oct 06 2025 at 04:11):

anyways, the reason is simple

Violeta Hernández (Oct 06 2025 at 04:12):

any finite subfield of 2ωk2^{\omega^k} is (pk1)(p_k-1)-smooth and thus contains all pkp_k-th roots

Violeta Hernández (Oct 06 2025 at 04:13):

on the other hand, we can use the trick from before to find some nimber below 2ωk+12^{\omega^{k+1}} without a pp-th root

Violeta Hernández (Oct 06 2025 at 04:13):

I wonder how much of Lenstra's algorithm we can figure out on our own

Violeta Hernández (Oct 06 2025 at 04:32):

We can actually find a better bound

Violeta Hernández (Oct 06 2025 at 04:33):

αq<2ωkpkd\alpha_q<2^{\omega^k p_k^{d}} where pkdp_k^d is the largest power of the largest prime dividing q1q-1

Violeta Hernández (Oct 06 2025 at 04:34):

for exactly the same reasons

Violeta Hernández (Oct 06 2025 at 04:35):

the case q=101q=101 seems to be the first where the leading term doesn't just use d=1d=1

Violeta Hernández (Oct 06 2025 at 05:20):

Ok I can't help but think that this whole argument about smooth groups could be done much easier

Violeta Hernández (Oct 06 2025 at 05:22):

so, the Galois groups of the fields we're constructing always look like iZpini\prod_i \mathbb Z_{p_i^{n_i}}, right? Where we interpret Zp\mathbb Z_{p^\infty} as the pp-adics

Violeta Hernández (Oct 06 2025 at 05:23):

presumably, we can show that the only possible finite indices of subgroups are ipimi\prod_i{p_i}^{m_i} for minim_i\le n_i

Violeta Hernández (Oct 06 2025 at 05:30):

This would give us an even more general result, characterizing the sizes of the finite subfields of any field Px\mathcal P_{x} below ωωω\omega^{\omega^\omega}

Violeta Hernández (Oct 06 2025 at 06:04):

Oh yeah

Violeta Hernández (Oct 06 2025 at 06:05):

Lenstra states, without proof really, that for q=pnq=p^n, Pκq\mathcal P_{\kappa_q} is the set of nimbers whose minimal polynomial over F2\mathbb F_2 has a degree not divisible by qq, all of whose prime factors are less or equal than pp

Violeta Hernández (Oct 06 2025 at 06:06):

because of the primitive element theorem, this claim is equivalent to the one we were making about subfields

Violeta Hernández (Oct 06 2025 at 06:59):

Though actually I think what I was doing with smooth fields can be straightforwardly generalized to prove this other claim

Violeta Hernández (Oct 06 2025 at 16:36):

Violeta Hernández said:

so, the Galois groups of the fields we're constructing always look like iZpini\prod_i \mathbb Z_{p_i^{n_i}}, right? Where we interpret Zp\mathbb Z_{p^\infty} as the pp-adics

How can we show this?

Violeta Hernández (Oct 06 2025 at 16:37):

e.g. suppose we take a cubic extension of Pω\mathcal P_{\omega}, which has Galois group Z2\mathbb Z_{2^\infty}. Why is the Galois group of the extension Z2×Z3\mathbb Z_{2^\infty}\times\mathbb Z_3?

Aaron Liu (Oct 06 2025 at 16:49):

It's the limit of all the galois groups for all the finite subextensions

Kevin Buzzard (Oct 06 2025 at 16:54):

There is only one cubic extension by Galois theory and that's the Galois group by Galois theory. Galois theory translates questions about fields into questions about groups. By Zp\Z_p I mean the pp-adics and by changing notation you're making things more confusing. You are asking "suppose I have a closed subgroup QQ of pZp\prod_p\Z_p which is contained in X:=p>2ZpX:=\prod_{p>2}\Z_p and such that X/QX/Q has size 3. Why is pZp/Q\prod_p\Z_p/Q equal to Z2×Z/3Z\Z_2\times\Z/3\Z?" and the answer is "because the only possibility for QQ is 3Z3×p>3Zp3\Z_3\times\prod_{p>3}\Z_p"

Aaron Liu (Oct 06 2025 at 16:59):

Why do we need to show the absolute galois group of a finite field is Z^\widehat{\mathbb{Z}} what do we need it for

Violeta Hernández (Oct 06 2025 at 17:49):

The notation change was inspired by me coming across this Wiki article: https://en.wikipedia.org/wiki/Supernatural_number

Violeta Hernández (Oct 06 2025 at 17:49):

It feels like the linked paper might be potentially relevant? Apparently it talks about algebraic extensions of finite fields which is exactly what we're dealing with

Django Peeters (Oct 06 2025 at 17:52):

Some authors use Zp\mathbb{Z}_p for Z/pZ\mathbb{Z}/p\mathbb{Z}. The CoFSG uses it too.

Violeta Hernández (Oct 06 2025 at 18:31):

It's very frustrating that I want to use both Zp\mathbb Z_p in the finite field sense and in the pp-adic sense

Kevin Buzzard (Oct 06 2025 at 18:47):

Django Peeters said:

Some authors use Zp\mathbb{Z}_p for Z/pZ\mathbb{Z}/p\mathbb{Z}. The CoFSG uses it too.

I know, but here we are dealing with p-adic integers as well as Z/p and there's no "other" notation for p-adic integers that people who use Z_p for Z/p have, so we're forced into the notation I use here.

Aaron Liu (Oct 06 2025 at 18:48):

Why do we need p-adics

Kevin Buzzard (Oct 06 2025 at 18:48):

Violeta Hernández said:

It's very frustrating that I want to use both Zp\mathbb Z_p in the finite field sense and in the pp-adic sense

Just use Fp\mathbb{F}_p, it's standard for everyone other than for the finite group theory people

Aaron Liu (Oct 06 2025 at 18:49):

Kevin Buzzard said:

Violeta Hernández said:

It's very frustrating that I want to use both Zp\mathbb Z_p in the finite field sense and in the pp-adic sense

Just use Fp\mathbb{F}_p, it's standard for everyone other than for the finite group theory people

What do the finite group theory people do

Kevin Buzzard (Oct 06 2025 at 18:50):

Aaron Liu said:

Why do we need p-adics

Just a convenient way of talking about extensions. You don't need p-adics, you can work with the systems without ever taking the limits, this is what everyone did until 1930, if you want to work with one hand tied behind your back then go ahead, indeed the proof of the fundamental theorem of infinite Galois theory is "prove it for finite extension and then take a limit". The disadvantage is that now you're carrying around the system instead.

Violeta Hernández (Oct 06 2025 at 18:50):

So Fp\mathbb F_p is the finite field and Zp\mathbb Z_p is the pp-adics? That's only marginally less confusing

Kevin Buzzard (Oct 06 2025 at 18:50):

Aaron Liu said:

Kevin Buzzard said:

Violeta Hernández said:

It's very frustrating that I want to use both Zp\mathbb Z_p in the finite field sense and in the pp-adic sense

Just use Fp\mathbb{F}_p, it's standard for everyone other than for the finite group theory people

What do the finite group theory people do

They use Zp\mathbb{Z}_p for Fp\mathbb{F}_p (the finite group theorists in my department do it too, I think they all do it, it confuses the undergraduates).

Aaron Liu (Oct 06 2025 at 18:51):

no can't we just work with the galois group without ever proving that it's the p-adics specifically?

Kevin Buzzard (Oct 06 2025 at 18:51):

Violeta Hernández said:

So Fp\mathbb F_p is the finite field and Zp\mathbb Z_p is the pp-adics? That's only marginally less confusing

Well that's what Wiles uses in his FLT paper so I'll take it on authority that that's a sensible choice of notation.

Kevin Buzzard (Oct 06 2025 at 18:52):

Aaron Liu said:

no can't we just work with the galois group without ever proving that it's the p-adics specifically?

Sure, you can just carry around the fact that for all finite fields there's a unique extension of any positive integer degree -- that's exactly carrying around the system instead of working with the limit.

Aaron Liu (Oct 06 2025 at 18:52):

I thought the galois group was the limit

Aaron Liu (Oct 06 2025 at 18:53):

It's the limit of all the finite subgroups

Kevin Buzzard (Oct 06 2025 at 18:56):

And now you have to find a language for working with this field which you seem to be interested in, which in my language is "the extension corresponding to p>2Zp\prod_{p>2}\Z_p" and in the system language is "the union of F22n\mathbb{F}_{2^{2^n}} and now chase around lots of diagrams to make sure that this makes sense because in this language it is not obvious"

Aaron Liu (Oct 06 2025 at 18:57):

It's actually "the subfield PωP_\omega of the nimbers"

Aaron Liu (Oct 06 2025 at 18:57):

I don't think we need diagrams for that

Aaron Liu (Oct 06 2025 at 18:57):

everything is a subfield of the big field

Kevin Buzzard (Oct 06 2025 at 18:58):

Well above there are all manner of questions about controlling maps from F22a\mathbb{F}_{2^{2^a}} to F22b\mathbb{F}_{2^{2^b}} and how many they are and are they compatible etc, which was what prompted me to try and explain the limit language instead of the system language.

Aaron Liu (Oct 06 2025 at 18:59):

I think we figured that out?

Aaron Liu (Oct 06 2025 at 19:00):

It just seems like a lot of work to me that you have to define the profinite integers and then prove it's the absolute galois group of the finite fields

Aaron Liu (Oct 06 2025 at 19:00):

but maybe it's actually not that much work

Kevin Buzzard (Oct 06 2025 at 19:03):

It might depend on how many decades of experience you have thinking about it all in terms of limits...

Aaron Liu (Oct 06 2025 at 19:04):

I don't know why that would be

Kevin Buzzard (Oct 06 2025 at 19:04):

I didn't have to "define the profinite integers", I have been comfortable with them since before you were born.

Aaron Liu (Oct 06 2025 at 19:04):

but if we have to get it into Lean then we need to tell Lean what the profinite integers are

Kevin Buzzard (Oct 06 2025 at 19:06):

Aah getting into Lean is a different question. The vast majority of the discussion in this thread is not about getting it into Lean, it's about understanding the mathematics. To understand the mathematics the limit picture is by far the best idea because the limit is doing a lot of the bookkeeping for you, it's turning it into topology. When formalizing it's a completely reasonable idea to try and understand the ideas mathematically in the limit case first and then laboriously translate them back down into the system language, but of course what you should do for the good of mathlib is to define ZHat and work with that anyway.

Aaron Liu (Oct 06 2025 at 19:07):

ahhh I thought most of this was going into Lean

Kevin Buzzard (Oct 06 2025 at 19:08):

my impression of the thread above (which I'm only 1/2-paying attention to) is that you are still struggling with the mathematics to a large extent.

Aaron Liu (Oct 06 2025 at 19:08):

if it's about understanding the mathematics then yeah I think the limit picture is good

Aaron Liu (Oct 06 2025 at 19:09):

Aaron Liu said:

It's the limit of all the finite subgroups

wait ZHat doesn't have any finite subgroups

maybe it's the finite index subgroups?

Aaron Liu (Oct 06 2025 at 19:10):

or the finite quotients?

Aaron Liu (Oct 06 2025 at 19:11):

it's the finite somethings

Kevin Buzzard (Oct 06 2025 at 19:19):

Yeah, limits map down to the things they're a limit of, so it's finite quotients in group theory

Django Peeters (Oct 06 2025 at 19:33):

Kevin Buzzard said:

I didn't have to "define the profinite integers", I have been comfortable with them since before you were born.

How did you become so comfortable with profinite groups? Is it similar to going from the rationals to the reals before uni?

Kevin Buzzard (Oct 06 2025 at 22:10):

I'm a 57 year old researcher in representations of infinite Galois groups so I just have decades of practice, is probably the most reasonable answer.

Kevin Buzzard (Oct 06 2025 at 22:26):

I think that doing a lot of exercises about p-adic integers when I was a Masters student helped a great deal.

Aaron Liu (Oct 08 2025 at 02:16):

Kevin Buzzard said:

my impression of the thread above (which I'm only 1/2-paying attention to) is that you are still struggling with the mathematics to a large extent.

Here's something I'm still not sure if it was proved correctly

We have F\mathcal{F} a field algebraic over F2\mathbb{F}_2 and pp an odd prime. All polynomials of degree <p<p with coefficients in F\mathcal{F} split into linear factors over F\mathcal{F}. We have F/F\mathcal{F}'/\mathcal{F} a degree pp extension. Then F\mathcal{F}' is generated as a field extension over F\mathcal{F} by a single element αF\alpha \in \mathcal{F}' for which αpF\alpha^p \in \mathcal{F} (I'm pretty sure the proof of this part is correct). Need to show that α\alpha does not have a pp-th root in F\mathcal{F}'. I think the divisibility arguments above are correct or close to correct but maybe you have a better way (that hopefully doesn't involve LTE which I'm still not sure I understand)

Aaron Liu (Oct 08 2025 at 02:21):

in case that's not enough I think we also have: every polynomial with coefficients in F2\mathbb{F}_2 irreducible over F2\mathbb{F}_2 with prime degree >p>p is also irreducible over F\mathcal{F}

Kevin Buzzard (Oct 08 2025 at 07:36):

Why do you need this?

Kevin Buzzard (Oct 08 2025 at 07:37):

The hypothesis applied to (X^p-1)/(X-1) implies that F has p distinct p'th roots of unity and so the existence of alpha follows immediately from Kummer theory

Kevin Buzzard (Oct 08 2025 at 09:03):

You want to rule out βF\beta\in F' with βpF\beta^p\in F' but not FF and βp2F\beta^{p^2}\in F. Say this happened. Then if LL is the finite subfield of $$F'$ generated by β\beta and the pp'th roots of 1, and if K=LFK=L\cap F (which also contains the pp'th roots of 1) then you have βL\beta\in L and βpL\beta^p\in L but not KK and βp2K\beta^{p^2}\in K, so β\beta is an element of order p2p^2 in the finite cyclic group L×/K×L^\times/K^\times, meaning that the pp-adic valuation of L×|L^\times| is at least two more than the pp-adic valuation of K×|K^\times| so by some messy divisibility calculation we must have p2[L:K]p^2|[L:K]. On the other hand KK(βp)K(β)K\subseteq K(\beta^p)\subseteq K(\beta) and each of these subextensions has degree at most pp so the extension is exactly p2p^2. We now have some commutative square of fields KLFK\subset L\subseteq F' and KFFK\subseteq F\subseteq F' with F=LFF'=LF and K=LFK=L\cap F and [L:K]=p2[L:K]=p^2 but [F:F]=p[F':F]=p and this contradicts Galois theory because F/KF'/K is Galois with procyclic Galois group so you can't have a subgroup of this group of index p2p^2 and a subgroup of order pp which generate. This proof is pretty horrible though. Why do you need this?

Aaron Liu (Oct 08 2025 at 10:05):

Kevin Buzzard said:

Why do you need this?

Having calculated α\alpha the next extension is to take a pp-th root of α\alpha, but not if it already has a pp-th root so we need to show it doesn't

Kevin Buzzard (Oct 08 2025 at 10:41):

I don't like my proof because it relies at the end of the day on this numerical calculation involving sizes of finite fields. I am using that if q>1q>1 is a power of 2 which is 1 mod pp then I can read off the pp-adic valuation of qn1q^n-1 from the pp-adic valuation of nn and the pp-adic valuation of q1q-1 (you just add them). This is slightly fiddly and is the key input into the construction of the pp-adic logarithm a.k.a. the proof that Zp×\Z_p^\times is procyclic for p>2p>2 (or put in a less pretentious way, that (Z/pnZ)×(\Z/p^n\Z)^\times is cyclic for all n>1n>1 when p>2p>2, given that it is cyclic for n=1n=1). I would like to see an argument which avoids descending to the finite field case and relying on this crutch, using instead that yuo know the absolute Galois group of FF is procyclic. But I couldn't immediately find one.

Aaron Liu (Oct 08 2025 at 10:54):

Kevin Buzzard said:

I am using that if q>1q>1 is a power of 2 which is 1 mod pp then I can read off the pp-adic valuation of qn1q^n-1 from the pp-adic valuation of nn and the pp-adic valuation of q1q-1 (you just add them). This is slightly fiddly

I think that's LTE which I was trying to avoid since I'm not used to it

Aaron Liu (Oct 08 2025 at 10:56):

it's in mathlib already so maybe I just got to get used to it

Kevin Buzzard (Oct 08 2025 at 11:20):

I don't know what you mean by LTE. The proof is some weird induction on nn depending on whether it's a multiple of pp or not (I guess it's induction on v(n)v(n), with vv the pp-adic valuation). You use the binomial expansion to show that if p>2p>2 and v(a)=n>0v(a)=n>0 then v((1+a)p1)v((1+a)^p-1) is n+1n+1, and that v((1+a)m1)v((1+a)^m-1) is nn if mm is prime to pp.

Aaron Liu (Oct 08 2025 at 11:21):

https://en.wikipedia.org/wiki/Lifting-the-exponent_lemma

Kevin Buzzard (Oct 08 2025 at 11:22):

You have to be careful at 2 because v2(1+2)=1v_2(1+2)=1 but v2((1+2)21)v_2((1+2)^2-1) is 3, which is what stops (Z/8Z)^* from being cyclic. Yeah, I would rather avoid using that lemma because it forces you to descend to the finite case and then go up again, which seems a bit ridiculous.

Kevin Buzzard (Oct 08 2025 at 11:22):

Aaron Liu said:

https://en.wikipedia.org/wiki/Lifting-the-exponent_lemma

"Its main use is in [mathematical olympiads]" -- funny, I don't remember seeing the p-adic logarithm in mathematical olympiads.

Kevin Buzzard (Oct 08 2025 at 11:23):

I was completely confused by your references to "LTE" which I'd never heard before; I had assumed you were talking sarcastically about the liquid tensor experiment, which is what LTE usually refers to on this forum.

Kevin Buzzard (Oct 08 2025 at 11:24):

This claim on Wikipedia that it was first published in 2006 is complete nonsense.

Aaron Liu (Oct 08 2025 at 11:25):

Kevin Buzzard said:

I was completely confused by your references to "LTE" which I'd never heard before; I had assumed you were talking sarcastically about the liquid tensor experiment, which is what LTE usually refers to on this forum.

Blame @Violeta Hernández she used it first

Violeta Hernández said:

If nn is prime and nF1n \mid |F|-1 then nkn \mid k by LTE

Violeta Hernández (Oct 08 2025 at 13:36):

I learned about LTE on math olympiads, and I presume whoever wrote that article was writing it from that perspective

Joseph Myers (Oct 08 2025 at 23:47):

The basic idea of lifting the exponent dates back at least as far as Gauss (Disquisitiones Arithmeticae, art. 86-87), even though someone removed the reference to Gauss from the Wikipedia article.

Django Peeters (Oct 30 2025 at 12:16):

Django Peeters said:

Do you know how we could get this on the OEIS?

Done!

Violeta Hernández (Oct 30 2025 at 13:17):

What's the link?

Django Peeters (Oct 30 2025 at 15:28):

You can search "Lenstra excess" on the OEIS, it leads to this.

Violeta Hernández (Nov 16 2025 at 02:22):

(Hi everyone! Sorry for the inactivity. I've had a bunch of schoolwork, might only be free again until December)


Last updated: Dec 20 2025 at 21:32 UTC