FormalConjecturesForMathlib/NumberTheory/NormalNumber.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

5 declarations, 0 contain sorry, 0 declared as axioms

Normal numbers

A real number $x$ is simply normal in base $b$ if every digit $d \in \{0,1,\dots,b-1\}$ appears with asymptotic frequency $1/b$ in the base-$b$ expansion of $x$. It is normal in base $b$ if, for every $k \ge 1$, every string of $k$ digits appears with asymptotic frequency $1/b^k$.

A number that is normal in every integer base $b \ge 2$ is called absolutely normal.

Despite extensive empirical evidence, it remains unknown whether classical constants such as $\pi$, $e$, or $\sqrt{2}$ are normal in any base.

References:

Main definitions

Imports (2)
Imported by 3 files
  1. def NormalNumber.digitSeq The n-th digit (0-indexed) after the radix point in the base-b expansion of x line 59 source

    Source documentation

    The n-th digit (0-indexed) after the radix point in the base-b expansion of x.

    Concretely, digitSeq b x n = ⌊b^(n+1) * {x}⌋ mod b, where {x} denotes the fractional part of x.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Real

    Proof uses: HMod.hMod, Nat.floor, HMul.hMul, HPow.hPow, HAdd.hAdd, OfNat.ofNat, Int.fract

    19 instances, coercions and auxiliary constants left out.

    noncomputable def digitSeq (b : ℕ) (x : ℝ) (n : ℕ) : ℕ :=
    …
  2. def NormalNumber.IsSimplyNormalInBase A real number x is simply normal in base b if every digit d < b appears with asymptotic frequency 1 / b in the base-b fractional expansion of x line 65 source

    Source documentation

    A real number x is simply normal in base b if every digit d < b appears with asymptotic frequency 1 / b in the base-b fractional expansion of x.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Real

    Proof uses: LT.lt, Filter.Tendsto, HDiv.hDiv, Finset.card, Finset.filter, Eq, NormalNumber.digitSeq, Finset.range, Filter.atTop, nhds, OfNat.ofNat

    13 instances, coercions and auxiliary constants left out.

    noncomputable def IsSimplyNormalInBase (b : ℕ) (x : ℝ) : Prop :=
    …
  3. def NormalNumber.IsNormalInBase Documented declaration: IsNormalInBase line 77 source

    Source documentation

    A real number x is normal in base b if every string w of k digits < b appears with asymptotic frequency 1 / b ^ k in the base-b fractional expansion of x, that is, the proportion of positions i < n at which w occurs tends to 1 / b ^ k.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Real

    Proof uses: Fin, LT.lt, Filter.Tendsto, HDiv.hDiv, Finset.card, Finset.filter, Eq, NormalNumber.digitSeq, HAdd.hAdd, Finset.range, Filter.atTop, nhds, OfNat.ofNat, HPow.hPow

    21 instances, coercions and auxiliary constants left out.

    noncomputable def IsNormalInBase (b : ℕ) (x : ℝ) : Prop :=
    …
  4. theorem NormalNumber.IsNormalInBase.isSimplyNormalInBase A number that is normal in base b is simply normal in base b line 86 source

    Source documentation

    A number that is normal in base b is simply normal in base b.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Real, NormalNumber.IsNormalInBase, NormalNumber.IsSimplyNormalInBase

    Proof uses: LT.lt, Eq.mpr, Filter.Tendsto, HDiv.hDiv, Finset.card, Finset.filter, Eq, NormalNumber.digitSeq, Finset.range, Filter.atTop, nhds, OfNat.ofNat, Inv.inv, id, congrArg, Filter, one_div, Eq.mp, Fin, HAdd.hAdd and 13 more

    31 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

    theorem IsNormalInBase.isSimplyNormalInBase {b : ℕ} {x : ℝ} (h : IsNormalInBase b x) :
        IsSimplyNormalInBase b x := by
    …

    Mentions: NormalNumber.IsNormalInBase, NormalNumber.IsSimplyNormalInBase

  5. def NormalNumber.IsAbsolutelyNormal A real number x is absolutely normal if it is normal in every integer base b ≥ 2 line 93 source

    Source documentation

    A real number x is absolutely normal if it is normal in every integer base b ≥ 2.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Real

    Proof uses: Nat, LE.le, OfNat.ofNat, NormalNumber.IsNormalInBase

    2 instances, coercions and auxiliary constants left out.

    noncomputable def IsAbsolutelyNormal (x : ℝ) : Prop :=
    …