Notes
Outline
Finite Model Theory
Lecture 6
Complexity of FO
Outline
Data Complexity
Query Complexity and Combined Complexity
Complexities
Data Complexity
the complexity of {A | A ² f} for fixed f
Query Complexity
the complexity of {f | A ² f} for fixed A
Combined complexity
the complexity of {(A, f) | A ² f}
Data Complexity
For every f, the complexity of {A | A ² f} is in PTIME
[Why ?]
However, it is much lower than PTIME (next)
Data Complexity
Theorem The data complexity of FO is uniform AC0
What is AC0 ?
What is uniform AC0 ?
We will review next, but most importantly:
uniform-AC0 µ LOGSPACE µ PTIME
AC0
Fix n ¸ 0. A boolean circuit with n inputs, C, is a rooted DAG with nodes labeled with labels from:

{Æ, Ç, :, x1, …, xn}
 size(C) = number of gates
 depth(C) = length of longest path
AC0
Definition A language L µ {0,1}* is in non-uniform AC0 if there exists d > 0, a polynomial p(n), and a family of circuits (Cn)n ¸ 0 s.t.:

    size(Cn) · p(n)
    depth(Cn) · d, and
FO and AC0
Let All be a vocabulary consisting of all relations on N
    All = P(N) [ P(N2) [ P(N3) [ …
In All we have names for <, +, /, …
Definition FO(All) = FO over vocabulary All
Interpretation: consider only ordered domains, assimilate with {0, 1, 2, …, n-1}. Each relation R on N is interpreted as its restriction to {0, 1, …, n-1}.
Note: we can express EVEN in FO(All) [why ?]
FO and AC0
Theorem FO(All) µ non-uniform AC0
Proof sketch in class (hint: it’s simple…)
PARITY
Let s = {U}  (a unary table)
The property PARITY is true on models A where |UA| is even
PARITY and EVEN are very related, but…
Parity
Theorem [Furst-Saxe-Sipser, Ajtai] PARITY is not expressible in non-uniform AC0
Corollary PARITY is not expressible in FO(All)
Comment: i.e. there is no formula in FO over vocabulary {U} [ All that checks if |U| is even.
Corollary Graph connectivity is not expressible in FO(All)        [why ?]
Discussion
EVEN is not expressible in FO
But EVEN is expressible in FO(<, +)
PARITY is not expressible in
FO(<, +, exp, …, any-relation-on-N, ….) !
Uniform AC0
Non-uniform AC0 can express non-computable properties !
Need to restrict the association n ! Cn to something easily computable
Complex definitions in complexity theory textbooks…
Better:  define uniform AC0 = FO(+, £)
Alternatively FO(+, £) = FO(<, BIT)
Combined Complexity
Theorem The combined complexity is in PSPACE
[proof: in classs]
Note: proof in book is wrong.
Combined Complexity
Query Complexity
Theorem There exists a structure A s.t. the query complexity {f | A ² f} is PSPACE complete
Query Complexity
Proof.  Recall the Satisfiability of Quantified Boolean Formulas problem (QBF): is a QB formula F true ?
Example:
F =  9 X1 8 X2 8 X3 (X1 Æ X2 Ç : X1 Æ X3)
     is it true ?
Note: boolean satisfiability (the NP-hard problem) is in QBF [why ?]
Query Complexity
Theorem [Stockmeyer] QBF is PSPACE complete
Return to our proof: reduction from QBF.
Given QBF formula F, let s = {U}, where U = unary
A = (A, UA), s.t. A = {0,1}, UA = {1}
Translate F (a QB formula) to f (an FO formula) s.t. F is true iff A ² f    [how ?]