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

7 declarations, 3 contain sorry, 0 declared as axioms

Erdős Problem 885

References:

Imports (1)
  1. def Erdos885.factorDifferenceSet For integer $n \geq 1$ we define the factor difference set of $n$ by $D(n) = \{|a-b| : n=ab\}$ line 40 source

    Source documentation

    For integer $n \geq 1$ we define the factor difference set of $n$ by $D(n) = \{|a-b| : n=ab\}$.

    standard axioms: propext what this means

    Statement uses: Nat, Set

    Proof uses: Set.ofPred, Exists, And, Eq, HMul.hMul, Int, abs, HSub.hSub

    8 instances, coercions and auxiliary constants left out.

    def factorDifferenceSet (n : ℕ) : Set ℕ :=
    …
  2. lemma Erdos885.mem_factorDifferenceSet_of_eq line 44 source

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

    Statement uses: Nat, Eq, HMul.hMul, HAdd.hAdd, Membership.mem, Set, Erdos885.factorDifferenceSet

    Proof uses: Exists.intro, Exists, And, Int, abs, HSub.hSub, And.intro, Eq.mpr, id, congrArg, Nat.cast_add, Neg.neg, Mathlib.Tactic.Ring.of_eq, HPow.hPow, Nat.rawCast, Int.rawCast, inferInstance, Ring, Int.negOfNat, OfNat.ofNat and 26 more

    56 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

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

  3. lemma Erdos885.factorDifferenceSet_finite line 50 source

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

    Statement uses: Nat, LE.le, OfNat.ofNat, Set.Finite, Erdos885.factorDifferenceSet

    Proof uses: Set.Finite.subset, Set.Iic, Set.finite_Iic, Membership.mem, Set, Exists, And, Eq, HMul.hMul, Int, abs, HSub.hSub, Nat.pos_of_ne_zero, False, False.elim, Eq.mp, Eq.trans, congrArg, MulZeroClass.zero_mul, Eq.symm and 72 more

    103 instances, coercions and auxiliary constants left out.

    Tactic trace: 16 steps

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

  4. theorem Erdos885.erdos_885 Is it true that, for every $k \geq 1$, there exist integers $N_1 < \dots < N_k$ such that $|\cap_i D(N_i)| \geq k$? sorry line 65 source

    Source documentation

    Is it true that, for every $k \geq 1$, there exist integers $N_1 < \dots < N_k$ such that $|\cap_i D(N_i)| \geq k$?

    depends on sorry what this means

    Statement uses: Iff, True, Nat, GE.ge, OfNat.ofNat, Exists, Finset, And, Membership.mem, LE.le, Eq, Finset.card, Set.ncard, Set.iInter, Erdos885.factorDifferenceSet

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

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_885 : answer(sorry) ↔ ∀ k ≥ 1,
        ∃ Ns : Finset ℕ,
          (∀ n ∈ Ns, 1 ≤ n) ∧
          Ns.card = k ∧
          (⋂ n ∈ Ns, factorDifferenceSet n).ncard ≥ k := by
    …

    Mentions: Erdos885.factorDifferenceSet

  5. theorem Erdos885.erdos_885.variants.k_eq_2 Erdős and Rosenfeld [ErRo97] proved this is true for $k=2$ sorry line 76 source

    Source documentation

    Erdős and Rosenfeld [ErRo97] proved this is true for $k=2$.

    depends on sorry what this means

    Statement uses: Exists, Finset, Nat, And, Membership.mem, LE.le, OfNat.ofNat, Eq, Finset.card, GE.ge, Set.ncard, Set.iInter, Erdos885.factorDifferenceSet

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

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_885.variants.k_eq_2 :
        ∃ Ns : Finset ℕ,
          (∀ n ∈ Ns, 1 ≤ n) ∧
          Ns.card = 2 ∧
          (⋂ n ∈ Ns, factorDifferenceSet n).ncard ≥ 2 := by
    …

    Mentions: Erdos885.factorDifferenceSet

  6. theorem Erdos885.erdos_885.variants.k_eq_3 Jiménez-Urroz [Ji99] proved this for $k=3$ sorry line 87 source

    Source documentation

    Jiménez-Urroz [Ji99] proved this for $k=3$.

    depends on sorry what this means

    Statement uses: Exists, Finset, Nat, And, Membership.mem, LE.le, OfNat.ofNat, Eq, Finset.card, GE.ge, Set.ncard, Set.iInter, Erdos885.factorDifferenceSet

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

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_885.variants.k_eq_3 :
        ∃ Ns : Finset ℕ,
          (∀ n ∈ Ns, 1 ≤ n) ∧
          Ns.card = 3 ∧
          (⋂ n ∈ Ns, factorDifferenceSet n).ncard ≥ 3 := by
    …

    Mentions: Erdos885.factorDifferenceSet

  7. theorem Erdos885.erdos_885.variants.k_eq_4 Bremner [Br19] proved this for $k=4$ line 98 source

    Source documentation

    Bremner [Br19] proved this for $k=4$.

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

    Statement uses: Exists, Finset, Nat, And, Membership.mem, LE.le, OfNat.ofNat, Eq, Finset.card, GE.ge, Set.ncard, Set.iInter, Erdos885.factorDifferenceSet

    Proof uses: Exists.intro, Insert.insert, Singleton.singleton, And.intro, of_eq_true, Eq.trans, Or, True, forall_congr, implies_congr, congrArg, Eq.refl, congr, and_self, of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Set and 30 more

    53 instances, coercions and auxiliary constants left out.

    Tactic trace: 32 steps

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

    theorem erdos_885.variants.k_eq_4 :
        ∃ Ns : Finset ℕ,
          (∀ n ∈ Ns, 1 ≤ n) ∧
          Ns.card = 4 ∧
          (⋂ n ∈ Ns, factorDifferenceSet n).ncard ≥ 4 := by
    …

    Mentions: Erdos885.factorDifferenceSet