FormalConjectures/ErdosProblems/1188.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
9 declarations, 1 contain sorry, 0 declared as axioms
Erdős Problem 1188
Reference: erdosproblems.com/1188
Imports (1)
- abbrev
Erdos1188.CongruenceClassA congruence class(n, a)representsa (mod n)line 34 sourceSource documentation
A congruence class
(n, a)representsa (mod n).no axioms what this means
Proof uses:
Prod,Natabbrev CongruenceClass := ℕ × ℕ
- def
Erdos1188.ValidClassThe modulus is> 1and the residue is reduced line 37 sourceSource documentation
The modulus is
> 1and the residue is reduced.no axioms what this means
Statement uses: Erdos1188.CongruenceClass
Proof uses:
And,LE.le,Nat,OfNat.ofNat,Prod.fst,LT.lt,Prod.snd3 instances, coercions and auxiliary constants left out.
def ValidClass (c : CongruenceClass) : Prop := 2 ≤ c.1 ∧ c.2 < c.1
Mentions: c, Erdos1188.CongruenceClass
- def
Erdos1188.Satisfieszlies in the class(n, a)line 40 sourceSource documentation
zlies in the class(n, a).no axioms what this means
Statement uses:
Int, Erdos1188.CongruenceClassProof uses:
Eq,HMod.hMod,Prod.fst,Nat,Prod.snd4 instances, coercions and auxiliary constants left out.
def Satisfies (z : ℤ) (c : CongruenceClass) : Prop := z % (c.1 : ℤ) = (c.2 : ℤ)
Mentions: c, Erdos1188.CongruenceClass
- def
Erdos1188.CoversEvery integer satisfies some congruence ofSline 43 sourceSource documentation
Every integer satisfies some congruence of
S.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset, Erdos1188.CongruenceClassProof uses:
Int,Exists,And,Membership.mem, Erdos1188.Satisfies2 instances, coercions and auxiliary constants left out.
def Covers (S : Finset CongruenceClass) : Prop := ∀ z : ℤ, ∃ c ∈ S, Satisfies z c
Mentions: Erdos1188.CongruenceClass, c, Erdos1188.Satisfies
- def
Erdos1188.HasDistinctModuliNo two classes ofSshare a modulus line 46 sourceSource documentation
No two classes of
Sshare a modulus.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset, Erdos1188.CongruenceClassProof uses:
Membership.mem,Eq,Nat,Prod.fst2 instances, coercions and auxiliary constants left out.
def HasDistinctModuli (S : Finset CongruenceClass) : Prop := …
Mentions: Erdos1188.CongruenceClass
- def
Erdos1188.IsMinimalDistinctCoveringSystemA minimal distinct covering system: valid classes with distinct moduli that coverℤ, with no proper subset already covering line 51 sourceSource documentation
A minimal distinct covering system: valid classes with distinct moduli that cover
ℤ, with no proper subset already covering.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset, Erdos1188.CongruenceClassProof uses:
And,Membership.mem, Erdos1188.ValidClass, Erdos1188.HasDistinctModuli, Erdos1188.Covers,LT.lt,Not5 instances, coercions and auxiliary constants left out.
def IsMinimalDistinctCoveringSystem (S : Finset CongruenceClass) : Prop := …
Mentions: Erdos1188.CongruenceClass
- def
Erdos1188.ClassesUpToAll classes(n, a)with2 ≤ n ≤ xanda < nline 56 sourceSource documentation
All classes
(n, a)with2 ≤ n ≤ xanda < n.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Erdos1188.CongruenceClassProof uses:
Finset.biUnion,Finset.Icc,OfNat.ofNat,Finset.image,Prod.mk,Finset.range5 instances, coercions and auxiliary constants left out.
def ClassesUpTo (x : ℕ) : Finset CongruenceClass := …
Mentions: Erdos1188.CongruenceClass
- def
Erdos1188.coveringCountF(x): the number of minimal distinct covering systems all of whose moduli lie in[1, x]line 62 sourceSource documentation
F(x): the number of minimal distinct covering systems all of whose moduli lie in[1, x].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.card,Finset, Erdos1188.CongruenceClass,Finset.filter, Erdos1188.IsMinimalDistinctCoveringSystem,Classical.propDecidable,Finset.powerset, Erdos1188.ClassesUpTononcomputable def coveringCount (x : ℕ) : ℕ := …
- theorem
Erdos1188.erdos_1188Call a set of distinct integers sorry line 75 sourceSource documentation
Call a set of distinct integers $1<n_1<\cdots<n_k$ with associated congruence classes $a_i\pmod{n_i}$ a distinct covering system if every integer satisfies at least one of these congruences. A minimal distinct covering system is one such that no proper subset forms a covering system. Let $F(x)$ count the number of minimal distinct covering systems with all moduli in $[1,x]$. Estimate $F(x)$.
The estimate is
log(log F(x)) / log x → 1.depends on sorry what this means
Statement uses:
Filter.Tendsto,Nat,Real,HDiv.hDiv,Real.log, Erdos1188.coveringCount,Filter.atTop,nhds,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous23 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_1188 : Tendsto (fun x : ℕ => Real.log (Real.log (coveringCount x : ℝ)) / Real.log (x : ℝ)) atTop (𝓝 1) := by …Mentions: Erdos1188.coveringCount