Documentation

Mathlib.SetTheory.Surreal.Dyadic

Dyadic numbers #

Dyadic numbers are obtained by localizing ℤ away from 2. They are the initial object in the category of rings with no 2-torsion.

Dyadic surreal numbers #

We construct dyadic surreal numbers using the canonical map from ℤ[2 ^ {-1}] to surreals. As we currently do not have a ring structure on Surreal we construct this map explicitly. Once we have the ring structure, this map can be constructed directly by sending 2 ^ {-1} to half.

Embeddings #

The above construction gives us an abelian group embedding of ℤ into Surreal. The goal is to extend this to an embedding of dyadic rationals into Surreal and use Cauchy sequences of dyadic rational numbers to construct an ordered field embedding of ℝ into Surreal.

For a natural number n, the pre-game powHalf (n + 1) is recursively defined as {0 | powHalf n}. These are the explicit expressions of powers of 1 / 2. By definition, we have powHalf 0 = 1 and powHalf 1 ≈ 1 / 2 and we prove later on that powHalf (n + 1) + powHalf (n + 1) ≈ powHalf n.

Equations
Instances For
    @[simp]
    theorem SetTheory.PGame.powHalf_moveLeft (n : ) (i : (SetTheory.PGame.powHalf n).LeftMoves) :
    (SetTheory.PGame.powHalf n).moveLeft i = 0
    Equations
    • One or more equations did not get rendered due to their size.

    For all natural numbers n, the pre-games powHalf n are numeric.

    Powers of the surreal number half.

    Equations
    Instances For
      theorem Surreal.zsmul_pow_two_powHalf (m : ) (n k : ) :
      m * 2 ^ n * Surreal.powHalf (n + k) = m * Surreal.powHalf k
      theorem Surreal.dyadic_aux {m₁ m₂ : } {y₁ y₂ : } (h₂ : m₁ * 2 ^ y₁ = m₂ * 2 ^ y₂) :
      m₁ * Surreal.powHalf y₂ = m₂ * Surreal.powHalf y₁

      The additive monoid morphism dyadicMap sends ⟦⟨m, 2^n⟩⟧ to m • half ^ n.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        We define dyadic surreals as the range of the map dyadicMap.

        Equations
        Instances For