Tangent lines on the product set #
This file implements blueprint node T01 of docs/nikodym_construction_lean_blueprint.md.
Everything is parametrised by k = h - 1 (the number of digits), as in Fibers.lean: digit
vectors are Fin k → R, points of F ^ h are Fin (k + 1) → F built with Fin.snoc.
- Definitions: the point
Scaffold.pt φ n q k a w = (φ (a i))_i ++ φ (base w), the directionScaffold.dir φ w = (φ (w i))_i ++ 1, the product familyScaffold.ptFamily φ n q k A B = (A.image φ, …, A.image φ, B.image (φ ∘ base))and the product setScaffold.ptSet φ n q k A B = Fintype.piFinset (ptFamily …), so thatptSet = φ(A)^k × φ(b(B)). - T01a:
Scaffold.eq_zero_of_map_eq_zero_of_lt_M(small kernel on boxes of radius< M),Scaffold.eq_of_map_eq_of_box,Scaffold.injOn_of_box,Scaffold.injOn_A,Scaffold.eq_of_map_base_eq,Scaffold.injOn_base_B,Scaffold.pt_injOn. - T01b:
Scaffold.eq_zero_of_map_eq_zero_of_small. - T01c:
Scaffold.prefixSumBelow(y_{i-1}),Scaffold.abs_prefixSumBelow_le,Scaffold.base_sub_base_eq,Scaffold.abs_mul_sub_prefixSum_le,Scaffold.digit_eq_of_trace_eq_zero(the D02 step) andScaffold.no_collision. - Main statements:
Scaffold.tangent_hypothesis(the hypothesis of P01 forptSet),Scaffold.card_ptSet(#ptSet = #A ^ k * #B) andScaffold.isNikodym_univ_sdiff_ptSet(univ \ ptSetis a Nikodym set).
Throughout, n and q are the integer parameters of Q01, related to the types by
Fintype.card ι = n and Fintype.card F = q; the constants are given as hypotheses
ρ = 1 / (100 (k + 1) √n) and γ = 1 / 10. Only 1 ≤ n and 1 ≤ q are needed here (the
Q02 threshold 2 ^ (n 2 ^ k) ≤ q implies 1 ≤ q). Declarations involving Finset.image
carry a [DecidableEq F] assumption (consumers may use classical).
Blueprint T01: points, directions and the product set #
Blueprint T01: the point p(a, w) = (φ (a 0), …, φ (a (k-1)), φ (b(w))) ∈ F ^ (k + 1).
Equations
- Nikodym.Scaffold.pt φ n q k a w = Fin.snoc (fun (i : Fin k) => φ (a i)) (φ (Nikodym.Scaffold.base n q k w))
Instances For
Blueprint T01: the family of factors (φ(A), …, φ(A), φ(b(B))) of the product set.
Equations
- Nikodym.Scaffold.ptFamily φ n q k A B = Fin.snoc (fun (x : Fin k) => Finset.image (⇑φ) A) (Finset.image (⇑φ ∘ Nikodym.Scaffold.base n q k) B)
Instances For
Blueprint T01: the product set P = φ(A) ^ k × φ(b(B)) ⊆ F ^ (k + 1).
Equations
- Nikodym.Scaffold.ptSet φ n q k A B = Fintype.piFinset (Nikodym.Scaffold.ptFamily φ n q k A B)
Instances For
Blueprint T01: p(a, w) ∈ P for a ∈ A ^ k and w ∈ B.
Blueprint T01: every point of P is of the form p(a, w) with a ∈ A ^ k and w ∈ B.
Blueprint T01a: the small-kernel property on boxes of radius < M #
Blueprint T01a: if x ∈ box T with T < M and φ x = 0 then x = 0, since
∏ i, |σ i x| ≤ T ^ n < M ^ n ≤ q.
Blueprint T01a: φ is injective on any box of radius T with 2 T < M.
Blueprint T01a: φ is injective on any Finset contained in a box of radius T with
2 T < M.
Blueprint T01: the constants ρ = 1 / (100 (k + 1) √n) and γ = 1 / 10 #
Blueprint T01a: φ is injective on the trace fiber A ⊆ box (γ M) (γ = 1/10).
Blueprint T01a: φ is injective on the base points b(w), w ∈ B ⊆ digitSpace.
Blueprint T01a: the point map (a, w) ↦ p(a, w) is injective on A ^ k × B.
Blueprint T01b: lifting #
Blueprint T01b: if φ δ = 0 and δ ∈ box (2 γ M + 2 ρ² (k + 1) M) then δ = 0, because
2 γ + 2 ρ² (k + 1) < 1.
Blueprint T01c: prefix sums below an index #
Blueprint T01c: the prefix sum strictly below i, y_{i-1}(w) = ∑_{j < i} Dⱼ wⱼ
(0 for i = 0).
Equations
- Nikodym.Scaffold.prefixSumBelow n q k w i = ∑ j < i, ↑(Nikodym.Scaffold.D (Nikodym.Scaffold.radix n q k) j) * w j
Instances For
Blueprint T01c: the prefix sum below i is bounded by ρ i D_{i+1} on the digit space.
Blueprint T01c: the collision argument #
Blueprint T01c: t = yᵢ(w') - yᵢ(w) lies in box (2 ρ (i + 1) D_{i+2}).
Blueprint T01c: wᵢ t lies in box (2 ρ² (k + 1) M), using D_{i+1} Q_{i+1} ^ 2 ≤ M.
Blueprint T01c (decoding step): if w, w' ∈ digitSpace have the same color and
trace (wᵢ (yᵢ(w') - yᵢ(w))) = 0, then wᵢ = w'ᵢ. This is D02 with Q = Dᵢ, u = y_{i-1}(w),
u' = y_{i-1}(w').
Blueprint T01c (collision): if p(a', w') = p(a, w) + μ v(w) with a, a' ∈ A ^ k and
w, w' ∈ B, then (a', w') = (a, w).
Blueprint T01: main statements #
Blueprint T01 (main statement): the product set P = ptSet φ n q k A B satisfies the
hypothesis of P01: through every u ∈ P there is a direction v ≠ 0 whose punctured line
u + t v (t ≠ 0) misses P. Here A ⊆ box (γ M) is a trace fiber and B ⊆ digitSpace is a
color class, with ρ = 1 / (100 (k + 1) √n) and γ = 1 / 10.
Blueprint T01: #P = #A ^ k * #B.
Blueprint T01 + P01: the complement univ \ P of the product set is a Nikodym set in
F ^ (k + 1) (for k ≥ 1, i.e. h = k + 1 ≥ 2).