Proof:

- 1.
- SAT
NP

Replace each variable with 0 or 1 as specified by the certificate and evaluate (poly-time).

- 2.
- Select L' = CIRCUIT-SAT

- 3.
- Reduction from CIRCUIT-SAT to SAT.

Straight-forward technique of computing the formula of each gate output as a combination of the input formulae may cause exponential instantiations of a variable as outputs are copied to multiple inputs. Instead, let each gate output be a variable.

AND the output variable with expressions for each gate describing the equivalence between the gate's output and input variables.

**Example**

Circuit C

Formula

Constructing this formula takes polynomial time.