18 Propositional Logic First Order Logic 27-02-2024
18 Propositional Logic First Order Logic 27-02-2024
1
First-order logic
• First-order logic (FOL) models the world in terms of
• Objects, which are things with individual identities
• Properties of objects that distinguish them from other objects
• Relations that hold among sets of objects
• Functions, which are a subset of relations where there is only one “value”
for any given “input”
• Examples:
• Objects: Students, lectures, companies, cars ...
• Relations: Brother-of, bigger-than, outside, part-of, has-color, occurs-after,
owns, visits, precedes, ...
• Properties: blue, oval, even, large, ...
• Functions: father-of, best-friend, second-half, one-more-than ...
2
User provides
• Constant symbols, which represent individuals in the world
• Mary
•3
• Green
• Function symbols, which map individuals to individuals
• father-of(Mary) = John
• color-of(Sky) = Blue
• Predicate symbols, which map individuals to truth values
• greater(5,3)
• green(Grass)
• color(Grass, Green)
3
FOL Provides
• Variable symbols
• E.g., x, y, foo
• Connectives
• Same as in PL: not (), and (), or (), implies (), if and only if
(biconditional )
• Quantifiers
• Universal x or (Ax)
• Existential x or (Ex)
4
Sentences are built from terms and atoms
6
Quantifiers
• Universal quantifiers are often used with “implies” to form “rules”:
(x) student(x) smart(x) means “All students are smart”
• Universal quantification is rarely used to make blanket statements about
every individual in the world:
(x)student(x)smart(x) means “Everyone in the world is a student and is smart”
• Existential quantifiers are usually used with “and” to specify a list of
properties about an individual:
(x) student(x) smart(x) means “There is a student who is smart”
• A common mistake is to represent this English sentence as the FOL
sentence:
(x) student(x) smart(x)
• But what happens when there is a person who is not a student?
7
Quantifier Scope
• Switching the order of universal quantifiers does not change the
meaning:
• (x)(y)P(x,y) ↔ (y)(x) P(x,y)
• Similarly, you can switch the order of existential quantifiers:
• (x)(y)P(x,y) ↔ (y)(x) P(x,y)
• Switching the order of universals and existentials does change
meaning:
• Everyone likes someone: (x)(y) likes(x,y)
• Someone is liked by everyone: (y)(x) likes(x,y)
9
Connections between All and Exists
10
Quantified inference rules
• Universal instantiation
• x P(x) P(A)
• Universal generalization
• P(A) P(B) … x P(x)
• Existential instantiation
• x P(x) P(F) skolem constant F
• Existential generalization
• P(A) x P(x)
11
Universal instantiation
(a.k.a. universal elimination)
• If (x) P(x) is true, then P(C) is true, where C is any constant in the
domain of x
• Example:
(x) eats(Ziggy, x) eats(Ziggy, IceCream)
• The variable symbol can be replaced by any ground term, i.e., any
constant symbol or function symbol applied to ground terms only
12
Existential instantiation
(a.k.a. existential elimination)
• From (x) P(x) infer P(c)
• Example:
• (x) eats(Ziggy, x) eats(Ziggy, Stuff)
• Note that the variable is replaced by a brand-new constant not
occurring in this or any other sentence in the KB
• Also known as skolemization; constant is a skolem constant
• In other words, we don’t want to accidentally draw other inferences
about it by introducing the constant
• Convenient to use this to reason about the unknown object, rather
than constantly manipulating the existential quantifier
13
Existential generalization
(a.k.a. existential introduction)
• If P(c) is true, then (x) P(x) is inferred.
• Example
eats(Ziggy, IceCream) (x) eats(Ziggy, x)
• All instances of the given constant symbol are replaced by the new
variable symbol
• Note that the variable symbol cannot already exist anywhere in the
expression
14
Translating English to FOL
18
• Model: an interpretation of a set of sentences such that every
sentence is True
• A sentence is
• satisfiable if it is true under some interpretation
• valid if it is true under all possible interpretations
• inconsistent if there does not exist any interpretation under which the
sentence is true
• Logical consequence: S |= X if all models of S are also
models of X
19
Axioms, definitions and theorems
•Axioms are facts and rules that attempt to capture all of the
(important) facts and concepts about a domain; axioms can be
used to prove theorems
• Mathematicians don’t want any unnecessary (dependent) axioms –ones
that can be derived from other axioms
• Dependent axioms can make reasoning faster, however
• Choosing a good set of axioms for a domain is a kind of design problem
•A definition of a predicate is of the form “p(X) ↔ …” and can be
decomposed into two parts
• Necessary description: “p(x) …”
• Sufficient description “p(x) …”
• Some concepts don’t have complete definitions (e.g., person(x))
20
More on definitions
• Examples: define father(x, y) by parent(x, y) and male(x)
• parent(x, y) is a necessary (but not sufficient) description of
father(x, y)
• father(x, y) parent(x, y)
• parent(x, y) ^ male(x) ^ age(x, 35) is a sufficient (but not necessary) description
of father(x, y):
father(x, y) parent(x, y) ^ male(x) ^ age(x, 35)
• parent(x, y) ^ male(x) is a necessary and sufficient description of father(x, y)
parent(x, y) ^ male(x) ↔ father(x, y)
21
More on definitions
S(x) is a P(x)
necessary (x) P(x) => S(x)
S(x)
condition of P(x)
S(x) is a S(x)
sufficient (x) P(x) <= S(x)
P(x)
condition of P(x)
S(x) is a P(x)
necessary and (x) P(x) <=> S(x)
S(x)
sufficient
condition of P(x)
22
Higher-order logic
• FOL only allows to quantify over variables, and variables can
only range over objects.
• HOL allows us to quantify over relations
• Example: (quantify over functions)
“two functions are equal iff they produce the same value for all arguments”
f g (f = g) (x f(x) = g(x))
• Example: (quantify over predicates)
r transitive( r ) (xyz) r(x,y) r(y,z) r(x,z))
• More expressive, but undecidable.
23
Expressing uniqueness
• Sometimes we want to say that there is a single,
unique object that satisfies a certain condition
• “There exists a unique x such that king(x) is true”
• x king(x) y (king(y) x=y)
• x king(x) y (king(y) xy)
• ! x king(x)
• “Every country has exactly one ruler”
• c country(c) ! r ruler(c,r)
• Iota operator: “ x P(x)” means “the unique x such
that p(x) is true”
• “The unique ruler of Freedonia is dead”
• dead( x ruler(freedonia,x)) 24
Notational differences
• Different symbols for and, or, not, implies, ...
•
• p v (q ^ r)
• p + (q * r)
• etc
• Prolog
cat(X) :- furry(X), meows (X), has(X, claws)
• Lispy notations
(forall ?x (implies (and (furry ?x)
(meows ?x)
(has ?x claws))
(cat ?x)))
25