Notes
Outline
Finite Model Theory
Lecture 15
FOk Types
Computing Types
Recall: tpFOk(A, a) = the set of all FOk formulas that are true at (A, a)
First question: given a, b 2 Am, do they have the same type ?
Notation: a ¼FOk b
Intuition about ¼FOk
Let k be larger then all m’s below (e.g. k=10)
Which implies what ?

(a,b,c) ¼ (a’,b’,c’)     (a,c) ¼ (a’,c’)

(a,b) ¼ (a’,b’)          (a,a,b) ¼ (a’,a’,b’)
Conclusion: if m · k, we may take m = k
Computing Types
Theorem  There exists an IFP formula f(x, y) s.t. 8 a, b 2 Ak, a ¼ b iff A ² f(a, b)
Proof  Will compute the negation, a À b as an IFP formula  (should be not ¼)
Proof
Let a1(x), …, as(x) be all quantifier free types with k variables (i.e. in FOk[0])
 y0(x, y) = Çi ¹ j (ai(x) Æ aj(y))
 y(R, x, y) =
Proof
What does IFP(y)(x, y) say ?
The n’th unfolding says that the spoiler can win the pebble game after at most n moves, if starting at x, y
The IFP says that the spoiler wins if starting at x, y
Ordering the Types
An order on the FOk types of A is a total preorder a ¹ b s.t. a ¼ b iff a ¹ b and b ¹ a
There are many possible orders of types…
Theorem There exists an IFP formula f(x, y) that computes an order on types
Proof  [ in class ]
The Canonical Structure
Given A 2 STRUCT[s] and a formula f in some logic with iteration, we can compute f in two steps:
First, compute a “canonical” structure Ck(A) = A/¼k  over s’
 s’ = <, U, U1, …, Up, S1, …, Sk, P1, …, Pt
Where: < is order on types, Ui(a1, …, ak) iff Ri(a1, …, am) (for m · k); the others will be explained
Second, compute some modified formula f0 on Ck(A)
Canonical Structure
Let’s construct f0, and discover what we need in s’
 f:  xi = xj     f0: 9 y.(Pp(x,y) Æ U(y))
where p(1) = i, p(2) = j
 f: R(xi1, …, xim)   f0: 9 y.(Pp(x,y) Æ Ui(y))
 : f             : f0
 f1 Æ f2     f10 Æ f20
 9 xi f        9 y.(Si(x,y) Æ f0(y))
Abiteboul&Vianu’s Theorem
Theorem
PTIME=PSPACE ) IFP = PFP
Proof.  Supposes PTIME = PSPACE.  Consider a PFP formula f.  It can be expressed in two stages: first compute a canonical structure, using IFP, then compute f0 (still a PFP) on the canonical structure.  The latter is PSPACE problem, hence in PTIME, and, since it is ordered, f0 can be expressed as IFP.
The Paper
Extends this theorem to other forms of iterations and other complexity classes
Computing Types
Slightly harder question:
Given (A, a), derive a formula f(x) s.t. forall (B, b):

B ² f(b)    iff tpFOk(B,b) = tpFOk(A,a)
Theorem f can be expressed in FOk
Proof in the book
Structure of Lk1 w
Corollary Every formula in Lk1w is equivalent to:

Çi 2 N  fi

where f0, f1, … 2 FOk
Comments on loose Generic Machines in class