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

13 declarations, 4 contain sorry, 0 declared as axioms

Erdős Problem 102

Reference: erdosproblems.com/102

Imports (1)
  1. def Erdos102.pointsOn The number of points of P that lie on L line 34 source

    Source documentation

    The number of points of P that lie on L.

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

    Statement uses: Finset, EuclideanSpace, Real, Fin, OfNat.ofNat, Nat, AffineSubspace, ENNReal

    Proof uses: Finset.card, Finset.filter, Membership.mem, Classical.propDecidable

    54 instances, coercions and auxiliary constants left out.

    noncomputable def pointsOn (P : Finset ℝ²) (L : AffineSubspace ℝ ℝ²) : ℕ :=
    …
  2. def Erdos102.richLineCount The number of lines that contain more than three points of P line 38 source

    Source documentation

    The number of lines that contain more than three points of P.

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

    Statement uses: Finset, EuclideanSpace, Real, Fin, OfNat.ofNat, Nat

    Proof uses: Set.ncard, AffineSubspace, ENNReal, Set.ofPred, And, EuclideanGeometry.IsLine, LT.lt, Erdos102.pointsOn

    28 instances, coercions and auxiliary constants left out.

    noncomputable def richLineCount (P : Finset ℝ²) : ℕ :=
    …
  3. def Erdos102.Admissible P has $n$ points and at least $c n^2$ lines that each contain more than three points of P line 43 source

    Source documentation

    P has $n$ points and at least $c n^2$ lines that each contain more than three points of P.

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

    Statement uses: Real, Nat, Finset, EuclideanSpace, Fin, OfNat.ofNat

    Proof uses: And, Eq, Finset.card, LE.le, HMul.hMul, HPow.hPow, Erdos102.richLineCount

    11 instances, coercions and auxiliary constants left out.

    def Admissible (c : ℝ) (n : ℕ) (P : Finset ℝ²) : Prop :=
    …

    Mentions: c

  4. def Erdos102.maxCollinear The largest number of points of P on a single line line 47 source

    Source documentation

    The largest number of points of P on a single line.

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

    Statement uses: Finset, EuclideanSpace, Real, Fin, OfNat.ofNat, Nat

    Proof uses: SupSet.sSup, Set.ofPred, Exists, AffineSubspace, ENNReal, And, EuclideanGeometry.IsLine, Eq, Erdos102.pointsOn

    28 instances, coercions and auxiliary constants left out.

    noncomputable def maxCollinear (P : Finset ℝ²) : ℕ :=
    …
  5. def Erdos102.h $h_c(n)$: the minimum of maxCollinear P over all admissible P line 58 source

    Source documentation

    $h_c(n)$: the minimum of maxCollinear P over all admissible P. It is ⊤ when no admissible configuration exists.

    Two distinct lines share at most one pair of points, and a line with more than three points of P contains at least $\binom{4}{2} = 6$ pairs. Hence richLineCount P $< n^2 / 12$, so for $c \geq 1/12$ and $n \geq 1$ no configuration is admissible and $h_c(n) = \top$. The problem is only meaningful for small $c > 0$; the statements below either quantify over all $c > 0$ (where small $c$ govern the truth value) or restrict to sufficiently small $c$.

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

    Statement uses: Real, Nat, ENat

    Proof uses: iInf, Finset, EuclideanSpace, Fin, OfNat.ofNat, Erdos102.Admissible, Erdos102.maxCollinear

    10 instances, coercions and auxiliary constants left out.

    noncomputable def h (c : ℝ) (n : ℕ) : ℕ∞ :=
    …

    Mentions: c

  6. theorem Erdos102.exists_line The plane contains a line line 63 source

    Source documentation

    The plane contains a line.

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

    Statement uses: Exists, AffineSubspace, Real, EuclideanSpace, Fin, OfNat.ofNat, Nat, ENNReal, EuclideanGeometry.IsLine

    Proof uses: Exists.intro, AffineSubspace.mk', Submodule.span, Singleton.singleton, Set, EuclideanSpace.single, id, Eq.mpr, Eq, Module.finrank, Subtype, Membership.mem, Submodule, AffineSubspace.direction, congrArg, AffineSubspace.direction_mk', finrank_span_singleton, of_eq_true, Not, Eq.trans and 5 more

    82 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

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

    theorem exists_line : ∃ L : AffineSubspace ℝ ℝ², IsLine L := by
    …
  7. theorem Erdos102.le_maxCollinear_iff M ≤ maxCollinear P exactly when some line contains at least M points of P line 72 source

    Source documentation

    M ≤ maxCollinear P exactly when some line contains at least M points of P.

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

    Statement uses: Finset, EuclideanSpace, Real, Fin, OfNat.ofNat, Nat, Iff, LE.le, Erdos102.maxCollinear, Exists, AffineSubspace, ENNReal, And, EuclideanGeometry.IsLine, Erdos102.pointsOn

    Proof uses: BddAbove, Set.ofPred, Eq, Exists.intro, Membership.mem, Set, upperBounds, Finset.card, Finset.card_filter_le, Classical.propDecidable, Set.Nonempty, Erdos102.exists_line, And.intro, rfl, Iff.intro, SupSet.sSup, Nat.sSup_mem, Eq.rec, Eq.symm, LE.le.trans and 1 more

    65 instances, coercions and auxiliary constants left out.

    Tactic trace: 16 steps

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

    theorem le_maxCollinear_iff (P : Finset ℝ²) (M : ℕ) :
        M ≤ maxCollinear P ↔ ∃ L, IsLine L ∧ M ≤ pointsOn P L := by
    …

    Mentions: Erdos102.maxCollinear, Erdos102.pointsOn

  8. theorem Erdos102.le_h_iff M ≤ h c n exactly when every admissible configuration of $n$ points has a line that contains at least M of its points line 92 source

    Source documentation

    M ≤ h c n exactly when every admissible configuration of $n$ points has a line that contains at least M of its points.

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

    Statement uses: Real, Nat, Iff, LE.le, ENat, Erdos102.h, Finset, EuclideanSpace, Fin, OfNat.ofNat, Erdos102.Admissible, Exists, AffineSubspace, ENNReal, And, EuclideanGeometry.IsLine, Erdos102.pointsOn

    Proof uses: Eq.mpr, Erdos102.maxCollinear, id, Eq, congrFun', congrArg, Eq.trans, iInf, forall_congr, implies_congr, Eq.refl, forall_congr', imp_congr_right, Erdos102.le_maxCollinear_iff

    87 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

    theorem le_h_iff (c : ℝ) (n M : ℕ) :
        (M : ℕ∞) ≤ h c n ↔
          ∀ P : Finset ℝ², Admissible c n P → ∃ L, IsLine L ∧ M ≤ pointsOn P L := by
    …

    Mentions: c, Erdos102.h, Erdos102.Admissible, Erdos102.pointsOn

  9. theorem Erdos102.tendsto_h_iff The statement $h_c(n) \to \infty$, written without $h_c$ line 101 source

    Source documentation

    The statement $h_c(n) \to \infty$, written without $h_c$.

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

    Statement uses: Real, Iff, Nat, Filter.Eventually, LE.le, ENat, Erdos102.h, Filter.atTop, Finset, EuclideanSpace, Fin, OfNat.ofNat, Eq, Finset.card, HMul.hMul, HPow.hPow, Erdos102.richLineCount, Exists, AffineSubspace, ENNReal and 3 more

    Proof uses: forall_congr', Filter.eventually_congr, Filter.Eventually.of_forall, Eq.mpr, Erdos102.Admissible, id, congrArg, propext, Erdos102.le_h_iff, Iff.intro, And.intro, And.left, And.right

    78 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

    theorem tendsto_h_iff (c : ℝ) :
        (∀ M : ℕ, ∀ᶠ n in atTop, (M : ℕ∞) ≤ h c n) ↔
          ∀ M : ℕ, ∀ᶠ n in atTop, ∀ P : Finset ℝ², P.card = n →
            c * (n : ℝ) ^ 2 ≤ richLineCount P → ∃ L, IsLine L ∧ M ≤ pointsOn P L := by
    …

    Mentions: c, Erdos102.h, Erdos102.richLineCount, Erdos102.pointsOn

  10. theorem Erdos102.erdos_102 Documented declaration: erdos_102 sorry line 116 source

    Source documentation

    Let $c > 0$ and let $h_c(n)$ be such that for any $n$ points in $\mathbb{R}^2$ with at least $cn^2$ lines that each contain more than three of the points, some line contains $h_c(n)$ of the points. Is it true that, for fixed $c > 0$, $h_c(n) \to \infty$?

    depends on sorry what this means

    Statement uses: Iff, True, Real, GT.gt, OfNat.ofNat, Nat, Filter.Eventually, LE.le, ENat, Erdos102.h, Filter.atTop

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

    15 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_102 :
        answer(sorry) ↔ ∀ c > 0, ∀ M : ℕ, ∀ᶠ n in atTop, (M : ℕ∞) ≤ h c n := by
    …

    Mentions: c, Erdos102.h

  11. theorem Erdos102.erdos_102.variants.five It is not known whether $h_c(n) \geq 5$ for all sufficiently large $n$ sorry line 124 source

    Source documentation

    It is not known whether $h_c(n) \geq 5$ for all sufficiently large $n$.

    depends on sorry what this means

    Statement uses: Iff, True, Real, GT.gt, OfNat.ofNat, Filter.Eventually, Nat, LE.le, ENat, Erdos102.h, Filter.atTop

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

    20 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_102.variants.five :
        answer(sorry) ↔ ∀ c > 0, ∀ᶠ n in atTop, (5 : ℕ∞) ≤ h c n := by
    …

    Mentions: c, Erdos102.h

  12. theorem Erdos102.erdos_102.variants.upper_sqrt Documented declaration: upper_sqrt sorry line 133 source

    Source documentation

    It is easy to see that $h_c(n) \ll_c n^{1/2}$: for all sufficiently small $c > 0$ there are admissible configurations (e.g. grids) in which no line contains more than $C_c n^{1/2}$ points.

    depends on sorry what this means

    Statement uses: Exists, Real, And, GT.gt, OfNat.ofNat, Membership.mem, Set, Set.Ioc, Filter.Eventually, Nat, LE.le, ENat, Erdos102.h, Nat.ceil, HMul.hMul, Real.sqrt, Filter.atTop

    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_102.variants.upper_sqrt :
        ∃ c₀ > (0 : ℝ), ∀ c ∈ Set.Ioc 0 c₀, ∃ C : ℝ, ∀ᶠ n in atTop,
          h c n ≤ (⌈C * Real.sqrt n⌉₊ : ℕ∞) := by
    …

    Mentions: c, Erdos102.h

  13. theorem Erdos102.erdos_102.variants.hunter Erdős [Er95] suggested that perhaps $h_c(n) \gg_c n^{1/2}$ sorry line 146 source

    Source documentation

    Erdős [Er95] suggested that perhaps $h_c(n) \gg_c n^{1/2}$. Zach Hunter pointed out that this is false: the points of $\{1, \dots, m\}^d$ with $n \approx m^d$, randomly projected to $\mathbb{R}^2$, meet every line in $\ll_d n^{1/d}$ points and determine $\gg_d n^2$ lines with more than three points. This gives $h_c(n) \ll n^{1 / \log(1/c)}$; we state the underlying form: for every $d \geq 1$ there is $c > 0$ with $h_c(n) \ll_d n^{1/d}$.

    depends on sorry what this means

    Statement uses: Nat, LE.le, OfNat.ofNat, Exists, Real, And, GT.gt, Filter.Eventually, ENat, Erdos102.h, Nat.ceil, HMul.hMul, HPow.hPow, HDiv.hDiv, Filter.atTop

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

    50 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_102.variants.hunter :
        ∀ d : ℕ, 1 ≤ d → ∃ c > (0 : ℝ), ∃ C : ℝ, ∀ᶠ n in atTop,
          h c n ≤ (⌈C * (n : ℝ) ^ (1 / (d : ℝ))⌉₊ : ℕ∞) := by
    …

    Mentions: c, Erdos102.h