 
Summary: Com S 631: Lower bounds and Separation Results
Lecture 7 Scribe: Brian Patterson
Last time, we discussed how a formula can be treated as a directed binary tree with
variables or negated variables as the leaves. Given a circuit c, it has size size(c) and depth
depth(c). Given a formula F, it has size size(F) and depth depth(F). Given a function f,
csize(f) is the size of the smallest circuit that computes f and cdepth(f) is the depth of the
circuit with the lowest depth that computes f. Similarly define Fsize(f) and Fdepth(f) for
formulas.
A key difference between circuits and formulas is that a gate in a circuit can have multiple
outputs a gate in a formula can have only one output wire. The parity function illustrates the
difference between formulas and circuits. Consider the parity function f(x1, x2, . . . , xn) =
x1 x2 . . . xn. As a warmup, f(x1, x2) = (x1 ¯x2)( ¯x1 x2) is a formula for f with n = 2
attributes.
A general circuit Cn for the parity function is given in Figure 1. Cn/2 and Cn/2 represent
a circuit for the parity function over the first and last n
2
literals (respectively). This circuit
shows that the size(Cn) = 2size(Cn/2) + 5 so size(Cn) = O(n).
However, a similar binary tree for a formula would require more copies of Fn/2, where
Fn/2 is a formula tree for the parity function over the first and last n
