Implement GS decoder and prove soundness + completeness#436
Implement GS decoder and prove soundness + completeness#436MavenRain wants to merge 8 commits intoVerified-zkEVM:mainfrom
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
🤖 Gemini PR SummaryGuruswami-Sudan Implementation
Proof Completion
Infrastructure & Refactoring
Statistics
Lean Declarations ✏️ **Removed:** 3 declaration(s)
✏️ **Added:** 12 declaration(s)
✅ **Removed:** 3 `sorry`(s)
🎨 **Style Guide Adherence**The following violations of the style guide were identified:
📄 **Per-File Summaries**
Last updated: 2026-04-05 16:30 UTC. |
|
Thanks for the PR! Please note #311, could you consider rebasing on top of that branch/PR? |
|
Sure . . . if this doesn't get too hairy, I'll give it a go |
711b25c to
0daf959
Compare
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
Replace opaque decoder with noncomputable def using polySol roots filtered by Hamming distance. Prove soundness and completeness with zero sorry. Fix hypothesis from e ≤ n - √(kn) to (e : ℝ) < n - √((k+1)n) to match the GS rate parameter ρ = (k+1)/n. Add h_deg : p.natDegree < k to completeness. Closes Verified-zkEVM#213, Verified-zkEVM#233, Verified-zkEVM#222.
0daf959 to
7e829d3
Compare
… layout - Drop import of ArkLib.Data.CodingTheory.Basic (removed in Verified-zkEVM#432; submodules now pulled in via GuruswamiSudan.Basic). - Drop hQ_ne_0 arg at dvd_property call sites to match new signature. - Mark solveGsWitnessAtTarget, computeGsWitness, hasWitnessC, witnessCandidateSet, and computableDecoder as noncomputable since they transitively depend on BerlekampWelch.linsolve.
Prefix unused `r` and `D` parameters in `decoder` and unused `he` hypothesis in `dist_le_of_mem_decoder` with `_` to satisfy the ArkLib/Data non-sorry warning gate in CI.
Replace opaque decoder with noncomputable def using polySol roots filtered by Hamming distance. Prove soundness and completeness with zero sorry.
Fix hypothesis from e ≤ n - √(kn) to (e : ℝ) < n - √((k+1)n) to match the GS rate parameter ρ = (k+1)/n. Add h_deg : p.natDegree < k to completeness.
Closes #213, #233, #222.