feat(bivariate): approximant-basis and hybrid GS interpolation - #291
feat(bivariate): approximant-basis and hybrid GS interpolation#291dhsorens wants to merge 2 commits into
Conversation
Build Timing Report
Incremental Rebuild Signal
Slowest Current Build Files (warm library build)Showing 20 slowest current targets from the warm library build log, with comparison against the baseline clean build log when available.
|
🤖 PR SummaryThis pull request adds a new approximant-basis backend for Guruswami-Sudan interpolation and a hybrid algorithm that uses it, along with extensive supporting formalization for polynomial matrix operations. Statistics
Lean Declarations ✏️ Removed: 3 declaration(s)
✏️ Added: 748 declaration(s)
…and 598 more not listed. ✏️ Affected: 1 declaration(s) (line number changed)
Coverage Notes
📄 **Per-File Summaries**
Key definitions and theorems introduced:
The file contains no
No
Last updated: 2026-08-10 19:48 UTC. |
Re-land olympichek's approximant-basis and hybrid Guruswami-Sudan interpolation backends from #255 onto the roots re-land stack (#290). - PolynomialMatrix.Approximant: PM-Basis, modular key equations, partial linearization, with soundness/completeness - GS ApproximantBasis + Hybrid (budgeted Lee fallback) as GSInterpContext - WitnessDivisibility quasi-linear multiplicity check - Named KoalaBear contexts in Implementations; matrix ops/Strassen helpers - Module-system port; shortened ApproximantBasis leaf paths for lint - Docs/ROADMAP: four interpolation backends documented Co-authored-by: Derek Sorensen <d@dhsorens.com>
The approximant/hybrid stack elaborated 70 declarations with overlapping instance parameters. `main` and #290 are warning-free, so this was a regression against a clean baseline and against docs/wiki/typeclass-minimization.md. Two distinct causes: - 63x `[Field F]` with a redundant `[Nontrivial F]`, from eight `variable` lines carrying both. Removed the redundant binder and the matching entries in the dependent `omit ... in` lines. - 7x `[Field F]` with a redundant `[Zero F]`, on declarations sitting inside a `variable ... [Field F]` scope. This is the harmful case: Lean reports the two can infer conflicting `Zero F`, an instance diamond. Removed `[Zero F]` from the six `ModularEquation` accessors and from `pmBasisFuel`. The `[Zero F]` on the `ModularEquation` and `AdaptiveSolveState` structures is kept: those rebind `F` themselves, do not overlap, and are correct typeclass minimization. No signature is weakened. Every affected declaration already carried `[Field F]` through the enclosing `variable`, so the removed binders were duplicates rather than assumptions. Verified: lake build (0 warnings, 0 errors), lake test, lint-style, update-lib/check-imports, check-docs-integrity.
b451fac to
d07299b
Compare
Summary
Stacked re-land of olympichek’s (Valerii Huhnin) #255 work on top of #290 (Shoup / Las Vegas roots).
Adds two Guruswami-Sudan interpolation backends plus matrix infrastructure:
Stack
Merge #290 first, then this PR (or restack onto
mainafter #290 merges).Attribution
Authors:headers.Supersedes
Closes #255
Idiom notes
update-lib.sh.GSInterpContext/Implementationspattern.overlappingInstanceslinter warnings remain on ported[Field F] [Zero F]pairs — follow-up cleanup without changing contracts.Test plan
lake build(approximant stack + Implementations)