The Foundations: Logic and Proofs: Chapter 1, Part II: Predicate Logic
The Foundations: Logic and Proofs: Chapter 1, Part II: Predicate Logic
Proofs
Chapter 1, Part II: Predicate Logic
© 2019 McGraw-Hill Education. All rights reserved. Authorized only for instructor use in the classroom. No reproduction or further distribution permitted without the prior written consent of McGraw-Hill Education.
• Summary
Predicate Logic (First-Order Logic (FOL),
Predicate Calculus)
• The Language of Quantifiers
• Logical Equivalences
• Nested Quantifiers
• Translation from Predicate Logic to English
• Translation from English to Predicate Logic
Predicates
Variables
Quantifiers
• Universal Quantifier
• Existential Quantifier
Negating Quantifiers
• De Morgan’s Laws for Quantifiers
Translating English to Logic
Logic Programming (optional)
© 2019 McGraw-Hill Education
• Propositional Logic Not Enough
If we have:
“All men are mortal.”
“Socrates is a man.”
Does it follow that “Socrates is mortal?”
Can’t be represented in propositional logic.
Need a language that talks about objects, their
properties, and their relations.
Later we’ll see how to draw inferences.
© 2019 McGraw-Hill Education
• Introducing Predicate Logic
Predicate logic uses the following new features:
• Variables: x, y, z
• Predicates: P(x), M(x)
• Quantifiers (to be covered in a few slides):
Propositional functions are a generalization of
propositions.
• They contain variables and a predicate, e.g., P(x)
• Variables can be replaced by elements from their
domain.
© 2019 McGraw-Hill Education
• Propositional Functions
Propositional functions become propositions (and have truth
values) when their variables are each replaced by a value from
the domain (or bound by a quantifier, as we will see later).
The statement P(x) is said to be the value of the propositional
function P at x.
For example, let P(x) denote “x > 0” and the domain be the
integers. Then:
P(-3) is false.
P(0) is false.
P(3) is true.
Often the domain is denoted by U. So in this example U is the
integers.
© 2019 McGraw-Hill Education
• Examples of Propositional Functions
Let “x + y = z” be denoted by R(x, y, z) and U (for all three
variables) be the integers. Find these truth values:
R(2,-1,5)
Solution: F
R(3,4,7)
Solution: T
R(x, 3, z)
Solution: Not a Proposition
Now let “x - y = z” be denoted by Q(x, y, z), with U as the
integers. Find these truth values:
Q(2,-1,3)
Solution: T
Q(3,4,7)
Solution: F
Q(x, 3, z)
Solution: Not a Proposition
Example
1: Translate the following sentence into
predicate logic: “Every student in this class has taken a
course in Java.”
Solution:
First decide on the domain U.
Solution 1: If U is all students in this class, define a propositional
function J(x) denoting “x has taken a course in Java” and
translate asx J(x).
Solution 2: But if U is all people, also define a propositional
function S(x) denoting “x is a student in this class” and translate
asx (S(x)→ J(x)).
x (S(x) J(x)) is not correct. What does it mean?
© 2019 McGraw-Hill Education
• Translating from English to Logic 2
Example
2: Translate the following sentence into
predicate logic: “Some student in this class has taken a
course in Java.”
Solution:
First decide on the domain U.
Solution 1: If U is all students in this class, translate as
x J(x)
Solution 2: But if U is all people, then translate as
x (S(x) J(x))
x (S(x)→ J(x)) is not correct. What does it mean?
© 2019 McGraw-Hill Education
• Returning to the Socrates Example
Introduce the propositional functions Man(x) denoting
“x is a man” and Mortal(x) denoting “x is mortal.”
Specify the domain as all people.
The two premises are: x Man x Mortal x
Man Socrates
xP x P 1 P 2 P 3
xP x P 1 P 2 P 3
Even if the domains are infinite, you can still think of the
quantifiers in this fashion, but the equivalent expressions
without quantifiers will be infinitely long.
© 2019 McGraw-Hill Education
• Negating Quantified Expressions 1
Consider
x J(x)
“Every student in your class has taken a course in Java.”
Here J(x) is “x has taken a course in Java” and
the domain is students in your class.
Now
Consider x J(x)
“There is a student in this class who has taken a course in
Java.”
Where J(x) is “x has taken a course in Java.”
Negating the original statement gives “It is not the
case that there is a student in this class who has
taken Java.” This implies that “Every student in this
class has not taken Java”
Symbolically x J(x) and x J(x) are equivalent
xP x x P x
For every x, P(x) is false. There is x for
which P(x) is true.
There is an x for which P P(x) is true for
xP x xP x (x) is false. every x.
xP x xP x
These are important. You will use these.
© 2019 McGraw-Hill Education
• Translation from English to Logic
Examples:
1. “Some student in this class has visited Mexico.”
Solution: Let M(x) denote “x has visited Mexico” and S(x)
denote “x is a student in this class,” and U be all people.
X S X M X
X S X M X VC X
© 2019 McGraw-Hill Education
• Some Fun with Translating from
English into Logical Expressions 1
Solution: x F(x)
Solution: X S X T X
© 2019 McGraw-Hill Education
• Some Fun with Translating from
English into Logical Expressions 6
The first two are called premises and the third is called the
conclusion.
1. “All lions are fierce.”
2. “Some lions do not drink coffee.”
3. “Some fierce creatures do not drink coffee.”
Here is one way to translate these statements to predicate logic.
Let P(x), Q(x), and R(x) be the propositional functions “x is a lion,”
“x is fierce,” and “x drinks coffee,” respectively.
1. X P X Q X
2. X P X R X
3. X Q X R X
Later we will see how to prove that the conclusion follows from
the premises
© 2019 McGraw-Hill Education
• Some Predicate Calculus Definitions
(optional)
An assertion involving predicates and quantifiers is valid if it is true
• for all domains
• every propositional function substituted for the predicates in the assertion.
Example: xS x xS x
An assertion involving predicates is satisfiable if it is true
• for some domains
• some propositional functions that can be substituted for the
predicates in the assertion.
Otherwise it is unsatisfiable.
Example: x F x T x not valid but satisfiable
Example: x F x F x unsatisfiable
The query:
?enrolled(X,math273).
produces the response:
X = kevin; The Prolog interpreter tries to find
X = kiko; an instantiation for X. It does so
and returns X = kevin. Then
no the user types the ; indicating a
The query: request for another answer. When
?teaches(X,juana). Prolog is unable to find another
answer it returns no.
produces the response:
X = patel;
X = grossman;
no
The query:
?teaches(chan,X).
X = kiko;
no
Nested Quantifiers
Order of Quantifiers
Translating from Nested Quantifiers into English
Translating Mathematical Statements into
Statements involving Nested Quantifiers.
Translated English Sentences into Logical
Expressions.
Negating Nested Quantifiers.
© 2019 McGraw-Hill Education
• Nested Quantifiers
Nested quantifiers are often necessary to express the
meaning of sentences in English as well as important
concepts in computer science and mathematics.
Example: “Every real number has an inverse” is
x y(x + y = 0)
where the domains of x and y are the real numbers.
We can also think of nested propositional functions:
x y(x + y = 0) can be viewed as x Q(x) where Q(x) is
y P(x, y) where P(x, y) is (x + y = 0)
xyP x, y
P(x,y) is true for every There is a pair x, y for
pair x,y. which P(x,y) is false.
yxP x, y
For every x there is a y There is an x such that
xyP x, y for which P(x,y) is true. P(x,y) is false for every y.
There is an x for which For every x there is a y
xyP x, y P(x,y) is true for every y. for which P(x,y) is false.
xyP x, y
There is a pair x, y for P(x,y) is false for every
which P(x,y) is true. pair x,y
yxP x, y
xyz F x, y F x, z y z F y , z
Solution: There is a student none of whose friends are also
friends with each other.
© 2019 McGraw-Hill Education
• Translating Mathematical Statements
into Predicate Logic
Example : Translate “The sum of two positive integers is always
positive” into a logical expression.
Solution:
1. Rewrite the statement to make the implied quantifiers and domains
explicit:
“For every two integers, if these integers are both positive, then the
sum of these integers is positive.”
2. Introduce the variables x and y, and specify the domain, to obtain:
“For all positive integers x and y, x + y is positive.”
3. The result is:
xy x 0 y 0 x y 0
where the domain of both variables consists of all integers
is
“For every real number ε0, there exists a real number δ0 such
that |f(x) – L|ε whenever 0 |x –a|δ.”
Using quantifiers:
òx 0 x a f x L ò
Where the domain for the variables ε and δ consists of all positive
real numbers and the domain for x consists of all real numbers.
© 2019 McGraw-Hill Education
• Questions on Translation from English
Choose the obvious predicates and express in predicate logic.
Example 1: “Brothers are siblings.”
Solution: x y (B(x,y) → S(x,y))
Example 2: “Siblinghood is symmetric.”
Solution: x y (S(x,y) → S(y,x))
Example 3: “Everybody loves somebody.”
Solution: x y L(x,y)
Example 4: “There is someone who is loved by everyone.”
Solution: y x L(x,y)
Example 5: “There is someone who loves someone.”
Solution: x y L(x,y)
Example 6: “Everyone loves himself”
Solution: x L(x,x)
© 2019 McGraw-Hill Education
• Negating Nested Quantifiers
Example 1: Recall the logical expression developed three slides back:
waf P w, f Q f , a
Part 1: Use quantifiers to express the statement that “There does not exist a woman who has
taken a flight on every airline in the world.”
Solution: waf P w, f Q f , a
Part 2: Now use De Morgan’s Laws to move the negation as far inwards as possible.
Solution:a
1. waf P w, f Q f , a
x 0 x a f x L
3. Now we can repeatedly apply the rules for negating quantified expressions:
x 0 x a f x L
x 0 x a f x L
x 0 x a f x L
x 0 x a f x L
x 0 x a f x L