Work over the finite field . Reduce polynomials modulo , so their monomials are square-free. The binary Reed-Muller code consists of the evaluation vectors of polynomials of degree at most at all points of , in a fixed order. This is a linear code of length and dimension , for . Square-free monomials give independent evaluation functions, as follows inductively by splitting according to the last variable.
The minimum Hamming distance of a linear code equals its least nonzero Hamming weight. The result is
Here is the repetition code, while is the full binary vector space and has distance one. For the induction step, write , where and . Its evaluation vector is , the Reed-Muller bar-product recursion. If , its nonzero Hamming weight is at least , with the full-space endpoint treated as above. If , every position where contributes exactly one to the sum of the two weights; hence the weight is at least . The monomial is one exactly on points, attaining the bound. Degrees greater than give the same full code; the zero code at negative degree has no nonzero word whose weight could define a finite minimum.
For length- binary linear codes , their bar product of binary linear codes is
The map is injective and linear, so
If is the minimum distance of , then
For this is at least ; for a nonzero word has weight at least . Words and attain these bounds, proving
A parity-check matrix for a code is a matrix satisfying . A pair belongs to exactly when
Thus a parity-check matrix is
This is the parity-check matrix of a bar product.
The Reed-Muller code is the length- binary code obtained by evaluating every square-free polynomial in Boolean variables of degree at most on all points of . Equivalently,
The square-free monomials form a basis, so
A word in evaluates an affine function . The two constant functions have weights and . Every nonconstant affine function takes each value equally often, so all other codewords have weight .
A monomial of degree has weight . Hence every generator, and therefore every codeword, has even weight when . For , the monomial has weight one. All words have even weight exactly for .
The Reed-Muller code is spanned by the evaluation vectors of the square-free monomials
form a basis: every Boolean function has a unique algebraic normal form, so the monomials remain independent after evaluation on . Thus
Induction using the decomposition , with and , gives the lower bound for every nonzero weight. The monomial attains it, so the minimum distance is