-
Notifications
You must be signed in to change notification settings - Fork 42
Description
A proof in ArkLib/Data/CodingTheory/GuruswamiSudan/GuruswamiSudan.lean contains a sorry.
π€ AI Analysis:
Statement Explanation
This theorem states a key "soundness" property of the Guruswami-Sudan decoder. It guarantees that for any polynomial p found in the output list of the decoder, the corresponding Reed-Solomon codeword p.eval β Οs is "close" to the received word f.
- Goal: The Hamming distance
Ξβbetween the received wordfand the codeword generated bypis at moste. - Hypotheses:
p β decoder ... f: The polynomialpis one of the candidates returned by the decoder.h_e : e β€ n - Real.sqrt (k * n): This is a condition on the number of tolerated errorse, related to the Johnson bound for list decoding, which ensures the decoder's parameters can be chosen correctly.
In essence, the theorem asserts that the decoder does not produce spurious results; every polynomial it outputs corresponds to a message that could have been the original, given up to e errors in transmission.
Context
This theorem, along with its converse decoder_dist_impl_mem, forms the complete functional specification of the Guruswami-Sudan decoder. While decoder_dist_impl_mem establishes "completeness" (any polynomial that is close enough will be found), this theorem establishes "soundness" (any polynomial that is found is close enough).
The proof is not self-contained but relies on the underlying principles of the Guruswami-Sudan algorithm, which is implemented inside the opaque decoder. The algorithm works in two main stages:
- Interpolation: Construct a non-zero bivariate polynomial
Q(X,Y)that passes through all points(Οs i, f i)with high multiplicityr. The properties ofQare described in theGuruswamiSudan.Conditionstructure. - Root-finding: Find all factors of
Qof the formY - p(X)wherephas a degree less thank. The set of these polynomialspis the output of the decoder.
This theorem connects the algebraic property of p (being related to a factor of Q) to the combinatorial property of its codeword (being close to f).
Proof Suggestion
The proof should be based on the properties of the interpolation polynomial Q that is implicitly constructed by the decoder. Since the decoder is opaque, you must reason from the principles of the algorithm it represents.
- Start by introducing the bivariate polynomial
Qfrom the interpolation step of the Guruswami-Sudan algorithm. The hypothesish_inimplies thatpis in the decoder's output, which meansY - p(X)(formally(X : F[X][X]) - C p) must be a factor ofQ. - Let
Sbe the other factor, soQ = (Y - p(X)) * S. - Let
Ebe the set of indicesiwhere the received wordfdisagrees with the codeword fromp, i.e.,f i β (p.eval β Οs) i. The size of this set is|E| = Ξβ(f, p.eval β Οs). The goal is to show|E| β€ e. - Recall that
Qis constructed to have a root of multiplicity at leastrat each point(Οs i, f i). For anyi β E, we havef i - (p.eval β Οs) i β 0. - Use the multiplicity property of
Qat these error points. By applying the Leibniz rule (product rule for higher derivatives) to the derivatives ofQ = (Y - p(X)) * Swith respect toY, show thatSmust also have a root of multiplicity at leastrat(Οs i, f i)for eachi β E. - This gives you a polynomial
Swith many high-multiplicity roots. The next step is to find an upper bound on|E|. The weighted degree ofSis bounded by the weighted degree ofQ, which is at mostD. A lemma establishingBivariate.weightedDegree S 1 (k-1) β€ Dwould be useful here. - A fundamental result, often seen as a generalization of the Schwartz-Zippel lemma, states that a non-zero polynomial cannot have too many roots, even when counted with multiplicity. This principle can be used to bound
|E| * rin terms of the degrees ofS. - This bound will lead to an inequality that constrains
|E|. If you assume for contradiction that|E| > e, the number of constraints imposed onSby the high-multiplicity roots will exceed the number of its coefficients (determined by its weighted degree). This would forceSto be the zero polynomial, which in turn impliesQis zero, contradicting the first step of the Guruswami-Sudan algorithm. - Conclude that the assumption
|E| > emust be false, which proves the theorem.
Goal: Replace the sorry with a complete proof.
Code Snippet:
theorem decoder_mem_impl_dist
{k r D e : β}
(h_e : e β€ n - Real.sqrt (k * n))
{Οs : Fin n βͺ F}
{f : Fin n β F}
{p : F[X]}
(h_in : p β decoder k r D e Οs f)
:
Ξβ(f, p.eval β Οs) β€ e := by sorry