Lean, informalized

Nielsen & Chuang · Chapter 6, Quantum search algorithms · p. 273

Exercise 6.19 - The polynomial 1−∏i(1−Xi)1 - \prod_i (1 - X_i) takes the value of OR at every point of {0,1}N\{0,1\}^N

A polynomial that equals OR on every string of bits.

Hover over a blue or green term in the text, or a node in the graph, to find it in the other. Select it to read its declaration both in Lean and in words.

The Exercise

Take NN bits X0,…,XN−1X_0, \dots, X_{N-1}, each equal to 00 or 11, and write X=(X0,…,XN−1)X = (X_0, \dots, X_{N-1}) for the string they form, a point of {0,1}N\{0,1\}^N. A Boolean function FF of NN bits assigns to each string XX a value F(X)F(X), again 00 or 11. The exercise gives one polynomial in NN variables and asks to show that, evaluated at any string of bits, it returns the logical disjunction (OR) of those bits, the value 11 if at least one bit is 11 and 00 otherwise.

A Polynomial and a Boolean Function

The OR function of NN bits is the Boolean function OR(X)=X0∨X1∨⋯∨XN−1.\mathrm{OR}(X) = X_0 \vee X_1 \vee \cdots \vee X_{N-1}.(1)✦

The OR polynomial PP is the polynomial in the variables X0,…,XN−1X_0, \dots, X_{N-1}, with coefficients in a commutative ring RR, given by P(X)=1−∏i=0N−1(1−Xi).P(X) = 1 - \prod_{i=0}^{N-1} (1 - X_i).(2)✦

A polynomial pp in X0,…,XN−1X_0, \dots, X_{N-1} with coefficients in RR represents a Boolean function FF of NN bits if its value at every string of bits equals the value of FF there, the bits and the values 00 and 11 being read as the zero and the unit of RR: p(X)=F(X)for every X∈{0,1}N.p(X) = F(X) \qquad \text{for every } X \in \{0,1\}^N.(3)✦

The Claim

Theorem 1. For any number NN of bits and any commutative ring RR of coefficients, the OR polynomial PP of (2) represents the OR function of (1): P(X)=OR(X)for every X∈{0,1}N.P(X) = \mathrm{OR}(X) \qquad \text{for every } X \in \{0,1\}^N.(4)✦

What Is Checked

The claim is stated over the OR polynomial (2), the OR function (1), and the relation (3) by which a polynomial represents a Boolean function.