def
Combine.combine
{m : ℕ}
{F : Type u_1}
[Field F]
{ι : Type u_2}
(φ : ι ↪ F)
(dstar : ℕ)
(r : F)
(fs : Fin m → ι → F)
(degs : Fin m → ℕ)
(x : ι)
:
F
Definition 4.11.1 Combine(d*, r, (f_0, d_0), …, (f_{m-1}, d_{m-1}))(x) := sum_{i < m} r_i * f_i(x) * ( sum_{l < (d* - d_i + 1)} (r * φ(x))^l )
Instances For
theorem
Combine.combine_eq_cases
{m : ℕ}
{F : Type u_3}
{ι : Type u_4}
[Field F]
[DecidableEq F]
(φ : ι ↪ F)
(dstar : ℕ)
(r : F)
(fs : Fin m → ι → F)
(degs : Fin m → ℕ)
(hdegs : ∀ (i : Fin m), degs i ≤ dstar)
:
Definition 4.11.2 Combine(d*, r, (f_0, d_0), …, (f_{m-1}, d_{m-1}))(x) := if (r * φ(x)) = 1 then sum_{i < m} r_i * f_i(x) * (dstar - degree + 1) else sum_{i < m} r_i * f_i(x) * (1 - r * φ(x)^(dstar - degree + 1)) / (1 - r * φ(x))
theorem
Combine.degreeCor_eq
{F : Type u_1}
[Field F]
[DecidableEq F]
{ι : Type u_2}
(φ : ι ↪ F)
(dstar degree : ℕ)
(r : F)
(f : ι → F)
(hd : degree ≤ dstar)
(x : ι)
:
Definition 4.12.2 DegCor(d*, r, f, d)(x) := f(x) * conditionalExp(x)
theorem
Combine.master_lemma
{F : Type}
[Field F]
{ι : Type}
[Fintype ι]
[Nonempty ι]
{φ : ι ↪ F}
{dstar m : ℕ}
{fs : Fin m → ι → F}
{degs : Fin m → ℕ}
(hdegs : ∀ (i : Fin m), degs i ≤ dstar)
{δ : NNReal}
(hδLt :
δ < min (1 - ReedSolomon.sqrtRate dstar φ) (1 - ↑(LinearCode.rate (ReedSolomon.code φ dstar)) - 1 / ↑(Fintype.card ι)))
{S : Finset ι}
(hS_card : (1 - δ) * ↑(Fintype.card ι) ≤ ↑S.card)
{v : (i : Fin m) → Fin (Combine.block_size✝ dstar degs i) → Polynomial F}
(hv_deg : ∀ (i : Fin m) (j : Fin (Combine.block_size✝ dstar degs i)), (v i j).degree < ↑dstar)
(hv_eval :
∀ (i : Fin m) (j : Fin (Combine.block_size✝ dstar degs i)),
∀ x ∈ S, Polynomial.eval (φ x) (v i j) = φ x ^ ↑j * fs i x)
(i : Fin m)
(j : Fin (Combine.block_size✝ dstar degs i))
:
theorem
Combine.combine_theorem
{F : Type}
[Field F]
[Fintype F]
[DecidableEq F]
{ι : Type}
[Fintype ι]
{φ : ι ↪ F}
{dstar m : ℕ}
(fs : Fin m → ι → F)
(degs : Fin m → ℕ)
(hdegs : ∀ (i : Fin m), degs i ≤ dstar)
(δ : NNReal)
(hδPos : δ > 0)
(hδLt :
δ < min (1 - ReedSolomon.sqrtRate dstar φ) (1 - ↑(LinearCode.rate (ReedSolomon.code φ dstar)) - 1 / ↑(Fintype.card ι)))
(hProb :
(do
let r ← PMF.uniformOfFintype F
pure (δᵣ(combine φ dstar r fs degs, ↑(ReedSolomon.code φ dstar)) ≤ ↑δ))
True > (↑m * (↑dstar + 1) - ↑(∑ i : Fin m, degs i) - 1) * ↑(ProximityGap.errorBound δ dstar φ))
:
Lemma 4.13
Let dstar be the target degree, f₁,...,f_{m-1} : ι → F,
0 < degs₁,...,degs_{m-1} < dstar be degrees and
δ ∈ (0, min{(1-BStar(ρ)), (1-ρ-1/|ι|)}) be a distance parameter, then
Pr_{r ← F} [δᵣ(Combine(dstar,r,(f₁,degs₁),...,(fₘ,degsₘ)))]
> err' (dstar, ρ, δ, m * (dstar + 1) - ∑ i degsᵢ)