Boolean Circuits · Maximum Complexity

Lesson 5

Nikolai Chukhin · Alexander S. Kulikov

To prove the theorem, we will need two auxiliary lemmas.

Lemma. All functions from \(B_{k}\) can be computed by a circuit of size at most \(O(|B_{k}|)=O(2^{2^k})\).

Proof. We will prove this by induction on \(k\). First, we compute all functions of \((k-1)\) variables. After that, we can compute any function of \(k\) variables using two additional gates: \[f(x_{1}, \dotsc, x_{k})=x_{k} \land g(x_{1}, \dotsc, x_{k-1}) \oplus h(x_{1}, \dotsc, x_{k-1}) \ .\] In total, we will use \(c2^{2^{k-1}}+2 \cdot 2^{2^k}\). Clearly, we can choose a constant \(c\) so that this is no more than \(c2^{2^k}\).