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

9 declarations, 8 contain sorry, 0 declared as axioms

Erdős Problem 283

References:

Imports (1)
  1. def Erdos283.Condition Given a polynomial p with rational coefficients, the predicate that if p takes integer values at all integers, the leading coefficient is positive and there exists no line 44 source

    Source documentation

    Given a polynomial p with rational coefficients, the predicate that if p takes integer values at all integers, the leading coefficient is positive and there exists no $d≥2$ with $d ∣ p(n)$ for all $n≥1$, then for all sufficiently large $m$, there exist integers $1≤n_1<\dots < n_k$ such that $$1=\frac{1}{n_1}+\cdots+\frac{1}{n_k}$$ and $$m=p(n_1)+\cdots+p(n_k)$$?

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

    Statement uses: Polynomial, Rat

    Proof uses: Int, Exists, Eq, Polynomial.eval, GT.gt, Polynomial.leadingCoeff, OfNat.ofNat, Not, And, GE.ge, HMul.hMul, Filter.Eventually, Nat, Fin, HAdd.hAdd, StrictMono, Finset.sum, Finset.Icc, Fin.last, HDiv.hDiv and 1 more

    27 instances, coercions and auxiliary constants left out.

    def Condition (p : ℚ[X]) : Prop :=
    …
  2. theorem Erdos283.erdos_283 Documented declaration: erdos_283 sorry line 66 source

    Source documentation

    Let $p\colon \mathbb{Z} \rightarrow \mathbb{Z}$ be a polynomial (with rational coefficients, taking integer values at all integers) whose leading coefficient is positive and such that there exists no $d≥2$ with $d ∣ p(n)$ for all $n≥1$. Is it true that, for all sufficiently large $m$, there exist integers $1≤n_1<\dots < n_k$ such that $$1=\frac{1}{n_1}+\cdots+\frac{1}{n_k}$$ and $$m=p(n_1)+\cdots+p(n_k)$$?

    GPT 5.5 Pro (prompted by Price) has given a proof that the answer is yes, for the stronger version with $1$ replaced by any rational $\alpha>0$.

    This was formalized in Lean by Ammanamanchi using Opus 4.6 and GPT 5.5 Pro.

    depends on sorry what this means

    Statement uses: Iff, True, Polynomial, Rat, Erdos283.Condition

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

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283 : answer(True) ↔ ∀ p : ℚ[X], Condition p := by
    …

    Mentions: Erdos283.Condition

  3. theorem Erdos283.erdos_283.variants.graham Graham [Gr63] has proved this when $p(x)=x$ sorry line 73 source

    Source documentation

    Graham [Gr63] has proved this when $p(x)=x$.

    depends on sorry what this means

    Statement uses: Erdos283.Condition, Polynomial.X, Rat

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

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.graham : Condition X := by
    …

    Mentions: Erdos283.Condition

  4. theorem Erdos283.erdos_283.variants.graham_alpha Graham also conjectures that this remains true with $1$ replaced by an arbitrary rational $\alpha>0$ (provided $m$ is taken sufficiently large depending on $\alpha$) sorry line 81 source

    Source documentation

    Graham also conjectures that this remains true with $1$ replaced by an arbitrary rational $\alpha>0$ (provided $m$ is taken sufficiently large depending on $\alpha$).

    depends on sorry what this means

    Statement uses: Polynomial, Rat, Int, Exists, Eq, Polynomial.eval, LT.lt, OfNat.ofNat, Polynomial.leadingCoeff, Not, And, GE.ge, HMul.hMul, GT.gt, Filter.Eventually, Nat, Finset, Membership.mem, LE.le, Finset.sum and 2 more

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

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.graham_alpha :
      ∀ (p : ℚ[X]) (α : ℚ),
        (∀ n : ℤ, ∃ z : ℤ, p.eval (n : ℚ) = z) →
        0 < p.leadingCoeff →
        (¬ ∃ (d : ℤ), d ≥ 2 ∧ ∀ (n : ℤ), n ≥ 1 → ∃ z : ℤ, p.eval (n : ℚ) = d * z) →
        α > 0 →
        ∀ᶠ (m : ℕ) in atTop,
          ∃ S : Finset ℕ, (∀ n ∈ S, 1 ≤ n) ∧
            (∑ n ∈ S, (1 / (n : ℚ))) = α ∧
            (∑ n ∈ S, p.eval (n : ℚ)) = (m : ℚ) := by
    …
  5. theorem Erdos283.erdos_283.variants.cassels Cassels [Ca60] has proved that these conditions on the polynomial imply every sufficiently large integer is the sum of $p(n_i)$ with distinct $n_i$ sorry line 98 source

    Source documentation

    Cassels [Ca60] has proved that these conditions on the polynomial imply every sufficiently large integer is the sum of $p(n_i)$ with distinct $n_i$.

    depends on sorry what this means

    Statement uses: Polynomial, Rat, Int, Exists, Eq, Polynomial.eval, LT.lt, OfNat.ofNat, Polynomial.leadingCoeff, Not, And, GE.ge, HMul.hMul, Filter.Eventually, Nat, Finset, Membership.mem, LE.le, Finset.sum, Filter.atTop

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

    34 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.cassels :
      ∀ (p : ℚ[X]),
        (∀ n : ℤ, ∃ z : ℤ, p.eval (n : ℚ) = z) →
        0 < p.leadingCoeff →
        (¬ ∃ (d : ℤ), d ≥ 2 ∧ ∀ (n : ℤ), n ≥ 1 → ∃ z : ℤ, p.eval (n : ℚ) = d * z) →
        ∀ᶠ (m : ℕ) in atTop,
          ∃ S : Finset ℕ, (∀ n ∈ S, 1 ≤ n) ∧
            (∑ n ∈ S, p.eval (n : ℚ)) = (m : ℚ) := by
    …
  6. theorem Erdos283.erdos_283.variants.burr Burr has proved this if $p(x)=x^k$ with $k\geq 1$ and if we allow $n_i=n_j$ sorry line 112 source

    Source documentation

    Burr has proved this if $p(x)=x^k$ with $k\geq 1$ and if we allow $n_i=n_j$.

    depends on sorry what this means

    Statement uses: Nat, GE.ge, OfNat.ofNat, Filter.Eventually, Exists, Multiset, And, Membership.mem, LE.le, Eq, Rat, Multiset.sum, Multiset.map, HDiv.hDiv, Bind.bind, Pure.pure, Int, HPow.hPow, Filter.atTop

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

    40 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.burr :
      ∀ (k : ℕ), k ≥ 1 →
        ∀ᶠ (m : ℕ) in atTop,
          ∃ M : Multiset ℕ, (∀ n ∈ M, 1 ≤ n) ∧
            (M.map (fun n ↦ 1 / (n : ℚ))).sum = 1 ∧
            (M.map (fun n ↦ (n : ℤ)^k)).sum = (m : ℤ) := by
    …
  7. theorem Erdos283.erdos_283.variants.alekseyev Alekseyev [Al19] has proved this when $p(x)=x^2$, for all $m>8542$ sorry line 124 source

    Source documentation

    Alekseyev [Al19] has proved this when $p(x)=x^2$, for all $m>8542$.

    depends on sorry what this means

    Statement uses: Nat, GT.gt, OfNat.ofNat, Exists, Finset, And, Membership.mem, LE.le, Eq, Rat, Finset.sum, HDiv.hDiv, Int, HPow.hPow

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

    34 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.alekseyev :
      ∀ (m : ℕ), m > 8542 →
        ∃ S : Finset ℕ, (∀ n ∈ S, 1 ≤ n) ∧
          (∑ n ∈ S, (1 / (n : ℚ))) = 1 ∧
          (∑ n ∈ S, (n : ℤ)^2) = (m : ℤ) := by
    …
  8. theorem Erdos283.erdos_283.variants.van_doorn_linear van Doorn [vD25] has investigated the question of what 'sufficiently large' means for $p(x)=x$ sorry line 137 source

    Source documentation

    van Doorn [vD25] has investigated the question of what 'sufficiently large' means for $p(x)=x$. van Doorn has also proved the original conjecture for many linear and quadratic polynomials. For example, if $p(x) = x + b$ with $1 \leq b \leq 5000$, then the conjecture is true.

    depends on sorry what this means

    Statement uses: Int, LE.le, OfNat.ofNat, Erdos283.Condition, HAdd.hAdd, Polynomial, Rat, Polynomial.X, RingHom, Polynomial.C

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

    23 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.van_doorn_linear :
      ∀ b : ℤ, 1 ≤ b → b ≤ 5000 → Condition (X + C (b : ℚ)) := by
    …

    Mentions: Erdos283.Condition

  9. theorem Erdos283.erdos_283.variants.van_doorn_quadratic van Doorn [vD25] has proved the original conjecture for many linear and quadratic polynomials sorry line 146 source

    Source documentation

    van Doorn [vD25] has proved the original conjecture for many linear and quadratic polynomials. For example, if $p(x) = x^2 + b$ with $1 \leq b \leq 800$, then the conjecture is true.

    depends on sorry what this means

    Statement uses: Int, LE.le, OfNat.ofNat, Erdos283.Condition, HAdd.hAdd, Polynomial, Rat, HPow.hPow, Nat, Polynomial.X, RingHom, Polynomial.C

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

    32 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_283.variants.van_doorn_quadratic :
      ∀ b : ℤ, 1 ≤ b → b ≤ 800 → Condition (X^2 + C (b : ℚ)) := by
    …

    Mentions: Erdos283.Condition