Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

More than (1/3+1/130) n(1/3+1/130)\,n(1/3+1/130)n distinct distances in general position for n≥10000n\ge 10000n≥10000

Proved
Esgk.numDistances_gt_one_third_add_refined

by mysticflounder · Oct 20, 2026 · Mathlib 0df444a (Lean v4.33.1)

discrete-geometrydistinct-distanceserdos-problem-98

Let n≥10000n\ge 10000n≥10000 and let p=(p1,…,pn)p=(p_1,\dots,p_n)p=(p1​,…,pn​) be an injective configuration of nnn points in the plane, with image P={p1,…,pn}P=\{p_1,\dots,p_n\}P={p1​,…,pn​}. Assume that PPP is in general position: no three points of PPP are collinear and no four points of PPP lie on a common circle. Let D(P)D(P)D(P) be the number of distinct distances ∣x−y∣|x-y|∣x−y∣ with x,y∈Px,y\in Px,y∈P and x≠yx\ne yx=y. Then

D(P)>(13+1130)n.D(P)>\Bigl(\frac13+\frac1{130}\Bigr)n .D(P)>(31​+1301​)n.

A circle about a point of PPP contains at most three other points of PPP, which gives 3D(P)≥n−13D(P)\ge n-13D(P)≥n−1. The theorem raises the coefficient 1/31/31/3 by the explicit amount 1/1301/1301/130 for every n≥10000n\ge 10000n≥10000. Erdős Problem 98 asks whether the minimum of D(P)D(P)D(P) over general-position sets of nnn points grows faster than every linear function of nnn; this theorem gives the linear lower bounds with coefficient at most 1/3+1/1301/3+1/1301/3+1/130 only.

Formalization Note D(P)D(P)D(P) is NumDistances p, the number of distances between distinct points of Config.toFinset p. General position is InGeneralPosition, in which "on a common circle" is Mathlib's Cospherical in the Euclidean plane.

Preamble
/-
Copyright (c) 2026 Adam McKenna. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Adam McKenna
-/
import Definitions.Def_Esgk_Energy
import Definitions.Def_Esgk_Foundation
import Definitions.Def_Esgk_PlanarGeneralPosition

open EuclideanGeometry Esgk
Formal statement
namespace Esgk

theorem numDistances_gt_one_third_add_refined {n : ℕ} {p : Config n}
    (hp : Function.Injective p) (hgp : InGeneralPosition (Config.toFinset p))
    (hn : 10000 ≤ n) :
    (1 / 3 + 1 / 130) * (n : ℝ) < (NumDistances p : ℝ) := by sorry

end Esgk
Source
Context: Erdős Problem 98, https://www.erdosproblems.com/98. Lean formalization by Adam McKenna (2026), declaration Esgk.numDistances_gt_one_third_add_refined.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me