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

4 declarations, 3 contain sorry, 0 declared as axioms

Sierpiński number

References:

A positive odd integer $k$ is a Sierpiński number if $k \cdot 2^n + 1$ is composite for all natural numbers $n$. In 1960, Sierpiński proved that there are infinitely many such numbers. John Selfridge proved in 1962 that 78557 is a Sierpiński number. It is conjectured to be the smallest.

Sierpiński problem

The Sierpiński problem asks: is 78557 the smallest Sierpiński number?

Prime Sierpiński problem

The prime Sierpiński problem asks: is 271129 the smallest prime Sierpiński number?

Extended Sierpiński problem

The extended Sierpiński problem asks: is 271129 the second-smallest Sierpiński number?

Imports (1)
  1. theorem SierpinskiNumber.selfridge_78557 Selfridge proved in 1962 that 78557 is a Sierpiński number by showing that all numbers of the form line 56 source

    Source documentation

    Selfridge proved in 1962 that 78557 is a Sierpiński number by showing that all numbers of the form $78557 \cdot 2^n + 1$ have a factor in the covering set $\{3, 5, 7, 13, 19, 37, 73\}$.

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

    Statement uses: Nat.IsSierpinskiNumber, OfNat.ofNat, Nat

    Proof uses: And.intro, Not, Dvd.dvd, Nat.Composite, HAdd.hAdd, HMul.hMul, HPow.hPow, of_decide_eq_true, id, Eq, Bool, Decidable.decide, Bool.true, Eq.refl, LT.lt, Nat.Prime, LE.le, Nat.one_le_pow, Mathlib.Meta.NormNum.isNat_lt_true, Mathlib.Meta.NormNum.isNat_ofNat and 106 more

    120 instances, coercions and auxiliary constants left out.

    Tactic trace: 27 steps

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

    theorem selfridge_78557 : Nat.IsSierpinskiNumber 78557 := by
    …

    Mentions: Nat.IsSierpinskiNumber

  2. theorem SierpinskiNumber.selfridge_conjecture The Sierpiński problem (Selfridge's conjecture) sorry line 87 source

    Source documentation

    The Sierpiński problem (Selfridge's conjecture). Is 78557 the smallest Sierpiński number?

    Selfridge conjectured that 78557 is the smallest Sierpiński number. He proved in 1962 that 78557 is indeed a Sierpiński number by showing that all numbers of the form $78557 \cdot 2^n + 1$ have a factor in the covering set $\{3, 5, 7, 13, 19, 37, 73\}$.

    depends on sorry what this means

    Statement uses: Iff, True, IsLeast, Nat, Set.ofPred, Nat.IsSierpinskiNumber, OfNat.ofNat

    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 selfridge_conjecture :
        answer(sorry) ↔ IsLeast {k | k.IsSierpinskiNumber} 78557 := by
    …
  3. theorem SierpinskiNumber.prime_sierpinski_problem The prime Sierpiński problem sorry line 98 source

    Source documentation

    The prime Sierpiński problem. Is 271129 the smallest prime Sierpiński number?

    In 1976, Nathan Mendelsohn determined that the second provable Sierpiński number is the prime $k = 271129$.

    depends on sorry what this means

    Statement uses: Iff, True, IsLeast, Nat, Set.ofPred, And, Nat.IsSierpinskiNumber, Nat.Prime, OfNat.ofNat

    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 prime_sierpinski_problem :
        answer(sorry) ↔ IsLeast {k | k.IsSierpinskiNumber ∧ k.Prime} 271129 := by
    …
  4. theorem SierpinskiNumber.extended_sierpinski_problem The extended Sierpiński problem sorry line 110 source

    Source documentation

    The extended Sierpiński problem. Is 271129 the second-smallest Sierpiński number?

    Even if 78557 is confirmed as the smallest Sierpiński number, there could exist a composite Sierpiński number $k$ with $78557 < k < 271129$. We formalize "second-smallest" as: the least Sierpiński number $k$ such that there exists exactly one Sierpiński number below it.

    depends on sorry what this means

    Statement uses: Iff, True, IsLeast, Nat, Set.ofPred, And, Nat.IsSierpinskiNumber, Exists, LT.lt, OfNat.ofNat

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

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem extended_sierpinski_problem :
        answer(sorry) ↔
          IsLeast {k | k.IsSierpinskiNumber ∧
            ∃ k', k'.IsSierpinskiNumber ∧ k' < k} 271129 := by
    …