Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Lecture 18

In-class notes: CS 505 Spring 2025 Lecture 18

Proofs from Last Lecture

Today, we’ll begin by proving two theorems from last lecture.

NP vs. P/poly

Theorem. If , then .

Proof. We show that if , then . It suffices to show that the -complete problem is in the class . Recall the definition of . For convenience, we will assume Boolean formulas have variables.

Under the assumption that , we know that . Now, this tells us that there exists a circuit family such that for any Boolean formula , if then if and only if ; moreover, .

Let be a formula on variables. Then, for any , we have that is a Boolean formula on variables. Here, we can see that if and only if there exists such that , if and only if .

By our assumption, if and only if for , if and only if for any . We will use this fact to construct a new circuit family to take as input and and output such that . In particular, for and , if and only if there exists such that . The circuit will use multiple copies of the circuit as a sub-circuit. Intuitively, will construct the formula . Let have variables . Now, will iteratively set and , use to test if or and iteratively build the satisfying assignment for . Clearly, since is polynomial, then is also .

Thus, for any , we have that if and only if such that , which we have shown happens if and only if such that for . Now, the definition of only tells us that the family , but not how to construct it! Here, we’ll rely on the fact that since for some polynomial , then we only need bits to write the description of .1

Therefore, we can now flip the quantifiers in the above formula as follows. We have that if and only if Here, is the bit-string which encodes the circuit , and . Clearly, the above formula encodes . Therefore, we have shown that if and only if , so , and thus the polynomial hierarchy collapses.

BPP vs. P/poly

Theorem. .

Proof. Let . Then, there exists a polynomial-time deterministic Turing machine such that for all and , we have . Here, for some . Equivalently, .

For any , we say that the string is bad for if . Otherwise, we say that is good for . For any , define .

By definition, for any , we have since . Now, if we take the union of all , we can upper bound its size via the Union Bound: Note that the set is the set of all such that is bad for every . So we have shown that . In particular, this implies that there must exist at least one string that is good for every . That is, .

Now, since runs in polynomial-time, say for inputs of length , we can implement via a circuit of size at most size for each input of length . Let be this circuit. In particular, will have the string hard-coded, and will compute . We complete this process for every , hard-coding each appropriate string . This implies that .

Circuit Lower Bounds

In principle, circuit lower bounds allow us to circumvent the diagonalization barriers to showing P vs NP. In particular, if , then since . Thus, if we could show that a single language must have a super-polynomial sized circuit family deciding it, we have shown the result. However, the best lower bound known for any states that is decidable by a circuit family of size at least . This lower bound is quite far from the unconditional lower bound due to Shannon.

Theorem. For all , there exists such that is not computable by any circuit of size .

Proof. First, the number of function is . Next, for any circuit , if , then we only need at most bits to represent as a binary string. This implies the number of circuits of size is at most . Setting , this implies that the number of circuits of size is at most since for large enough

Note that the above bound on the circuit size was improved in at least two subsequent works.

  • for all .
  • .

Non-Uniform Time Hierarchy

Just like with Turing machines, circuits have their own “time hierarchy” theorem.

Theorem. Let be two functions such that . Then,

Proof. Let be a function that is not computable by any circuit of size at most . Now, recall that any function can be implemented by a circuit of size .

Set and define the function as follows: . That is, simply throws away the last bits of its input and just computes .

We know that , where the last subset inclusion is due to the fact that . However, we know by definition that , where the last subset inclusion is again due to .

Parallel Complexity

Complexity theory also attempts to define what it means for a computation to have an efficient parallel program implementation. They do this via circuits and the class .

Definition. For all , the class is the set of all languages decidable by a circuit family such that

  1. , and
  2. , where is the length of the longest path from an input node to (any) output node. Moreover, Nick’s Class is defined as .

Note that the class is a special class since it is all constant-depth circuits. By our definition of circuits, we only have circuits with bounded fan-in . Therefore, all circuits in have outputs which can only depend on a constant number of the input bits. In particular, this implies that is a (logspace) uniform circuit class! Otherwise, we can define uniform NC as NC restricted to logspace uniform circuit families.

We can also remove the restriction of bounded fan-in and obtain the class AC.

Definition. For all , the class is identical to the class , except nodes in the circuits have unbounded (polynomial) fan-in. Then, .

Theorem. For all ,

  • .
  • .

Note that it is unknown if the first statement in the above theorem is strict.

Theorem. A language has an efficient parallel algorithm2 if and only if .

Parallel Complexity Major Open Questions

The major question with parallel complexity is . Complexity theorists generally believe that , but are currently unable to even separate form . The study of this question motivates P-completeness. A language is P-complete if and for all (i.e., closed under logspace reductions).

Theorem. If is a P-complete language, then

  1. if and only if .
  2. if and only if (recall that ).

The following is a natural P-complete language which could possibly resolve these open questions.

Polynomial Hierarchy via Exponential-size Circuits

We complete our study of Boolean circuits by giving yet another characterization of the polynomial hierarchy.

Definition. A circuit family is DC-uniform if there exists a polynomial-time Turing machine such that outputs the -th bit of the binary description of .

Note that a DC-uniform circuit family can have exponential-size circuits .

Theorem. A language if and only if is decidable by a DC-uniform circuit family with the following properties for all .

  1. only has AND, OR, and NOT gates.
  2. and .
  3. has unbounded (exponential) fan-in.
  4. Every NOT gate in is only at the input level.

Note that if we allow the circuits in the above theorem to have larger than constant depth, then we have characterized .


  1. To see this, consider the adjacency matrix view of the circuit .

  2. Aurora and Barak do not define what this term means.