Documentation

Interval.Approx.Dyadic

Dyadic rationals approximate any field #

We want to do power series computations over Dyadic, where these approximate as a ring. This works because our spray series functions uses only ring operation and div2 on scalars.

Nice printing for dyadic rationals, using binary scientific notation #

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

Dyadic rational basics #

Equations
theorem Dyadic.intCast_one :
1 = 1
@[simp]
theorem Dyadic.toRat_one :
toRat 1 = 1
@[simp]
theorem Dyadic.toRat_shiftRightInt {x : Dyadic} {s : } :
(x >>> s).toRat = x.toRat / 2 ^ s
@[simp]
theorem Dyadic.shiftRight_natCast {x : Dyadic} {n : } :
x >>> n = x >>> n
@[simp]
theorem Dyadic.toRat_shiftRightNat {x : Dyadic} {n : } :
(x >>> n).toRat = x.toRat / 2 ^ n
@[simp]
theorem Dyadic.intCast_add (a b : ) :
↑(a + b) = a + b
theorem Dyadic.intCast_add_one {s : } :
↑(s + 1) = s + 1
theorem Dyadic.natCast_succ (n : ) :
↑(n + 1) = n + 1
theorem Dyadic.intCast_neg (n : ) :
↑(-n) = -n
theorem Dyadic.neg_add (x y : Dyadic) :
-(x + y) = -x + -y
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem Dyadic.toRat_nonneg (x : Dyadic) :
0 x.toRat 0 x
theorem Bound.dyadic_toRat_nonneg (x : Dyadic) :
0 x0 x.toRat

Alias of the reverse direction of Dyadic.toRat_nonneg.

theorem Bound.ratCast_nonneg {q : } {K : Type u_5} [Field K] [LinearOrder K] [IsStrictOrderedRing K] :
0 q0 q

Alias of the reverse direction of Rat.cast_nonneg.

theorem Dyadic.div2_nonneg (x : Dyadic) (x0 : 0 x) :
0 div2 x

Dyadic rationals approximate any field #

instance Dyadic.instApproxRing {𝕜 : Type} [Field 𝕜] :
Equations
theorem Dyadic.approx {𝕜 : Type} {x : Dyadic} {x' : 𝕜} [Field 𝕜] :
Approx.approx x x' x.toRat = x'
instance instApproxZeroDyadic {𝕜 : Type} [Field 𝕜] :
instance instApproxOneDyadic {𝕜 : Type} [Field 𝕜] :
instance instApproxNegDyadic {𝕜 : Type} [Field 𝕜] :
instance instApproxAddDyadic {𝕜 : Type} [Field 𝕜] [CharZero 𝕜] :
instance instApproxSubDyadic {𝕜 : Type} [Field 𝕜] [CharZero 𝕜] :
instance instApproxMulDyadic {𝕜 : Type} [Field 𝕜] [CharZero 𝕜] :
instance instApproxDiv2Dyadic {𝕜 : Type} [Field 𝕜] [CharZero 𝕜] :