Documentation

CompPoly.LinearAlgebra.PolynomialMatrix.MuldersStorjohannCorrectness.Fast

Fast Mulders-Storjohann Reduction Agrees With the Direct Definition #

The fast reducer caches shifted leading positions once per conflict scan and cancels leading terms through the fused rowSubScaledShift update. This file proves it extensionally equal to muldersStorjohannReduce, so every correctness result transfers, and packages it as a certified ShiftedRowReducerContext.

Row-level cancellation #

theorem CompPoly.PolynomialMatrix.rowGet_rowSubScaledShift {F : Type u_1} [Field F] [BEq F] [LawfulBEq F] [DecidableEq F] (a : PolynomialRow F) (c : F) (d : ) (b : PolynomialRow F) (j : ) :
theorem CompPoly.PolynomialMatrix.cancelShiftedLeadingTermFast_eq {F : Type u_1} [Field F] [BEq F] [LawfulBEq F] [DecidableEq F] (target reducer : PolynomialRow F) (shift : Array ) :
cancelShiftedLeadingTermFast target reducer shift = cancelShiftedLeadingTerm target reducer shift

Cached conflict scan #

Step, loop, and reducer #

Certified context #

Certified fast Mulders-Storjohann shifted row-reducer context. The implementation caches leading positions per scan and uses fused row cancellation; correctness transfers along muldersStorjohannReduceFast_eq.

Instances For