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) = y0(x,y) Ç ((Çi=1,k 9 xi 8 yi R(x, y)) Æ (Çi=1,k 9 yi 8 xi 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