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