Low-degree functions on the Boolean cube #
Reading the bits of x : ι → Bool as 0 and 1 in a commutative ring R (BitString.bitVal),
the monomial of a set S of coordinates is the function x ↦ ∏_{i ∈ S} x i
(BitString.monomial), and the functions of degree at most D are the R-linear combinations of
monomials of at most D coordinates (BitString.lowDegree). This is the degree of the multilinear
polynomial representing a function on the cube, without formal polynomials: on bits every monomial
is idempotent, so products of monomials are monomials (BitString.monomial_mul) and degrees add
under multiplication (BitString.mul_mem_lowDegree). Evaluated at the bits read in R, Mathlib's
polynomials of total degree at most D give exactly the functions of degree at most D
(BitString.lowDegree_eq_map_restrictTotalDegree). Every function has degree at most the number
of coordinates (BitString.mem_lowDegree_self), and the functions of degree at most D span a
space of dimension at most the number of sets of at most D coordinates
(BitString.finrank_lowDegree_le), which is at most (n + 1) ^ D for n coordinates
(BitString.card_filter_card_le_le_pow).
These are the polynomials of Razborov's and Smolensky's approximation method [Raz87], [Smo87].
Main definitions #
Main results #
Cslib.BitString.mul_mem_lowDegree: degrees add under multiplication.Cslib.BitString.lowDegree_eq_map_restrictTotalDegree: the functions of degree at mostDare the evaluations at bits of the polynomials of total degree at mostD.Cslib.BitString.mem_lowDegree_self: every function has degree at most the number of coordinates.Cslib.BitString.finrank_lowDegree_le: the dimension of the functions of degree at mostD.Cslib.BitString.card_filter_card_le_le_pow: there are at most(n + 1) ^ Dsets of at mostDofncoordinates.
References #
Low degree as total degree. The functions of degree at most D are the evaluations at the
bits, read in R, of the multivariate polynomials of total degree at most D: a monomial x^d
evaluates to the monomial of the support of d, every bit being idempotent.
Every function on the cube has degree at most the number of coordinates: it is the sum,
over the points a, of its value at a times the indicator of a, a product of one function of
degree one per coordinate.
The dimension of the functions of degree at most D is at most the number of sets of at
most D coordinates.