FormalConjectures/ErdosProblems/158.lean
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
5 declarations, 2 contain sorry, 0 declared as axioms
Erdős Problem 158
References:
- erdosproblems.com/158
- [ESS94] Erdős, P. and Sárközy, A. and Sós, T., On Sum Sets of Sidon Sets, I. Journal of Number Theory (1994), 329-347.
Imports (1)
- def
Erdos158.B2A setA ⊆ ℕis said to be aB₂[g]set if for alln, the equationa + a' = n, a ≤ a', a, a' ∈ Ahas at mostgsolutions line 37 sourceSource documentation
A set
A ⊆ ℕis said to be aB₂[g]set if for alln, the equationa + a' = n, a ≤ a', a, a' ∈ Ahas at mostgsolutions. This is defined in [ESS94].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,SetProof uses:
LE.le,ENat,Set.encard,Prod,Set.ofPred,And,Eq,HAdd.hAdd,Prod.fst,Prod.snd,Membership.mem7 instances, coercions and auxiliary constants left out.
def B2 (g : ℕ) (A : Set ℕ) : Prop := …
- lemma
Erdos158.b2_oneA set isB₂[1]iff it is Sidon line 42 sourceSource documentation
A set is
B₂[1]iff it is Sidon.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,Nat,Iff, Erdos158.B2,OfNat.ofNat, IsSidonProof uses:
Iff.intro,Membership.mem,Eq,HAdd.hAdd,LE.le,Not,Or,And,Classical.em,Prod,Prod.mk,Iff.mp,ENat,Set.encard,Set.ofPred,Prod.fst,Prod.snd,Set.encard_le_one_iff,of_eq_true,Eq.transand 12 more22 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
lemma b2_one {A : Set ℕ} : B2 1 A ↔ IsSidon A where …Mentions: Erdos158.B2, IsSidon
- theorem
Erdos158.erdos_158LetAbe an infiniteB₂[2]set sorry line 60 sourceSource documentation
Let
Abe an infiniteB₂[2]set. Mustliminf |A ∩ {1, ..., N}| * N ^ (- 1 / 2) = 0?depends on sorry what this means
Statement uses:
Iff,True,Set,Nat,Set.Infinite, Erdos158.B2,OfNat.ofNat,Eq,Real,Filter.liminf,HMul.hMul,Set.ncard,Inter.inter,Set.Iio,HPow.hPow,HDiv.hDiv,Neg.neg,Filter.atTopProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous44 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_158 : answer(sorry) ↔ ∀ A : Set ℕ, A.Infinite → B2 2 A → liminf (fun N : ℕ => (A ∩ .Iio N).ncard * (N : ℝ) ^ (- 1 / 2 : ℝ)) atTop = 0 := by …Mentions: Erdos158.B2
- theorem
Erdos158.erdos_158.variants.isSidon'LetAbe an infinite Sidon set sorry line 67 sourceSource documentation
Let
Abe an infinite Sidon set. Thenliminf |A ∩ {1, ..., N}| * N ^ (- 1 / 2) * (log N) ^ (1 / 2) < ∞. This is proved in [ESS94].depends on sorry what this means
Statement uses:
Set,Nat,Set.Infinite, IsSidon,LT.lt,ENNReal,Filter.liminf,ENNReal.ofReal,HMul.hMul,Real,Set.ncard,Inter.inter,Set.Iio,HPow.hPow,HDiv.hDiv,Neg.neg,OfNat.ofNat,Real.log,Filter.atTop,Top.topProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous54 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_158.variants.isSidon' {A : Set ℕ} (hAinf : A.Infinite) (hAsid : IsSidon A) : liminf (fun N ↦ ENNReal.ofReal ((A ∩ .Iio N).ncard * N ^ (- 1 / 2 : ℝ) * log N ^ (1 / 2 : ℝ))) atTop < ⊤ := by …Mentions: IsSidon
- theorem
Erdos158.erdos_158.variants.isSidonAs a corollary oferdos_158.isSidon', we can prove thatliminf |A ∩ {1, ..., N}| * N ^ (- 1 / 2) = 0for any infinite Sidon setAline 75 sourceSource documentation
As a corollary of
erdos_158.isSidon', we can prove thatliminf |A ∩ {1, ..., N}| * N ^ (- 1 / 2) = 0for any infinite Sidon setA.depends on sorry what this means
Statement uses:
Set,Nat,Set.Infinite, IsSidon,Eq,Real,Filter.liminf,HMul.hMul,Set.ncard,Inter.inter,Set.Iio,HPow.hPow,HDiv.hDiv,Neg.neg,OfNat.ofNat,Filter.atTopProof uses:
LT.lt,ENNReal,ENNReal.ofReal,Real.log,Top.top, Erdos158.erdos_158.variants.isSidon',Mathlib.Tactic.Contrapose.contrapose₁,Eq.mpr,Not,Ne,LE.le,id,implies_congr,Eq.refl,congrArg,Filter.Tendsto.liminf_eq,Filter.Tendsto.comp,nhds,ENNReal.tendsto_ofReal_atTop,Andand 106 more155 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
theorem erdos_158.variants.isSidon {A : Set ℕ} (hAinf : A.Infinite) (hAsid : IsSidon A) : liminf (fun N : ℕ => (A ∩ .Iio N).ncard * (N : ℝ) ^ (- 1 / 2 : ℝ)) atTop = 0 := by …Mentions: IsSidon