Monadic Predicate Logic is Decidable

Monadic Predicate Logic is Decidable Boolos et al, Computability and Logic (textbook, 4th Ed.) Nota>on These slides use A instead of ∀
E instead of ∃
& instead of ∧
- instead of ¬ We say “sentence” instead of “formula with no free variables” Monadic First-­‐Order Predicate Logic (FOPL) •  The fragment of Predicate logic that uses no predicates with more than 1 argument •  In: Ex F(x) & Ey -­‐F(y) AxEy -­‐(x=y) (equality statements permiTed!) G(a) v G(b) , etc. •  Out: AxEy (R(x,y)) R(a,b,b) v Ex F(x) (because they use a dyadic/triadic/etc predicates) Some reasoning tasks •  For given sentences ϕ and ψ, does ψ follow from ϕ? (“Does ϕ have ψ as a logical consequence?”) –  More precisely: Is it true that for all models M, if M |= ϕ then M |= ψ? •  For given a sentence ϕ, is ϕ sa>sfiable? We mean: –  Is there a model that M such that M|= ϕ? –  E.g., ExF(x) & Ex-­‐F(x) is sa>sfiable •  Analogous for formulas with free variables 1.  FOPL sa>sfiability is undecidable (Church 1936) 2.  Monadic FOPL sa>sfiability is decidable –  Both these results are analogous for logical consequence –  We simply say “Monadic FOPL is decidable” •  This lecture: sketching a proof for 2 (some parts omiTed) Key theorem (Lőwenheim-­‐Skolem 1915) •  If S is a monadic sentence that has a model, then S is true in some model whose domain consist of at most 2k.r members, where k is the number of predicate leTers in S and r the number of variables in S. •  Part 1, proof: The Key Theorem •  Part 2, proof: It follows that monadic FOPL is decidable Proof of Part 1 (Key Theorem) •  Let S be a sentence of monadic FOPL. Its predicates are P1,..,Pk •  Let S contain A, v, -­‐ as its only quan>fiers/
connec>ves. •  Let M |= S, and let D be the domain of M –  M may be infinite •  Let the signature of d in D (henceforth sig(d)) be the sequence <j1,..,jk> where ji=1 if M specifies that Pi is true of d and ji=0 otherwise –  sig(d) tell us what each predicate in S makes of d –  given S, there are only 2k different signatures •  We call d and d’ similar if sig(d)=sig(d’) –  d and d’ happen to share all their proper>es P1,..,Pk •  “similar” is an equivalence rela>on •  Each d in D belongs to an equivalence class of similar domain elements –  Each class is a subset of D –  there are at most 2k equivalence classes Towards a smaller model M’ •  Construct a subset E⊆D as follows: •  Choose r elements from each equivalence class –  If a class has fewer than r elements then choose them all •  E cannot have more than 2k.r elements (r for each equivalence class) •  Define: M’ is the restric>on of M to E –  just like M, but defined for elements of E only •  To be proven: M’|= S A useful concept: match •  Informally: Two sequences of elements of E that are of the same length match if their elements are similar and differences within each sequence are “respected” in the other: •  Formally: c1,..,cn matches d1,..,dn iff 1.  ci is similar to di (for every 1<= i <= n) 2.  ci = cj iff di = dj (for every i <= i,j <= n) Example Compare two sequences of domain objects: c1,..,cn = a,b,a d1,..,dn= a,b,c If a and c are similar then clause 1 is fulfilled, but clause 2 is not (because c1=c3 but d1<>d3) Reason behind clause 2: equality statements in FOPL (e.g. in the sentence AxEy -­‐(x=y)) Another useful concept •  A formula ϕ containing variables x1,..,xn is sa:sfied by objects d1,..dn in a model M iff M|= ϕ (x1:=d1,..,xn:=dn) •  (A simple extension of the idea of sa>sfiability) Lemma Let •  G(x1,..,xn) be any subformula of S, containing at most the variables x1,..,xn •  d1,..,dn be a sequence of elements of D, •  e1,..,en be a sequence of elements of E •  Sequence d1,..,dn matches sequence e1,..,en Then G(x1,..,xn) is sa>sfied by d1,..,dn in M iff G(x1,..,xn) is sa>sfied by e1,..,en in M’ Why does this lemma hold? (informally) •  As far as the predicates occurring in S are concerned, each element di is just like ei –  Clause 1 of “match” •  The only other thing that can maTer (because of equality statements!) is whether two elements in a given sequence are iden>cal –  Clause 2 of “match” Sketch of a formal proof (by formula induc>on) •  Base Cases: G is atomic. G is of the form Pi(t) or of the form t1=t2. 1. Let G=Pi(t). We need to prove Pi(t) is sa>sfied by d1 in M iff Pi(t) is sa>sfied by e1 in M’ But d1 and e1 are similar, hence the same predicates hold true of d1 and e1 (including the predicate Pi). This proves the first Base Case. Sketch of proof by formula induc>on •  Base Cases: G is atomic. G is of the form Pi(t) or of the form t1=t2. 2. Let G=t1=t2. We need to prove Pi(t1=t2) is sa>sfied by d1, d2 in M iff Pi(t1=t2) is sa>sfied by e1, e2 in M’ But the sequences d1 d2 and e1 e2 match, hence d1= d2 iff e1=e2. This proves the second Base Case. Sketch of proof by formula induc>on Induc:ves Cases: (proofs omiTed) (1) Assume the Lemma holds for ϕ. Prove that it holds for -φ
(2) Assume the Lemma holds for φ and ψ. Prove
that it holds for φ v ψ
(3) Assume the Lemma holds for φ. Prove that it
holds for ∀
•  S is itself a subformula of S, hence it follows directly (with n=0) from the Lemma that S is true in M iff S is true in M’ (Recall: M may be infinite, but M’ is finite, with at most 2k.r elements) Proof of Part 2 •  Let S be a FOPL sentence •  Associate with S a quan>fier-­‐free formula S’ such that S’ is sa:sfiable iff S is. (Next page) If we manage to do this then we deduce: •  The sa>sfiability of S can be decided using truth tables (since these suffice for deciding the sa>sfiability of S’) •  Hence the sa>sfiability of S can be decided Proof of Part 2 Associate with S a quan>fier-­‐free formula S’ which is sa>sfiable iff S is. As follows: Induc>vely associate a quan>fier-­‐free H’ with each subformula H of S, as follows: •  If H is atomic: H’=H •  If H is a truth func>onal compound: H’=H •  If H=ExF: H’=F(a1)v..vF(am) m=2k.r •  If H=AxF: H’=F(a1)&..&F(am) m=2k.r S is a subformula of S, so we construct quan>fier-­‐free S’ as well S’ is sa>sfiable iff S is sa>sfiable Example Consider S = ExF(x) & ExG(x) & -­‐(Ex(F(x)&G(x))) Here k=2, r=3, so 2k.r=12 The following formula is constructed: F(a1) v .. v F(a12) & G(a1) v .. v G(a12) & -­‐ ((F(a1)&G(a1)) v..v (F(a12)&G(a12))) Example F(a1) v .. v F(a12) & G(a1) v .. v G(a12) & -­‐ ((F(a1)&G(a1)) v..v (F(a12)&G(a12))) Proposi>onal formula with 24 atoms Each can be True or False => truth table has 224 rows. Try to find a row that is True. Example: F(a1),F(a2),..F(a12), G(a1),G(a2),G(a3),..G(a12) T F F F T F F Concluding •  The proof suggests an algorithm for deciding whether a formula is sa>sfiable –  Not sa>sfiable è no row of the truth table is True –  Also applicable to logical consequence –  Implementa>ons exist •  Exponen>al in complexity (though a somewhat faster method may exist) •  Decidability proofs ooen tell us something about the worst-­‐case run:me of a program Other FOPL fragments •  For every n, it is decidable whether a given formula of FOPL has a model of size m<=n –  Not proven here •  However, dyadic FOPL is undecidable –  If >me permits, we prove this later –  For now, just one observa>on Observe: •  Key Theorem does not hold for dyadic FOPL •  Example: the following sentence does not have a finite model Ex(x=x) & AxEy(x<y) & Axyz((x<y&y<z) à x<z) & Ax-­‐(x<x) Why not?