Saturated distance incidences and close ordered pairs
DefinitionEsgk_AnnularClosePairCountingdiscrete-geometrydistinct-distances
For an indexed configuration of points in the plane, with distance values and , this module defines three finite sets.
SaturatedDistanceIncidences p: the pairs with and , that is, the circles about of radius that contain exactly three indices .OrderedClosePairs p t: the ordered pairs of distinct indices with .IncreasingClosePairs p t: the pairs ofOrderedClosePairs p twith .
When each circle about a configuration point contains at most three other indices, is the largest possible value of , and the saturated incidences are the circles of maximal occupancy. These sets are used to count close pairs among points on such circles.
Formalization Note Indices are elements of Fin n with their usual order; the threshold is a squared distance.
Definition code
/-
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_DistanceDesign
import Definitions.Def_Esgk_Energy
import Definitions.Def_Esgk_Foundation
namespace Esgk
open EuclideanGeometry
open scoped BigOperators
variable {n : ℕ}
noncomputable def SaturatedDistanceIncidences (p : Config n) : Finset (Fin n × ℝ) :=
(Finset.univ.product (OrderedDistanceValues p)).filter
(fun ir ↦ (DistanceOutNeighborsAtValue p ir.1 ir.2).card = 3)
noncomputable def OrderedClosePairs (p : Config n) (t : ℝ) : Finset (Fin n × Fin n) :=
(Finset.univ : Finset (Fin n)).offDiag.filter (fun ij ↦ dist (p ij.1) (p ij.2) ^ 2 ≤ t)
noncomputable def IncreasingClosePairs (p : Config n) (t : ℝ) : Finset (Fin n × Fin n) :=
(OrderedClosePairs p t).filter (fun ij ↦ ij.1 < ij.2)
end Esgk