Logic: Lecture 17, 08 October 2015
----------------------------------
Proof of Fraisse's theorem [Libkin Section 3.5, Logic notes
Section 4.10]
Let (A,(a1,...,am)) and (B,(b1,...,bm)) where (a1,...,am) is an
m-tuple over A and (b1,...,bm) is an m-tuple over B.
Define (A,(a1,...,am)) ~k (B,(b1,...,bm)) via "back and forth"
property.
- (A,(a1,...,am)) ~0 (B,(b1,...,bm)) if they are partially
isomorphic
- (A,(a1,...,am)) ~k+1 (B,(b1,...,bm)) if
- for every a' in A, there is b' in B such that
(A,(a1,...,am,a')) ~k (B,(b1,...,bm,b'))
- for every b' in B, there is a' in A such that
(A,(a1,...,am,a')) ~k (B,(b1,...,bm,b'))
Theorem (slightly modified version of Libkin, Theorem 3.18)
Let (A,(a1,...,am)) and (B,(b1,...,bm)) be two structures in a
relational vocabulary L. Then the following are equivalent:
1. (A,(a1,...,am)) and (B,(b1,...,bm)) agree on FO[k].
2. (A,(a1,...,am)) ~k (B,(b1,...,bm))
3. Duplicator has a winning strategy on k-round game starting
with configuration (A,(a1,...,am)) (B,(b1,...,bm))
(2<=>3) is Ehrenfeucht's theorem. Informally, the winning
strategy fulfils the back and forth condition in the definition
of ~k.
(1<=>2)
By induction on k.
k = 0: Easy to see that <=> holds
k > 0:
(=>) Assume (A,(a1,...,am)) is not ~k (B,(b1,...,bm)).
There is an a' such that for every choice of b'
(A,(a1,...,am,a')) is not ~k-1 (B,(b1,...,bm,b')).
Thus (A,(a1,...,am,a')) and (B,(b1,...,bm,b')) disagree on
FO[k-1], by induction hypothesis.
Thus (A,(a1,...,am,a')) has different rank-(k-1) (m+1)-type
from every (B,(b1,...,bm,b')).
There are only finitely many different rank-(k-1)
(m+1)-types, each with a characteristic formula alpha_t.
Let alpha_t1, alpha_t2, ..., alpha_tN be the type formulas
corresponding to the different value of b'.
Write Alpha(z1,...,xm,y) = ~alpha_t1(x1,...,xm,y) and
~alpha_t2(x1,...,xm,y) and .. and ~alpha_tN(x1,...,xm,y).
Consider the formula Exists y. Alpha(z1,...,xm,y)
Clearly (A,(a1,...,am)) satisfies this (set y to be a')
However, for any choice b', setting y to b' fails one of the
alpha_t formulas.
(<=) Similar.
----------------------------------------------------------------------
Examples
Recall example for linear orders:
Let (A,<), (B,<) be linear orders such that |A|, |B| are both
at least 2^m. Then A and B are m-equivalent wrt Ehrenfeucht
games.
Evenness is not definable over linear orders [Libkin, Corollary
3.12]
For the previous result, choose A of size 2^m and B of size
(2^m)+1. A is even, B is odd but they cannot be distinguished
by FO[m]
Connectedness is not definable over finite graphs [Libkin,
Corollary 3.19]
Define an edge relation on a linear order that skips one
element. Connect second last element to first element and last
element to second element.
- This edge relation is expressible in FO logic.
- This edge relation creates a single connected component if
the linear order is of odd size, and a two separate
components if the linear order is of even size.
- If we could express connectivity, we could also capture
evenness.
======================================================================