Restricting a weight to selected thin slabs #
A finite union bound controls the mass removed by intersecting thin slabs. The stage errors form a geometric sum, leaving enough thickness outside the maximal space of selected directions. Retained points also have bounded integer coordinates in the selected directions.
@[simp]
theorem
EGZ.DirectionChain.slabIntersection_loss_le_sum
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
:
theorem
EGZ.DirectionChain.slabIntersection_loss_le
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
(hδ : 0 ≤ δ)
:
theorem
EGZ.DirectionChain.slabIntersection_loss_le_dimension
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
(hδ : 0 ≤ δ)
(hkd : k ≤ d)
:
theorem
EGZ.DirectionChain.slabIntersection_retainedMass_ge
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
(hδ : 0 ≤ δ)
(hkd : k ≤ d)
:
theorem
EGZ.DirectionChain.slabIntersection_nonzero
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
(hδ : 0 ≤ δ)
(hkd : k ≤ d)
(hsmall : 3 ^ (d + 1) * δ < 1)
(hw : ∃ (v : FpCoord p d), w v ≠ 0)
:
∃ (v : FpCoord p d), restrictWeight w (slabIntersection k D.direction t) v ≠ 0
theorem
EGZ.DirectionChain.thick_slabIntersection
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
(hδ : 0 ≤ δ)
{ξ : FpCoord p d →ᵃ[ZMod p] ZMod p}
(hthick : IsThickAlong w ξ (t (k + 1)) (3 ^ (k + 1) * δ))
:
IsThickAlong (restrictWeight w (slabIntersection k D.direction t)) ξ (t (k + 1)) δ
The geometric error budget leaves thickness δ after intersecting all
chosen slabs. No monotonicity assumptions on the widths are needed.
theorem
EGZ.DirectionChain.thick_slabIntersection_of_maximal
{p d k : ℕ}
[Fact (Nat.Prime p)]
{W : Submodule (ZMod p) (FpCoord p d →ᵃ[ZMod p] ZMod p)}
{w : FpCoord p d → ℕ}
{t : ℕ → ℕ}
{δ : ℝ}
(D :
DirectionChain W (fun (i : ℕ) (ξ : FpCoord p d →ᵃ[ZMod p] ZMod p) => IsThinAlong w ξ (t (i + 1)) (3 ^ (i + 1) * δ)) k)
(hδ : 0 ≤ δ)
(hmax : ∀ ξ ∉ D.space k, IsThickAlong w ξ (t (k + 1)) (3 ^ (k + 1) * δ))
(ξ : FpCoord p d →ᵃ[ZMod p] ZMod p)
(hξ : ξ ∉ D.space k)
:
IsThickAlong (restrictWeight w (slabIntersection k D.direction t)) ξ (t (k + 1)) δ