Documentation

CombinatorialGames.Surreal.Omnific.Basic

Omnific integers #

We define the omnific integers, as the subring of surreals such that x = {x - 1 | x + 1}.

Todo #

Prove the characterization of omnific integers, as surreals whose Hahn series x have the following form:

Rounding operation #

noncomputable def Surreal.round (x r : Surreal) :

We define x.round r = {x - r | x + r} whenever 0 < r. For r ≤ 0, we set the junk value x.round r = x.

If r = 1, this operation truncates the fractional part of x, rounding up or down to whichever omnific integer is simplest.

Equations
Instances For
    theorem Surreal.round_of_pos {x r : Surreal} (hr : 0 < r) :
    x.round r = !{{x - r} | {x + r}}
    theorem Surreal.round_of_nonpos {x r : Surreal} (hr : r ≤ 0) :
    x.round r = x
    theorem Surreal.round_mk_of_pos {x r : IGame} (hr : 0 < r) [x.Numeric] [r.Numeric] :
    (mk x).round (mk r) = mk !{{x - r} | {x + r}}
    theorem Surreal.round_of_zero_mem {x r : Surreal} (h : 0 ∈ Set.Ioo (x - r) (x + r)) :
    x.round r = 0
    @[simp]
    theorem Surreal.round_zero (r : Surreal) :
    round 0 r = 0
    @[simp]
    theorem Surreal.round_neg {x r : Surreal} :
    (-x).round r = -x.round r
    theorem Surreal.round_add_of_eq {x y r : Surreal} (hx : x.round r = x) (hy : y.round r = y) :
    (x + y).round r = x + y
    theorem Surreal.round_sub_of_eq {x y r : Surreal} (hx : x.round r = x) (hy : y.round r = y) :
    (x - y).round r = x - y
    theorem Surreal.round_mul_of_eq {x y r : Surreal} (h : 0 < r) (hx : x.round r = x) (hy : y.round r = y) :
    (x * y).round (r * r) = x * y

    Omnific integers #

    An omnific integer is one such that x = {x - 1 | x + 1}. These are an analog of the integers to the surreals.

    Equations
    Instances For
      theorem Surreal.IsOmnific.eq {x : Surreal} (h : x.IsOmnific) :
      x.round 1 = x
      theorem Surreal.IsOmnific.add {x y : Surreal} (hx : x.IsOmnific) (hy : y.IsOmnific) :
      (x + y).IsOmnific
      theorem Surreal.IsOmnific.sub {x y : Surreal} (hx : x.IsOmnific) (hy : y.IsOmnific) :
      (x - y).IsOmnific
      theorem Surreal.IsOmnific.mul {x y : Surreal} (hx : x.IsOmnific) (hy : y.IsOmnific) :
      (x * y).IsOmnific

      The subring of IsOmnific surreal numbers.

      Equations
      Instances For
        @[simp]
        @[simp]