-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededphase 1 - theoryPhase 1 of the roadmap, focusing on theory completenessPhase 1 of the roadmap, focusing on theory completeness
Description
Improve Lagrange.nodal and Lagrange.interpolate: use CPolynomial R and add correctness proofs
Summary
The file CompPoly/Univariate/Lagrange.lean defines nodal and interpolate for Lagrange interpolation over roots-of-unity evaluation domains. Currently these definitions return CPolynomial.Raw R and lack proofs of correctness. We would like help with:
-
Defining
nodalandinterpolatein terms ofCPolynomial Rinstead ofCPolynomial.Raw RCPolynomial Ris the canonical (trimmed) type:{ p : Raw R // p.trim = p }, providing unique representation- Operations on
CPolynomial Rensure results are canonical (e.g.add,mulreturn canonical polynomials) - The current
Raw-based definitions may produce polynomials with trailing zeros; wrapping inCPolynomialwould give the intended API
-
Providing proofs of correctness
- nodal: Prove that
nodal n ωis the unique monic polynomial of degreenthat vanishes atω⁰, ω¹, …, ωⁿ⁻¹(whenωis a primitiven-th root of unity) - interpolate: Prove that
interpolate n ω ris the unique polynomial of degree at mostn-1such thateval (ωⁱ) p = r[i]fori = 0, 1, …, n-1
- nodal: Prove that
Context
- Part of Phase 1: Foundation Completion (ROADMAP.md line 30): "Implement
nodalandinterpolatefor Lagrange interpolation" CPolynomial Ris defined inBasic.lean; it hasringEquivto Mathlib'sPolynomial RinToPoly.lean- Lagrange interpolation is important for ZK verification (e.g. low-degree testing, polynomial commitments)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededphase 1 - theoryPhase 1 of the roadmap, focusing on theory completenessPhase 1 of the roadmap, focusing on theory completeness