Documentation

Mathlib.NumberTheory.Ostrowski

Ostrowski’s Theorem #

Ostrowski's Theorem for the field β„š: every absolute value on β„š is equivalent to either a p-adic absolute value or to the standard Archimedean (Euclidean) absolute value.

Main results #

TODO #

Extend to arbitrary number fields.

References #

Tags #

absolute value, Ostrowski's theorem

Preliminary lemmas #

theorem Rat.AbsoluteValue.eq_on_nat_iff_eq {f g : AbsoluteValue β„š ℝ} :
(βˆ€ (n : β„•), f ↑n = g ↑n) ↔ f = g

Values of an absolute value on the rationals are determined by the values on the natural numbers.

theorem Rat.AbsoluteValue.exists_nat_rpow_iff_isEquiv {f g : AbsoluteValue β„š ℝ} :
(βˆƒ (c : ℝ), 0 < c ∧ βˆ€ (n : β„•), f ↑n ^ c = g ↑n) ↔ f.IsEquiv g

The equivalence class of an absolute value on the rationals is determined by its values on the natural numbers.

@[deprecated Rat.AbsoluteValue.exists_nat_rpow_iff_isEquiv (since := "2025-09-12")]
theorem Rat.AbsoluteValue.equiv_on_nat_iff_equiv {f g : AbsoluteValue β„š ℝ} :
(βˆƒ (c : ℝ), 0 < c ∧ βˆ€ (n : β„•), f ↑n ^ c = g ↑n) ↔ f.IsEquiv g

Alias of Rat.AbsoluteValue.exists_nat_rpow_iff_isEquiv.


The equivalence class of an absolute value on the rationals is determined by its values on the natural numbers.

The non-archimedean case #

Every bounded absolute value on β„š is equivalent to a p-adic absolute value.

The real-valued AbsoluteValue corresponding to the p-adic norm on β„š.

Equations
    Instances For
      theorem Rat.AbsoluteValue.exists_minimal_nat_zero_lt_and_lt_one {f : AbsoluteValue β„š ℝ} (hf_nontriv : f.IsNontrivial) (bdd : βˆ€ (n : β„•), f ↑n ≀ 1) :
      βˆƒ (p : β„•), (0 < f ↑p ∧ f ↑p < 1) ∧ βˆ€ (m : β„•), 0 < f ↑m ∧ f ↑m < 1 β†’ p ≀ m

      There exists a minimal positive integer with absolute value smaller than 1.

      theorem Rat.AbsoluteValue.is_prime_of_minimal_nat_zero_lt_and_lt_one {f : AbsoluteValue β„š ℝ} {p : β„•} (hp0 : 0 < f ↑p) (hp1 : f ↑p < 1) (hmin : βˆ€ (m : β„•), 0 < f ↑m ∧ f ↑m < 1 β†’ p ≀ m) :

      The minimal positive integer with absolute value smaller than 1 is a prime number.

      theorem Rat.AbsoluteValue.eq_one_of_not_dvd {f : AbsoluteValue β„š ℝ} (bdd : βˆ€ (n : β„•), f ↑n ≀ 1) {p : β„•} (hp0 : 0 < f ↑p) (hp1 : f ↑p < 1) (hmin : βˆ€ (m : β„•), 0 < f ↑m ∧ f ↑m < 1 β†’ p ≀ m) {m : β„•} (hpm : Β¬p ∣ m) :
      f ↑m = 1

      A natural number not divisible by p has absolute value 1.

      theorem Rat.AbsoluteValue.exists_pos_eq_pow_neg {f : AbsoluteValue β„š ℝ} {p : β„•} (hp0 : 0 < f ↑p) (hp1 : f ↑p < 1) (hmin : βˆ€ (m : β„•), 0 < f ↑m ∧ f ↑m < 1 β†’ p ≀ m) :
      βˆƒ (t : ℝ), 0 < t ∧ f ↑p = ↑p ^ (-t)

      The absolute value of p is p ^ (-t) for some positive real number t.

      theorem Rat.AbsoluteValue.equiv_padic_of_bounded {f : AbsoluteValue β„š ℝ} (hf_nontriv : f.IsNontrivial) (bdd : βˆ€ (n : β„•), f ↑n ≀ 1) :
      βˆƒ! p : β„•, βˆƒ (x : Fact (Nat.Prime p)), f.IsEquiv (padic p)

      If f is bounded and not trivial, then it is equivalent to a p-adic absolute value.

      Archimedean case #

      Every unbounded absolute value on β„š is equivalent to the standard absolute value.

      The standard absolute value on β„š. We name it real because it corresponds to the unique real place of β„š.

      Equations
        Instances For
          theorem Rat.AbsoluteValue.apply_le_sum_digits {f : AbsoluteValue β„š ℝ} (n : β„•) {m : β„•} (hm : 1 < m) :
          f ↑n ≀ (List.mapIdx (fun (i x : β„•) => ↑m * f ↑m ^ i) (m.digits n)).sum

          Given any two integers n, m with m > 1, the absolute value of n is bounded by m + m * f m + m * (f m) ^ 2 + ... + m * (f m) ^ d where d is the number of digits of the expansion of n in base m.

          theorem Rat.AbsoluteValue.one_lt_of_not_bounded {f : AbsoluteValue β„š ℝ} (notbdd : Β¬βˆ€ (n : β„•), f ↑n ≀ 1) {nβ‚€ : β„•} (hnβ‚€ : 1 < nβ‚€) :
          1 < f ↑nβ‚€

          If f n > 1 for some n then f n > 1 for all n β‰₯ 2

          theorem Rat.AbsoluteValue.le_pow_log {f : AbsoluteValue β„š ℝ} {m n : β„•} (hm : 1 < m) (hn : 1 < n) (notbdd : Β¬βˆ€ (n : β„•), f ↑n ≀ 1) :
          f ↑n ≀ f ↑m ^ Real.logb ↑m ↑n

          Given two natural numbers n, m greater than 1 we have f n ≀ f m ^ logb m n.

          If f is not bounded and not trivial, then it is equivalent to the standard absolute value on β„š.

          The main result #

          Ostrowski's Theorem: every absolute value (with values in ℝ) on β„š is equivalent to either the standard absolute value or a p-adic absolute value for a prime p.

          The standard absolute value on β„š is not equivalent to any p-adic absolute value.

          @[deprecated Rat.AbsoluteValue.not_real_isEquiv_padic (since := "2025-09-12")]

          Alias of Rat.AbsoluteValue.not_real_isEquiv_padic.


          The standard absolute value on β„š is not equivalent to any p-adic absolute value.