Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Extractor.Condenser.Modulus.Binary

The sparse binary trinomial modulus #

The monic irreducible trinomial X^(2 * 3^s) + X^(3^s) + 1 defines a binary field of cardinality 2^(2 * 3^s). Its named quotient root is a noncube, so it can supply the next binomial modulus coefficient without an existence choice.

Irreducibility uses Mathlib's Polynomial.irreducible_comp, the four-element field generated by the base quadratic, and the Kummer theorem documented in Binomial. The root's noncube property follows from the irreducibility of the next trinomial and Mathlib's finite-module minimal-polynomial degree bound: https://leanprover-community.github.io/mathlib4_docs/Mathlib/FieldTheory/Minpoly/Finite.html. These are semantic algebraic facts. Binary.Codec supplies the fixed-width quotient representation, and Binary.Encoding connects a uniform modulus generator and modular-squaring program. Binary.Extension identifies the larger quotient used by the complete evaluator in Condenser.Encoding.Correctness.

Every binary trinomial in the family is monic.

The leading exponent gives the exact degree.

Composing the irreducible base quadratic with a power of three preserves irreducibility because its generator is a noncube in the four-element field.

The quotient has exactly as many elements as a binary vector of the modulus degree.

Substituting a cube passes to the next member of the same explicit family.

The named root is a noncube: a cube root would have a minimal polynomial of degree larger than the dimension of this quotient.