Conversation
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
🤖 Gemini PR SummaryThis PR advances the library's coding theory capabilities by formalizing the existence proof of the interpolation polynomial Features
Fixes
Refactoring
Documentation
Analysis of Changes
✅ **Removed:** 1 `sorry`(s)
✏️ **Affected:** 1 `sorry`(s) (line number changed)
🎨 **Style Guide Adherence**The following lines violate the provided style guide: ArkLib/Data/CodingTheory/GuruswamiSudan/Basic.lean
ArkLib/Data/Polynomial/Bivariate.lean
📄 **Per-File Summaries**
Last updated: 2026-02-14 10:06 UTC. |
|
Thanks for the PR!
|
|
I am working at moving relevant theory into For what concerns the second bullet point, in the last few days I was trying to prove the divisibility property of PR #300 and turns out that many forced constraints are not set in
I do believe that all this hypotheses have to be included at least in the main theorem as a sanity check for the decoding to be meaningful. In this way, the only |
|
Hello! Thanks for the PR and sorry for the delay in getting to this. I'll be merging the 4.26 PR soon, which might break a few things, and get back to all the other PRs including this one. |
|
/review External: Internal: Comments: |
🤖 AI Review (with external context)🤖 AI ReviewOverall Summary: 📄 **Review for `ArkLib.lean`**Verdict: Correct The change is a straightforward addition of an import statement to the top-level library file. Analysis:
No misformalization issues are present in this file. 📄 **Review for `ArkLib/Data/CodingTheory/GuruswamiSudan/Basic.lean`**Verdict: Incorrect Critical Issues:
Minor Issues:
Corrected Code Snippets: Update /-- Given a nonnegative integer `D`, it is the set of indices `(i,j)` such
that `i + k * j ≤ D`. -/
def weightBoundIndices (k D : ℕ) : Finset (ℕ × ℕ) :=
(range (D + 1)).product (range (D + 1)) |>.filter (fun x ↦ x.1 + k * x.2 ≤ D)You will need to update 📄 **Review for `ArkLib/Data/CodingTheory/GuruswamiSudan/GuruswamiSudan.lean`**The formalization in There are critical logic errors and missing hypotheses in the definitions and theorem statements. Critical Issues:
Corrected Code Snippets: For structure Conditions (D : ℕ) (ωs : Fin n ↪ F) (f : Fin n → F) (Q : F[X][Y]) where
-- ...
/-- (1, k)-weighted degree of the polynomial is bounded. -/
Q_deg : weightedDegree Q 1 k ≤ D -- Changed k-1 to k
-- ...For lemma guruswami_sudan_for_proximity_gap_property {k m : ℕ} {ωs : Fin n ↪ F}
{f : Fin n → F}
{Q : F[X][X]}
{p : code ωs (k + 1)} -- Enforce correct dimension/degree
(h_Q : Conditions k m (proximity_gap_degree_bound k n m) ωs f Q) -- Require Q to satisfy conditions
(h_dist : Δ₀(f, (codewordToPoly p).eval ∘ ωs) ≤ proximity_gap_johnson (n := n) k m) -- Correct composition
:
((X : F[X][X]) - C (codewordToPoly p)) ∣ Q := by sorry📄 **Review for `ArkLib/Data/CodingTheory/ProximityGap/BCIKS20.lean`**Analysis: The diff provided for
Conclusion: The changes represent a consistent renaming to match a likely update in the definition of the Verdict: The formalization in this file is correct. 📄 **Review for `ArkLib/Data/Polynomial/Bivariate.lean`**File: Verdict: Correct Analysis:
Conclusion: |
|
Hi @quangvdao, sure I will fix after the bump! |
|
@ster-oc in that case can you close this one? |
This PR proves the existence of a polynomial
Qfulfilling the properties of Guruswami-Sudan deconding algorithm.I believe that, as the
Conditionsstructure is written,guruswami_sudan_for_proximity_gap_existenceshould assumem ≠ 0and the casem = 0should be treated differently withQ = 1being the natural candidate.The code is long but in the next few days I will work to golf it!
In a following PR, with the help of @Aristotle-Harmonic, I will also prove
guruswami_sudan_for_proximity_gap_property.Closes : #221