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. ======================================================================