Tutorial For First Order Predicate Logic I - Lecture6
Tutorial For First Order Predicate Logic I - Lecture6
Let predicate fool(X,Y) means that X can fool Y, and suppose that the universe of discourse is the set of all people in the world.
Express the following English sentences in First-order Predicate Logic 1) Everybody can fool Sompong. 2) Samak can fool everybody. 3) Everybody can fool somebody. 4) There is no one who can fool everybody. 5) Everyone can be fooled by somebody. 6) No one can fool both Taksin and Chuan. 7) Chaovalit can fool exactly two people. 8) There is exactly one person whom everybody can fool. 9) No one can fool himself or herself.
Solutions 1) X fool(X, sompong). 2) X fool(samak, X). 3) X Y fool(X,Y). 4) XY fool(X,Y). 5) X Y fool(Y, X). 6) X ( fool(X, taksin) fool(X, chuan) ) 7) X,Y [ fool(chaovalit, X) fool(chaovalit, Y) X Y Z ( fool(chaovalit, Z) ( Z = X Z = Y ) ) 8) X (Y1 fool(Y1, X) ) Z Y2 ( fool(Y2, Z) Z = X ) 9) X fool(X,X) ]
FOL Logical Consequences Examples Suppose that The set of constant symbols = { a, b, c }, The set of function symbols = { f, g }. The set of variable symbols = {X, Y}.
(Universal Instantiation)
Why? Consider interpretation I = ( {0, 1, 2}, {P}, {F, G, 0, 1, 2}) where P, F, G is assigned to p, f and g, respectively. Elements 0, 1 and 2 in the domain are assigned to a, b and c, resp. Suppose that F(0) = 0, F(1) = 1 and F(2) = 2, and similarly for G.
Thus, P(0), P(1), P(2), P(F(0)), P(F(1)), P(F(2)), P(G(0)), hold in I. So, X p(X) |= p(a) p(b) p(c) p(f(a)) p(f(b)) p(f(c)) p(g(a))
This is because any environment must map X and Y to some elements in {0,1,2}. The following is not correct.
XY p(X,Y) |= Y p(Y,Y)
Variable X is replaced by variable Y which already occurs under the scope of a quantifier.
Definition Given that A is a well-formed formula and t is a term. Term t is free for variable X in A if no free occurrence of X falls within the scope of Y or
Y where Y occurs in t.
Example a) Y is not free for X in Y p(X,Y). b) Z is free for X in Y p(X,Y).
X P(X) |= P(t)
p(c) |= X p(X)
where p is a predicate. 3
Consider the following: D = { john , marry } study (john, english) study (marry, programming) Clearly, x ( study(x, english) study(x, programming) ) is true, but (x study(x, english) ) ( x study(x, programming) ) is not true
Consider the following: D = { john , marry } study ( john, english) study ( marry, programming) Clearly, ( x study(x, english) ) ( x study(x, programming) ) is true, but x ( study(x, english) study(x, programming) ) is not true d) x ( study(x, english) study(x, programming) )
(x study(x, english) ) (x study(x, programming) )
e) xy p(x,y) yx p(x,y)
xy study(x,y) yx study(x,y)
Subject = { english, programming, math } Students = { john, marry, tom } study (john, english) study (john, programming) study (john, math) Cleary, xy study(x,y) is true , so inyx study(x,y) is true
Example Satisfiability a) x p(x) b) x p(x) c) x p(x) y p(y) d) x,y ( p(x,y) p(x,y) ) e) xy ( p(x) p(y) ) Solution a, b, d is satisfiable c is not satisfiable e is satisfiable because the formula is equivalent to
( (x p(x) ) (y p(y)) )
Consider the following: D = { a, b } P(a) holds but P(b) do not where P is assigned to p
Logical Consequence
x p(x) |= x p(x)
5