Documentation

Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith

Liouville numbers with a given exponent #

We say that a real number x is a Liouville number with exponent p : ℝ if there exists a real number C such that for infinitely many denominators n there exists a numerator m such that x ≠ m / n and |x - m / n| < C / n ^ p. A number is a Liouville number in the sense of Liouville if it is LiouvilleWith any real exponent, see forall_liouvilleWith_iff.

In this file we define the predicate LiouvilleWith and prove some basic facts about this predicate.

Tags #

Liouville number, irrational, irrationality exponent

def LiouvilleWith (p x : ) :

We say that a real number x is a Liouville number with exponent p : ℝ if there exists a real number C such that for infinitely many denominators n there exists a numerator m such that x ≠ m / n and |x - m / n| < C / n ^ p.

A number is a Liouville number in the sense of Liouville if it is LiouvilleWith any real exponent.

Equations
    Instances For

      For p = 1 (hence, for any p ≤ 1), the condition LiouvilleWith p x is trivial.

      theorem LiouvilleWith.exists_pos {p x : } (h : LiouvilleWith p x) :
      ∃ (C : ) (_ : 0 < C), ∃ᶠ (n : ) in Filter.atTop, 1 n ∃ (m : ), x m / n |x - m / n| < C / n ^ p

      The constant C provided by the definition of LiouvilleWith can be made positive. We also add 1 ≤ n to the list of assumptions about the denominator. While it is equivalent to the original statement, the case n = 0 breaks many arguments.

      theorem LiouvilleWith.mono {p q x : } (h : LiouvilleWith p x) (hle : q p) :

      If a number is Liouville with exponent p, then it is Liouville with any smaller exponent.

      theorem LiouvilleWith.frequently_lt_rpow_neg {p q x : } (h : LiouvilleWith p x) (hlt : q < p) :
      ∃ᶠ (n : ) in Filter.atTop, ∃ (m : ), x m / n |x - m / n| < n ^ (-q)

      If x satisfies Liouville condition with exponent p and q < p, then x satisfies Liouville condition with exponent q and constant 1.

      theorem LiouvilleWith.mul_rat {p x : } {r : } (h : LiouvilleWith p x) (hr : r 0) :
      LiouvilleWith p (x * r)

      The product of a Liouville number and a nonzero rational number is again a Liouville number.

      theorem LiouvilleWith.mul_rat_iff {p x : } {r : } (hr : r 0) :

      The product x * r, r : ℚ, r ≠ 0, is a Liouville number with exponent p if and only if x satisfies the same condition.

      theorem LiouvilleWith.rat_mul_iff {p x : } {r : } (hr : r 0) :

      The product r * x, r : ℚ, r ≠ 0, is a Liouville number with exponent p if and only if x satisfies the same condition.

      theorem LiouvilleWith.rat_mul {p x : } {r : } (h : LiouvilleWith p x) (hr : r 0) :
      LiouvilleWith p (r * x)
      theorem LiouvilleWith.mul_int_iff {p x : } {m : } (hm : m 0) :
      theorem LiouvilleWith.mul_int {p x : } {m : } (h : LiouvilleWith p x) (hm : m 0) :
      LiouvilleWith p (x * m)
      theorem LiouvilleWith.int_mul_iff {p x : } {m : } (hm : m 0) :
      theorem LiouvilleWith.int_mul {p x : } {m : } (h : LiouvilleWith p x) (hm : m 0) :
      LiouvilleWith p (m * x)
      theorem LiouvilleWith.mul_nat_iff {p x : } {n : } (hn : n 0) :
      theorem LiouvilleWith.mul_nat {p x : } {n : } (h : LiouvilleWith p x) (hn : n 0) :
      LiouvilleWith p (x * n)
      theorem LiouvilleWith.nat_mul_iff {p x : } {n : } (hn : n 0) :
      theorem LiouvilleWith.nat_mul {p x : } {n : } (h : LiouvilleWith p x) (hn : n 0) :
      LiouvilleWith p (n * x)
      theorem LiouvilleWith.add_rat {p x : } (h : LiouvilleWith p x) (r : ) :
      LiouvilleWith p (x + r)
      @[simp]
      theorem LiouvilleWith.add_rat_iff {p x : } {r : } :
      @[simp]
      theorem LiouvilleWith.rat_add_iff {p x : } {r : } :
      theorem LiouvilleWith.rat_add {p x : } (h : LiouvilleWith p x) (r : ) :
      LiouvilleWith p (r + x)
      @[simp]
      theorem LiouvilleWith.add_int_iff {p x : } {m : } :
      @[simp]
      theorem LiouvilleWith.int_add_iff {p x : } {m : } :
      @[simp]
      theorem LiouvilleWith.add_nat_iff {p x : } {n : } :
      @[simp]
      theorem LiouvilleWith.nat_add_iff {p x : } {n : } :
      theorem LiouvilleWith.add_int {p x : } (h : LiouvilleWith p x) (m : ) :
      LiouvilleWith p (x + m)
      theorem LiouvilleWith.int_add {p x : } (h : LiouvilleWith p x) (m : ) :
      LiouvilleWith p (m + x)
      theorem LiouvilleWith.add_nat {p x : } (h : LiouvilleWith p x) (n : ) :
      LiouvilleWith p (x + n)
      theorem LiouvilleWith.nat_add {p x : } (h : LiouvilleWith p x) (n : ) :
      LiouvilleWith p (n + x)
      theorem LiouvilleWith.neg {p x : } (h : LiouvilleWith p x) :
      @[simp]
      theorem LiouvilleWith.sub_rat_iff {p x : } {r : } :
      theorem LiouvilleWith.sub_rat {p x : } (h : LiouvilleWith p x) (r : ) :
      LiouvilleWith p (x - r)
      @[simp]
      theorem LiouvilleWith.sub_int_iff {p x : } {m : } :
      theorem LiouvilleWith.sub_int {p x : } (h : LiouvilleWith p x) (m : ) :
      LiouvilleWith p (x - m)
      @[simp]
      theorem LiouvilleWith.sub_nat_iff {p x : } {n : } :
      theorem LiouvilleWith.sub_nat {p x : } (h : LiouvilleWith p x) (n : ) :
      LiouvilleWith p (x - n)
      @[simp]
      theorem LiouvilleWith.rat_sub_iff {p x : } {r : } :
      theorem LiouvilleWith.rat_sub {p x : } (h : LiouvilleWith p x) (r : ) :
      LiouvilleWith p (r - x)
      @[simp]
      theorem LiouvilleWith.int_sub_iff {p x : } {m : } :
      theorem LiouvilleWith.int_sub {p x : } (h : LiouvilleWith p x) (m : ) :
      LiouvilleWith p (m - x)
      @[simp]
      theorem LiouvilleWith.nat_sub_iff {p x : } {n : } :
      theorem LiouvilleWith.nat_sub {p x : } (h : LiouvilleWith p x) (n : ) :
      LiouvilleWith p (n - x)
      theorem LiouvilleWith.ne_cast_int {p x : } (h : LiouvilleWith p x) (hp : 1 < p) (m : ) :
      x m
      theorem LiouvilleWith.irrational {p x : } (h : LiouvilleWith p x) (hp : 1 < p) :

      A number satisfying the Liouville condition with exponent p > 1 is an irrational number.

      theorem Liouville.frequently_exists_num {x : } (hx : Liouville x) (n : ) :
      ∃ᶠ (b : ) in Filter.atTop, ∃ (a : ), x a / b |x - a / b| < 1 / b ^ n

      If x is a Liouville number, then for any n, for infinitely many denominators b there exists a numerator a such that x ≠ a / b and |x - a / b| < 1 / b ^ n.

      theorem Liouville.liouvilleWith {x : } (hx : Liouville x) (p : ) :

      A Liouville number is a Liouville number with any real exponent.

      theorem forall_liouvilleWith_iff {x : } :
      (∀ (p : ), LiouvilleWith p x) Liouville x

      A number satisfies the Liouville condition with any exponent if and only if it is a Liouville number.