Interleaved affine gaps imply tensor gaps
interleaved_affine_gaps_imply_tensor_gaps
Project documentation
inductively to each such matrix, we conclude that, for each r_{ϑ-1} ∈ R*, d^{2^{ϑ-1}}((1-r_{ϑ-1}) · U₀ + r_{ϑ-1} · U₁, C^{2^{ϑ-1}}) ≤ e -/ lemma correlatedAgreement_of_mem_R_star_tensor {ϑ_pred : ℕ} (ih : δ_ε_multilinearCorrelatedAgreement_Nat (F := F) (A := A) (ι := ι) (C := MC) (ϑ := ϑ_pred) (e := e) (ε := ε)) (u : Fin (2 ^ (ϑ_pred + 1)) → (Word A ι...
Exact Lean statement
theorem interleaved_affine_gaps_imply_tensor_gaps
(hC_proximityGapAffineLines : e_ε_correlatedAgreementAffineLinesNat
(F := F) (A := A) (ι := ι) (C := MC) (e := e) (ε := ε))
(h_interleaved_gaps : ∀ m : ℕ, m ≥ 1 →
e_ε_correlatedAgreementAffineLinesNat (F := F)
(A := InterleavedSymbol A (Fin m)) (ι := ι) (C := MC ^⋈ (Fin m)) e ε) :
∀ (ϑ : ℕ), (hϑ_gt_0 : ϑ > 0) → δ_ε_multilinearCorrelatedAgreement_Nat (F := F) (A := A)
(ι := ι) (C := MC) (ϑ := ϑ) (e := e) (ε := ε)Formal artifact
Lean source
theorem interleaved_affine_gaps_imply_tensor_gaps (hC_proximityGapAffineLines : e_ε_correlatedAgreementAffineLinesNat (F := F) (A := A) (ι := ι) (C := MC) (e := e) (ε := ε)) (h_interleaved_gaps : ∀ m : ℕ, m ≥ 1 → e_ε_correlatedAgreementAffineLinesNat (F := F) (A := InterleavedSymbol A (Fin m)) (ι := ι) (C := MC ^⋈ (Fin m)) e ε) : ∀ (ϑ : ℕ), (hϑ_gt_0 : ϑ > 0) → δ_ε_multilinearCorrelatedAgreement_Nat (F := F) (A := A) (ι := ι) (C := MC) (ϑ := ϑ) (e := e) (ε := ε) := by classical intro ϑ induction ϑ with | zero => intro u contradiction | succ ϑ_sub_1 ih => cases ϑ_sub_1 with | zero => -- `ϑ = 1` simp only [zero_add, gt_iff_lt, zero_lt_one, ModuleCode, forall_const] intro u let toAffineLineEval := multilinearCombine₁_eq_affineLineEvaluation (F := F) (u := u) intro hprob_gt simp_rw [toAffineLineEval] at hprob_gt let prob_eq := prob_uniform_singleton_finFun_eq (F := F) (P := fun r => Δ₀(affineLineEvaluation (u 0) (u 1) r, MC) ≤ e) -- Convert sampling (r ← (Fin 1 → F)) into sampling (r ← F) simp_rw [prob_eq, Nat.cast_one, ENNReal.coe_one, one_mul] at hprob_gt have h_correlated_agreement := hC_proximityGapAffineLines (u 0) (u 1) hprob_gt simp only [jointProximityNat₂, Fin.isValue] at h_correlated_agreement have h_u_eq: u = finMapTwoWords (u 0) (u 1) := by funext rowIdx match rowIdx with | 0 => rfl | 1 => rfl rw [h_u_eq.symm] at h_correlated_agreement exact h_correlated_agreement | succ ϑ_sub_2 => intro hϑ_gt_0 u hP_multilinearCombine_close_gt -- `ϑ ≥ 2` -- set ϑ_sub_1 := ϑ_sub_2 + 1 let ϑ := ϑ_sub_2 + 1 + 1 have hϑ : ϑ = ϑ_sub_2 + 1 + 1 := by rfl -- have hfinϑ : Fin ϑ = Fin (ϑ_sub_2 + 1 + 1) := by rfl set U₀ : Fin (2 ^ (ϑ_sub_2 + 1)) → Word A ι := (splitHalfRowWiseInterleavedWords (ϑ := ϑ_sub_2 + 1) u).1 set U₁ : Fin (2 ^ (ϑ_sub_2 + 1)) → Word A ι := (splitHalfRowWiseInterleavedWords (ϑ := ϑ_sub_2 + 1) u).2 unfold jointProximityNat simp only -- intro hP_multilinearCombine_close_gt have h_finsnoc_eq_r: ∀ r: Fin (ϑ_sub_2 + 1 + 1) → F, Fin.snoc (fun (i : Fin (ϑ_sub_2 + 1)) ↦ r i.castSucc) (r (Fin.last (ϑ_sub_2 + 1))) = r := fun r => by funext i have hi_le_lt := i.isLt by_cases h : i = Fin.last (ϑ_sub_2 + 1) · simp only [h, Fin.snoc_last] · have h_i_ne_last: i ≠ Fin.last (ϑ_sub_2 + 1) := by omega have h_i_ne_last_val: i.val ≠ Fin.last (ϑ_sub_2 + 1) := by omega rw [Fin.val_last] at h_i_ne_last_val have h_i_lt: i.val < (ϑ_sub_2 + 1) := by omega simp only [Fin.snoc, Fin.castSucc_castLT, cast_eq, dite_eq_ite, ite_eq_left_iff, not_lt] simp only [isEmpty_Prop, not_le, h_i_lt, IsEmpty.forall_iff] let P : F → (Fin (ϑ_sub_2 + 1) → F) → Prop := fun r_last r_init => Δ₀(multilinearCombine (u:=u) (r:=Fin.snoc r_init r_last), MC) ≤ e let hP_split_r_last := prob_split_last_uniform_sampling_of_finFun (ϑ := ϑ_sub_2 + 1) (F := F) (P := P) unfold P at hP_split_r_last simp_rw [h_finsnoc_eq_r] at hP_split_r_last rw [hP_split_r_last] at hP_multilinearCombine_close_gt -- Now we have two randomness sampling in hP_multilinearCombine_close_gt : -- `((ϑ_sub_2 + 1 + 1) * ε) / |𝔽| -- < Pr_{ r_last; r_init }[ Δ₀((Fin.snoc r_init r_last)|⨂|u, ↑MC) ≤ ↑e)) ]` (0) -- We need to achieve the upperbound for hP_multilinearCombine_close_gt probability by: -- i.e. `Pr_{ r_last; r_init }[ Δ₀((Fin.snoc r_init r_last)|⨂|u, ↑MC) ≤ ↑e)) ]` -- `= Pr_{ r_last; r_init }[ Δ₀((r_init)|⨂|affineCombine(U₀, U₁, r_last), ↑MC) ≤ ↑e)) ]` -- `= PR_{ r_last }[ r_init; Δ₀((r_init)|⨂|affineCombine(U₀, U₁, r_last), ↑MC) ≤ ↑e)) ]` -- Divide into two cases: r_last ∈ R* and r_last ∉ R* -- `= Pr_{ r_last }[ r_last ∈ R* ∧ -- Pr_{ r_init }[ Δ₀((r_init)|⨂|affineCombine(U₀, U₁, r_last), ↑MC) ≤ ↑e)) ]` (1) -- `+ Pr_{ r_last }[ r_last ∉ R* ∧ -- Pr_{ r_init }[ Δ₀((r_init)|⨂|affineCombine(U₀, U₁, r_last), ↑MC) ≤ ↑e)) ]` (2) -- `(1) = Pr_{ r_last }[ r_last ∈ R* ]` (3) -- `(2): ∀ r ∉ R*, it's trivial that the probability -- ≤ ((ϑ_sub_2 + 1) * ε) / |𝔽|, due to definition of membership of R*` (4) -- Combine (0), (3), (4): we have `Pr_{ r_last }[ r_last ∈ R* ] > ε/|𝔽|` (5) -- Applying `correlatedAgreement_of_mem_R_star_tensor` to (5), we get -- `Δ₀((r_last)|⨂|affineCombine(U₀, U₁, r_last), ↑MC) ≤ ↑e)) ] > ε/|𝔽|` (6) -- This is premise for affineProxmityGaps of interleaved code (`h_interleaved_gaps`) -- for `m = 2^{ϑ_sub_2 + 1}`, which directly leads to Q.E.D. let ϑ_pred := ϑ_sub_2 + 1 have h_ϑ_pred : ϑ_pred = ϑ_sub_2 + 1 := by rfl have h_ϑ : ϑ = ϑ_pred + 1 := by rfl -- Step 1: Apply multilinearCombine recursive form -- We need the lemma `multilinearCombine u r = multilinearCombine` -- `(affineLineEvaluation U₀ U₁ r_last) r_init` where `r = Fin.snoc r_init r_last` have multilinearCombine_snoc_eq_multilinearCombine_affine (r_init : Fin ϑ_pred → F) (r_last : F) : multilinearCombine u (Fin.snoc r_init r_last) = multilinearCombine (affineLineEvaluation U₀ U₁ r_last) r_init := by rw [multilinearCombine_recursive_form] simp only [Fin.snoc_last, Fin.init_snoc] rfl -- Rewrite the probability using this identity simp_rw [multilinearCombine_snoc_eq_multilinearCombine_affine] at hP_multilinearCombine_close_gt -- hP_multilinearCombine_close_gt now looks like: -- Pr_{ r_last ← $ᵖ F; r_init ← $ᵖ (Fin ϑ_pred → F) }[ Δ₀(multilinearCombine -- (affineLineEvaluation U₀ U₁ r_last) r_init, ↑MC) ≤ ↑e ] > ↑(↑ϑ * ↑ε) / q -- Step 2 & 3: Define R* and apply Law of Total Probability let R_star_set := R_star_tensor MC (m:=ϑ_pred) (e:=e) (ε:=ε) U₀ U₁ -- Step 5: Show Pr[R*] > ε / q have h_prob_Rstar_gt_eps_div_q : Pr_{ let r ← $ᵖ F }[ r ∈ R_star_set ] > (↑ε : ENNReal) / (Fintype.card F : ENNReal) := by let res := prob_R_star_gt_threshold (MC := MC) (ε := ε) (ϑ := ϑ_sub_2 + 1) (u := u) (e := e) (hP_multilinearCombine_close_gt) exact res -- Convert Pr_{}[] to cardinality have h_R_star_card_gt_eps : R_star_set.card > ε := by rw [prob_uniform_eq_card_filter_div_card] at h_prob_Rstar_gt_eps_div_q -- Needs NNReal simp only [ENNReal.coe_natCast] at h_prob_Rstar_gt_eps_div_q rw [gt_iff_lt] at h_prob_Rstar_gt_eps_div_q have h_cancel_q_denom := ENNReal.div_lt_div_iff_left (a := (ε : ENNReal)) (b := (#(filter (fun r => r ∈ R_star_set) Finset.univ))) (c := (Fintype.card F : ENNReal)) (hc₀ := by simp only [ne_eq, Nat.cast_eq_zero, Fintype.card_ne_zero, not_false_eq_true]) (hc := by simp only [ne_eq, ENNReal.natCast_ne_top, not_false_eq_true]) rw [h_cancel_q_denom] at h_prob_Rstar_gt_eps_div_q simp only [filter_univ_mem, Nat.cast_lt] at h_prob_Rstar_gt_eps_div_q exact h_prob_Rstar_gt_eps_div_q -- Step 6: Apply Inductive Hypothesis for r_last ∈ R* have h_line_close_to_C_m : ∀ (r : R_star_set), jointProximityNat (u := affineLineEvaluation U₀ U₁ r.val) (e := e) (C := MC) := by intro r_in_Rstar -- Use the lemma proven earlier apply correlatedAgreement_of_mem_R_star_tensor (ih := fun u_prev => ih (by omega) u_prev ) (u := u) -- Step 7: Apply Affine Gap of Interleaved Code C^(m = 2^(ϑ_sub_2 + 1)) have h_C_m_gap := h_interleaved_gaps (2^(ϑ_sub_2 + 1)) (Nat.one_le_two_pow) -- Need the hypothesis Pr[...] > ε/q for h_C_m_gap have h_prob_line_gt_eps_div_q : Pr_{ let r ← $ᵖ F }[ Δ₀(affineLineEvaluation (u₀ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₀)) (u₁ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₁)) (r := r), ((MC ^⋈ (Fin (2 ^ (ϑ_sub_2 + 1)))))) ≤ e ] > (↑ε : ENNReal) / (Fintype.card F : ENNReal) := by -- This is implied by h_prob_Rstar_gt_eps_div_q becuz R* is a subset of the success set apply lt_of_le_of_lt' _ h_prob_Rstar_gt_eps_div_q have h_r_implies: ∀ (r : F), r ∈ R_star_set → Δ₀(affineLineEvaluation (u₀ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₀)) (u₁ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₁)) (r := r), ((MC ^⋈ (Fin (2 ^ (ϑ_sub_2 + 1)))))) ≤ e := by intro r hr_in_Rstar specialize h_line_close_to_C_m ⟨r, hr_in_Rstar⟩ unfold jointProximityNat at h_line_close_to_C_m exact h_line_close_to_C_m let Pr_le := Pr_le_Pr_of_implies (D := $ᵖ F) (g := fun r => Δ₀(affineLineEvaluation (u₀ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₀)) (u₁ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₁)) (r := r), ((MC ^⋈ (Fin (2 ^ (ϑ_sub_2 + 1)))))) ≤ e) (f := fun r => r ∈ R_star_set) (h_imp := h_r_implies) simp only at Pr_le exact Pr_le -- Apply the gap property of C^m have h_final_gap : jointProximityNat₂ (u₀ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₀)) (u₁ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₁)) (e := e) (C := (MC ^⋈ (Fin (2^(ϑ_sub_2 + 1))))) := by apply h_C_m_gap (u₀ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₀)) (u₁ := ⋈|(show WordStack A (Fin (2 ^ (ϑ_sub_2 + 1))) ι from U₁)) (h_prob_line_gt_eps_div_q) apply CA_split_rowwise_implies_CA (u := u) (e := e) exact h_final_gap- Project
- ArkLib
- License
- Apache-2.0
- Commit
- fad5cbf80877
- Source
- ArkLib/Data/CodingTheory/ProximityGap/DG25/MainResults.lean:1207-1383
Reuse this declaration
Bring the exact result into your workflow
The import identifies the source module. Your project still needs the pinned package dependency shown on this page.
What this badge means
This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.
Continue in this project
Related declarations
Affine gaps lifted to interleaved codes
affine_gaps_lifted_to_interleaved_codes
Project documentation
This lemma proves the final algebraic step in the DG25 Theorem 3.1 proof. It shows that if R > e + 1, then e * (R / (R - 1)) < e + 1. The intuition is that the fraction R / (R - 1) is always greater than 1, but as R gets larger, it gets closer to 1. The hypothesis R > e + 1 provides a strong enough bound to ensure the product e * (fraction) do...
Source project: ArkLib
Person-level attribution pending.
Gadget Decompose coeff
ArkLib.Lattices.Ajtai.gadgetDecompose_coeff
Plain-language statement
The k-th coefficient (k < deg φ) of a gadget-decomposition block is exactly the corresponding digit of the corresponding input coefficient.
Source project: ArkLib
Person-level attribution pending.
Gadget Decompose lawful
ArkLib.Lattices.Ajtai.gadgetDecompose_lawful
Plain-language statement
The base-b gadget decomposition is a lawful gadget decomposition.
Source project: ArkLib
Person-level attribution pending.