Documentation

Atlas.ProjectionTheory.code.BeckTheorem

An affine subspace L ⊆ ℝ² is a line iff its direction has dimension 1.

Instances For

    The number of points of the finite set E ⊂ ℝ² lying on the line L.

    Instances For

      The set of lines determined by E: lines that contain at least two points of E.

      Instances For

        The set of lines through x ∈ ℝ² which are determined by E, i.e. pass through x and at least one other point of E.

        Instances For
          theorem BeckTheorem.beck_theorem :
          ∃ (c : ), 0 < c ∀ (E : Finset (EuclideanSpace (Fin 2))), (∃ (L : AffineSubspace (EuclideanSpace (Fin 2))), IsLine L E.card / 100 (pointsOnLine E L)) c * E.card ^ 2 (determinedLines E).ncard

          Beck's theorem (1982). There exists c > 0 such that for every finite point set E ⊂ ℝ², either some line contains at least |E|/100 points of E, or E determines at least c · |E|² distinct lines.

          theorem BeckTheorem.st_uniformization_per_point (c : ) (hc : 0 < c) :
          ∃ (c' : ), 0 < c' ∀ (E : Finset (EuclideanSpace (Fin 2))), (∀ (L : AffineSubspace (EuclideanSpace (Fin 2))), IsLine L(pointsOnLine E L) E.card / 2)c * E.card ^ 2 (determinedLines E).ncardxE, c' * E.card (linesThrough E x).ncard

          Per-point uniformization of the Szemerédi–Trotter consequence of Beck: if no line contains more than |E|/2 points and E determines ≥ c |E|² lines, then through every point of E there pass ≳ |E| determined lines.

          theorem BeckTheorem.lines_per_point_from_rich_line (E : Finset (EuclideanSpace (Fin 2))) (hconc : ∀ (L : AffineSubspace (EuclideanSpace (Fin 2))), IsLine L(pointsOnLine E L) E.card / 2) (L : AffineSubspace (EuclideanSpace (Fin 2))) (hL_line : IsLine L) (hL_rich : E.card / 100 (pointsOnLine E L)) (x : EuclideanSpace (Fin 2)) (hx : x E) :
          1 / 100 * E.card (linesThrough E x).ncard

          If no line contains more than |E|/2 points yet some line L contains at least |E|/100 points, then every x ∈ E has at least |E|/100 lines through it determined by E (using the rich line L to construct many such lines through x).

          theorem BeckTheorem.beck_theorem_lines_per_point :
          ∃ (c : ), 0 < c ∀ (E : Finset (EuclideanSpace (Fin 2))), (∀ (L : AffineSubspace (EuclideanSpace (Fin 2))), IsLine L(pointsOnLine E L) E.card / 2)xE, c * E.card (linesThrough E x).ncard

          Beck's theorem, per-point form. There is c > 0 such that for any finite E ⊂ ℝ² with no line containing more than |E|/2 points, every point x ∈ E has at least c · |E| lines through it that are determined by E (i.e. pass through x and another point of E).