Documentation

Pseudorandom.Incidence.IncidenceGrid

theorem ST_grid_final {p : } [instpprime : Fact (Nat.Prime p)] (β : ) (h : 0 < β) (A : Finset (ZMod p)) (B : Finset (ZMod p)) (n : ℕ+) (nhₗ : p ^ β n) (nhᵤ : n p ^ (2 - β)) (hA : A.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (hB : B.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (b₁ : ZMod p) (hb₁ : b₁B) (b₂ : ZMod p) (hb₂ : b₂B) (neq : b₁ b₂) (allInt : bB, n ^ (1 - SG_eps₃ β) < Finset.sum (A ×ˢ A) fun (v : ZMod p × ZMod p) => if (b₂ - b) / (b₂ - b₁) * v.1 + (b - b₁) / (b₂ - b₁) * v.2 A then 1 else 0) :
B.card < SG_C₅ * n ^ (1 / 2 - SG_eps₂ β - SG_eps β - 4 * ST_prime_field_eps β)
theorem ST_grid_aux₂ {p : } [instpprime : Fact (Nat.Prime p)] (β : ) (h : 0 < β) (A : Finset (ZMod p)) (B : Finset (ZMod p)) (L : Finset (Line (ZMod p))) (n : ℕ+) (nhₗ : p ^ β n) (nhᵤ : n p ^ (2 - β)) (hA : A.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (hB : B.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (h₂ : L.card n) (hC : lL, n ^ (1 / 2 - SG_eps β) < (IntersectionsP (A ×ˢ B) l).card) (hHoriz : lL, ¬Line.horiz l) :
(Intersections (A ×ˢ B) L).card SG_C₃ * n ^ (3 / 2 - SG_eps β)
theorem ST_grid_aux {p : } [instpprime : Fact (Nat.Prime p)] (β : ) (h : 0 < β) (A : Finset (ZMod p)) (B : Finset (ZMod p)) (L : Finset (Line (ZMod p))) (n : ℕ+) (nhₗ : p ^ β n) (nhᵤ : n p ^ (2 - β)) (hA : A.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (hB : B.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (h₂ : L.card n) (hC : lL, n ^ (1 / 2 - SG_eps β) < (IntersectionsP (A ×ˢ B) l).card) :
(Intersections (A ×ˢ B) L).card SG_C₂ * n ^ (3 / 2 - SG_eps β)
theorem ST_grid {p : } [instpprime : Fact (Nat.Prime p)] (β : ) (h : 0 < β) (A : Finset (ZMod p)) (B : Finset (ZMod p)) (L : Finset (Line (ZMod p))) (n : ℕ+) (nhₗ : p ^ β n) (nhᵤ : n p ^ (2 - β)) (hA : A.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (hB : B.card 4 * n ^ (1 / 2 + 2 * ST_prime_field_eps β)) (h₂ : L.card n) :
(Intersections (A ×ˢ B) L).card SG_C * n ^ (3 / 2 - SG_eps β)