Logic: Lecture 8, 27 August 2015 -------------------------------- Substitution: Recall that phi(x1,...,xn) means FV(phi) subset of {x1,..,xn} phi(t1,...,tn) is the formula where each free xi is uniformly replaced by ti phi(t1,...,tn) = phi(x1,...,xn)[x1 |-> t1, ..., xn |-> tn] ti need not be closed --- be careful about free variables being "captured" by quantifiers: phi(x) = Ey ~(x = y) phi(y) = Ey ~(x = y)[x |-> y] = Ex ~(y = y) The meaning has changed: phi(y) is not satisfiable in any model; a free y is "captured" by Ey Instead, rename bound variable before substitution phi(x) = Ez ~(x = z) ---> phi(y) = Ez ~(y = z) Formalizing this idea of renaming and substitution correctly is tedious and error-prone. Exercise! Satisfiability of FOL: Henkin's reduction Aim is to show completeness for FOL. Can we reuse ideas from propositional logic? In propositional logic, we followed this sequence: 1. Completeness: |= phi implies |- phi 2. Compactness: X |= phi implies Y |= phi for some finite subset Y of X 3. Strong Completeness: X |= phi implies X |= phi We established that 2 and 3 were equally strong: from one we can prove the other. Also, clearly 3 implies 1: Take X = empty set to get completeness from strong completeness. For FOL, we start with compactness. Recall that compactness was proved using finite satisfiability, so we begin by looking at satifiability in FOL. Can we "translate" FOL to propositional logic? First attempt: assign each atomic formula of FOL a new proposition This exposes some basic facts, but not all r(t,t') and ~r(t,t') : clearly not satisfiable Ax r(x,t) and ~Ex r(x,t) : more tricky FOL syntax has quantifiers. Need to account for these in our translation to propositional logic. Prime formulas: atomic formulas + formulas of the form Ex phi For instance: t = t' r(x,y) Ex f(x) = t Assign each prime formula a new proposition Fact: Every FOL formula is a boolean combination of prime formulas Notation: For prime alpha, let p_alpha denote corresponding proposition For arbitrary formula phi, let prime(phi) denote translation of phi into propositional logic Propositional satisfiability: Assign {tt,ff} to prime formulas Prop: If I is an L-interpretation, exists v such that I |= phi iff v |= prime(phi) For each atomic formula alpha, set v(p_alpha) = tt iff I |= alpha Cor: If X is FO satisfiable, X is propositionally satisfiable Converse not true {c = d, d = e, ~(c = e)} {Ax (r(x) => s(x)), Ax r(x), Ex ~s(x)} Add [ (c = d and d = e) => (c = e) ] Add Ex phi(x) => phi(t), for some witness t ~ Ex phi(x) => ~phi(t) , arbitrary t I |= Ex phi(x) iff there is an a in S such that I[x |-> a] |= phi(x) What if we can't find a witness term t such that t maps to a? Then phi(t) does not hold for any t --- the element a has no "name" in our language. Need more terms! Witnessing expansion L = (R,F,C) L_0 = L, C_0 = emptyset C_1 = {c_phi | Ex phi in Formulas(L_0)} L_1 is (R,F,C U C_1) C_2 = {c_phi | Ex phi in Formulas(L_1)} ... Assume we have L_n = (R,F,C U C_1 U ... U C_n) C_n+1 = {c_phi | Ex phi in Formulas(L_n) - Formulas(L_n-1)} L_n+1 is (R,F,C U C_1 U ... U C_n U C_n+1) C_H = C_1 U ... U C_n ... L_H = (R,F,C U C_H) Henkin axiom: Ex phi(x) => phi(c_phi(x)) Quantifer axiom: phi(t) => Ex phi(x), t closed Equality axioms: reflexitivy, symmetry and transitivity for all terms functions: equal arguments given equal results relations: equal tuples have equal membership properties Phi_H : all instances of Henkin axioms Phi_Q : all instances of quantifier axioms Phi_Eq : all instances of equality axioms Phi_H and Phi_Q are sentences. Phi_Eq are not sentences but are true under all assignments. FO satisfiability Theorem: Let X be a set of formulas over L. The following are equivalent. 1. There is an L-interpretation I = (M,sigma) that satisfies X 2. There is an L_H-interpretation I' = (M',sigma') that satisfies x 3. X U Phi_H U Phi_Q U Phi_Eq is propositionally satisfiable