Zulip Chat Archive
Stream: combinatorial-games
Topic: Cooling
Jelmer Firet (Jan 13 2026 at 08:50):
I have been talking with @Violeta Hernández a bit about left and right stops. We came to the conclusion that they already exist as Surreal.Cut.leftGame and Surreal.Cut.rightGame
I have been thinking a bit about how to implement cooling.
Define
leftWall (G : IGame) : (t : Surreal) → Cut
rightWall (G : IGame) : (t : Surreal) → Cut
recursively
We need two helper functions
collideLeft (lw : Surreal → Cut) (rw : Surreal → Cut) : Surreal → Cut
collideRight (lw : Surreal → Cut) (rw : Surreal → Cut) : Surreal → Cut
With the semantics that if T is the smallest t such that lw t ≤ rw t then
collideLeft lw rw t = lw t if t < T
collideLeft lw rw t = lw T if t ≥ T
collideRight lw rw t = rw t if t < T
collideRight lw rw t = rw T if t ≥ T
Then for Surreal x we have
leftWall x.toGame = collideLeft (fun t ↦ x.leftSurreal - t ) (fun t ↦ x.rightSurreal + t)
rightWall x.toGame = collideRight (fun t ↦ x.leftSurreal - t) (fun t ↦ x.rightSurreal + t)
And for the other games !{Gᴸ|Gᴿ} we have
leftWall G = collideLeft (fun t ↦ ⨆ gl ∈ Gᴸ, rightWall gl t - t) (fun t ↦ ⨅ gr ∈ Gᴿ, leftWall gr t + t)
rightWall G = collideRight (fun t ↦ ⨆ gl ∈ Gᴸ, rightWall gl t - t) (fun t ↦ ⨅ gr ∈ Gᴿ, leftWall gr t + t)
We can then define
cool (G : IGame) (t : Surreal) : IGame
where when leftWall G t < rightWall G t we have
cool G t = simplestBtwn (leftWall G t) (rightWall G t)
and otherwise
cool G t = !{(fun Gl ↦ cool Gl t - t) '' Gᴸ | (fun Gr ↦ cool Gr t + t) '' Gᴿ}
This is the just-after definition.
Note:
Addition between a Surreal and a Cut can be defined, but between two Cut's this runs into issues
In particular, should x.leftSurreal + y.rightSurreal contain x+y in its left or right set?
By defining temperature as a Surreal I sidestep this issue.
Violeta Hernández (Jan 14 2026 at 08:33):
This seems to mostly make sense, though how would you know that such a smallest t does exist?
Violeta Hernández (Jan 14 2026 at 08:34):
I'm unclear on whether you need a short hypothesis for that. I don't know very much about this specific game-theoretic construction.
Jelmer Firet (Jan 14 2026 at 08:51):
Siegel uses the intermediate value theorem for that.
The left and right wall are (piecewise linear) continuous functions.
They have an infinite mast on top, so there exists a T such that for all t >= T leftWall G t = leftWall G T
If we then take leftWall G t - t this heads off to -infinity, and similarly rightWall G t + t heads off to infinity.
By intermediate value theorem they must intersect somewhere.
Violeta Hernández (Jan 14 2026 at 08:52):
IVT for piecewise linear functions should work over any ordered field.
Violeta Hernández (Jan 14 2026 at 08:55):
This all looks good to me. Would you like to start work on a PR?
Jelmer Firet (Jan 14 2026 at 08:55):
Sure, but not before the weekend
Jelmer Firet (Jan 14 2026 at 08:56):
Have an exam on friday
Violeta Hernández (Jan 14 2026 at 08:56):
Good luck with that
Violeta Hernández (Jan 14 2026 at 08:57):
I've got a mostly unrelated question but one which would still affect your work. Should we rename CGT#Surreal.Cut.simplestBtwn to Surreal.ofCuts? With analogy to CGT#OfSets.
Jelmer Firet (Jan 14 2026 at 08:58):
Question back:
is simplestBtwn x y = !{x.left | y.right}?
Violeta Hernández (Jan 14 2026 at 08:59):
Morally yes, technically no.
Jelmer Firet (Jan 14 2026 at 09:00):
probably because we don't want proper classes in there, and x.left and y.right would be a proper class?
Jelmer Firet (Jan 14 2026 at 09:01):
I am fine with renaming it ofCuts, but do mention the "simplest between" understanding in the doccomment
Violeta Hernández (Jan 14 2026 at 09:02):
OfSets only allows you to build a surreal out of two small sets of surreals. But we can prove after the fact that actually, every order connected non-empty set of surreals has a unique surreal with least birthday (see CGT#298), and that's what simplestBtwn represents.
Violeta Hernández (Jan 14 2026 at 19:49):
Thinking about this further, I'm less convinced that this works. Suppose that your left and right walls are -∞ and ∞, where ∞ is the supremum of the natural numbers (as either left or right cuts). Then there is no single least surreal with ∞ - t ≤ -∞ + t, since any t < ∞ won't work, but any t > ∞ will.
Violeta Hernández (Jan 14 2026 at 19:50):
You likely need the condition that your cuts are numeric, which you can only reliably guarantee when the game is short.
Jelmer Firet (Jan 14 2026 at 19:56):
It is probably good to focus on short games first, since the theory seems well-developed for that. And after that see if it extends to long games
Violeta Hernández (Jan 14 2026 at 20:11):
Yes, that'd make sense.
Last updated: Feb 28 2026 at 14:05 UTC