FormalConjectures/Wikipedia/JugglerConjecture.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

3 declarations, 1 contain sorry, 0 declared as axioms

Juggler conjecture

Reference: Wikipedia

Imports (1)
  1. def JugglerConjecture.jugglerStep Consider the following operation on the natural numbers: If the number is even, take the floor of the square root line 35 source

    Source documentation

    Consider the following operation on the natural numbers: If the number is even, take the floor of the square root. If the number is odd, take the floor of n raised to the 3/2 power.

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

    Statement uses: Nat

    Proof uses: ite, Even, Nat.floor, Real, HPow.hPow, HDiv.hDiv, OfNat.ofNat

    20 instances, coercions and auxiliary constants left out.

    noncomputable def jugglerStep (n : ℕ) : ℕ :=
    …
  2. theorem JugglerConjecture.juggler_conjecture Now form a sequence beginning with any positive integer, where each subsequent term is obtained by applying the operation defined above to the previous term sorry line 45 source

    Source documentation

    Now form a sequence beginning with any positive integer, where each subsequent term is obtained by applying the operation defined above to the previous term. The Juggler Conjecture states that for any positive integer $n$, there exists a natural number $m$ such that the $m$-th term of the sequence is $1$.

    depends on sorry what this means

    Statement uses: Nat, GT.gt, OfNat.ofNat, Exists, Eq, Nat.iterate, JugglerConjecture.jugglerStep

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem juggler_conjecture (n : ℕ) (hn : n > 0) : ∃ m, jugglerStep^[m] n = 1 := by
    …

    Mentions: JugglerConjecture.jugglerStep

  3. theorem JugglerConjecture.jugglerStep_36 Example: jugglerStep 36 = ⌊36^(1/2)⌋ = ⌊6⌋ = 6 (since 36 is even) line 50 source

    Source documentation

    Example: jugglerStep 36 = ⌊36^(1/2)⌋ = ⌊6⌋ = 6 (since 36 is even).

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

    Statement uses: Eq, Nat, JugglerConjecture.jugglerStep, OfNat.ofNat

    Proof uses: id, of_eq_true, ite, Even, Nat.floor, Real, HPow.hPow, HDiv.hDiv, Eq.trans, True, congrFun', congrArg, ite_congr, eq_true, Iff.mp, HMod.hMod, Bool.rec, Bool, Not, Bool.true and 27 more

    43 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

    theorem jugglerStep_36 : jugglerStep 36 = 6 := by
    …

    Mentions: JugglerConjecture.jugglerStep