FormalConjectures/ErdosProblems/1072.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

Erdős Problem 1072

Reference: erdosproblems.com/1072

Imports (1)
  1. def Erdos1072.f For any prime $p$, let $f(p)$ be the least integer such that $f(p)! + 1 \equiv 0 \mod p$ line 34 source

    Source documentation

    For any prime $p$, let $f(p)$ be the least integer such that $f(p)! + 1 \equiv 0 \mod p$.

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

    Statement uses: Nat

    Proof uses: InfSet.sInf, Set.ofPred, Nat.ModEq, HAdd.hAdd, Nat.factorial, OfNat.ofNat

    4 instances, coercions and auxiliary constants left out.

    noncomputable def f (p : ℕ) : ℕ := sInf {n | (n)! + 1 ≡ 0 [MOD p]}
    …
  2. theorem Erdos1072.erdos_1072.parts.i Is it true that there are infinitely many $p$ for which $f(p) = p − 1$? sorry line 38 source

    Source documentation

    Is it true that there are infinitely many $p$ for which $f(p) = p − 1$?

    depends on sorry what this means

    Statement uses: Iff, True, Set.Infinite, Nat, Set.ofPred, And, Nat.Prime, Eq, Erdos1072.f, HSub.hSub, 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 erdos_1072.parts.i : answer(sorry) ↔ Set.Infinite {p | p.Prime ∧ f p = p - 1} := by
    …

    Mentions: Erdos1072.f

  3. theorem Erdos1072.erdos_1072.parts.ii Is it true that $f(p)/p \to 0$ for $p \to \infty$ in a density 1 subset of the primes? sorry line 43 source

    Source documentation

    Is it true that $f(p)/p \to 0$ for $p \to \infty$ in a density 1 subset of the primes?

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Set, Nat, And, LE.le, Set.ofPred, Nat.Prime, Set.HasDensity, OfNat.ofNat, Real, Filter.Tendsto, HDiv.hDiv, Erdos1072.f, Min.min, Filter, Filter.atTop, Filter.principal, nhds

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

    37 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_1072.parts.ii :
        answer(sorry) ↔ ∃ (P : Set ℕ), P ⊆ {p | p.Prime} ∧ P.HasDensity 1 {p | p.Prime} ∧
          Tendsto (fun p => (f p / p : ℝ)) (atTop ⊓ principal P) (𝓝 0) := by
    …

    Mentions: Erdos1072.f

  4. theorem Erdos1072.erdos_1072.variants.littleo Erdős, Hardy, and Subbarao [HaSu02], believed that the number of $p \le x$ for which $f(p)=p−1$ is $o(x/\log x)$ sorry line 55 source

    Source documentation

    Erdős, Hardy, and Subbarao [HaSu02], believed that the number of $p \le x$ for which $f(p)=p−1$ is $o(x/\log x)$.

    [HaSu02] Hardy, G. E. and Subbarao, M. V., A modified problem of Pillai and some related questions. Amer. Math. Monthly (2002), 554--559.

    depends on sorry what this means

    Statement uses: Asymptotics.IsLittleO, Nat, Real, Filter.atTop, Set.ncard, Inter.inter, Set, Set.ofPred, And, Nat.Prime, Eq, Erdos1072.f, HSub.hSub, OfNat.ofNat, Set.Icc, HDiv.hDiv, Real.log

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

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_1072.variants.littleo :
        (fun x ↦ (({p | p.Prime ∧ f p = p - 1} ∩ Icc 0 x).ncard : ℝ)) =o[atTop]
          (fun x ↦ x / Real.log x) := by
    …

    Mentions: Erdos1072.f