Equivalence between CMlPolynomial and multilinear polynomials in MvPolynomial #
This file establishes the mathematical foundations for CMlPolynomial by proving:
- Basis properties for the coefficient representation
- Change-of-basis matrices between different representations
- Equivalences with mathlib's
MvPolynomial.restrictDegree:equivMvPolynomialDeg1 - Arithmetic operation compatibilities
Equivalence with Mathlib MvPolynomial #
- Note: maybe we have to add more restrictions on
CMlPolynomial R nandCMlPolynomialEval R nso we can differentiate them?
Converts a natural number to a monomial with 0/1 exponents.
Uses little‑endian bit encoding: bit 0 is the least significant bit.
The exponent at variable j is Nat.getBit j i ∈ {0,1}.
Equations
Instances For
Converts an CMlPolynomial to a mathlib multivariate polynomial.
Sums over all indices i : Fin (2^n) with monomial exponents from monomialOfNat i
and coefficients p[i].
Equations
Instances For
Converts an CMlPolynomial to a mathlib restricted-degree multivariate polynomial.
Wraps toMvPolynomial with a proof that the result is multilinear (i.e. individual degrees ≤ 1).
Equations
Instances For
Converts a mathlib restricted-degree multivariate polynomial to an CMlPolynomial.
Extracts coefficients using monomialOfNat to map indices to monomials.
Equations
Instances For
Equivalence between CMlPolynomial and mathlib's restricted-degree multivariate polynomials.
Establishes that both representations are isomorphic via coefficient extraction/insertion.
Equations
Instances For
Linear equivalence between CMlPolynomial and MvPolynomial.restrictDegree