Discrete Structure-Chapter 1 Part 2
Discrete Structure-Chapter 1 Part 2
and Proofs
Chapter 1, Part II: Predicate Logic
Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution 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 and Quantifiers
Section 1.4
Section Summary
Predicates
Variables
Quantifiers
Universal Quantifier
Existential Quantifier
Negating Quantifiers
De Morgan’s Laws for Quantifiers
Translating English to Logic
Logic Programming (optional)
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.
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.
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
R(x, 3, z)
Solution: T
Q(x, 3, z)
Solution: F
∨ P(-1) Solution: T
∧ P(-1) Solution: F
P(3)
→ P(-1) Solution: F
P(3)
→ ¬P(-1) Solution: T
P(3)
P(3)
Expressions with variables are not propositions and
P(3) ∧ P(y)
therefore do not have truth values. For example,
P(x) → P(y)
When used with quantifiers (to be introduced next), these
expressions (propositional functions) become propositions.
Quantifiers Charles Peirce (1839-
1914)
We need quantifiers to express the meaning of English
words including all and some:
“All men are Mortal.”
“Some cats do not have fur.”
The two most important quantifiers are:
Universal Quantifier, “For all,” symbol:
Existential Quantifier, “There exists,” symbol:
We write as in x P(x) and x P(x).
x P(x) asserts P(x) is true for every x in the domain.
x P(x) asserts P(x) is true for some x in the domain.
The quantifiers are said to bind the variable x in these
expressions.
Universal Quantifier
x P(x) is read as “For all x, P(x)” or “For every
x, P(x)”
integers, then
2)
integers, then
2.
then
3.
x P(x) is true.
Uniqueness Quantifier (optional)
!x P(x) means that P(x) is true for one and only one x in the
universe of discourse.
This is commonly expressed in English in the following
equivalent ways:
“There is a unique x such that P(x).”
“There is one and only one x such that P(x)”
Examples:
1. If P(x) denotes “x + 1 = 0” and U is the integers, then !x
false.
P(x))∨ Q(x)
x (P(x) ∨ Q(x)) means something different.
Unfortunately, often people write x P(x) ∨
Q(x) when they mean x (P(x) ∨ Q(x)).
Translating from English to Logic
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
x (S(x)→ J(x)).
propositional function S(x) denoting “x is a student
x J(x)
translate as
logically equivalent.
Example: x ¬¬S(x) ≡ x S(x)
Thinking about Quantifiers as Conjunctions
and Disjunctions
If the domain is finite, a universally quantified proposition is
equivalent to a conjunction of propositions without quantifiers
and an existentially quantified proposition is equivalent to a
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.
Negating Quantified Expressions
Consider x J(x)
“Every student in your class has taken a course in
equivalent
Negating Quantified Expressions
(continued)
Now Consider x J(x)
“There is a student in this class who has taken a
equivalent
De Morgan’s Laws for Quantifiers
The rules for negating quantifiers are:
U be all people.
and S(x) denote “x is a student in this class,” and
x (S(x) ∧ M(x))
2. “Every student in this class has visited Canada
or Mexico.”
Solution: Add C(x) denoting “x has visited
x (S(x)→ (M(x)∨C(x)))
Canada.”
Some Fun with Translating from English
into Logical Expressions
U = {fleegles, snurds, thingamabobs}
F(x): x is a fleegle
S(x): x is a snurd
T(x): x is a thingamabob
Translate “Everything is a fleegle”
Solution: x F(x)
Translation (cont)
U = {fleegles, snurds, thingamabobs}
F(x): x is a fleegle
S(x): x is a snurd
T(x): x is a thingamabob
“Nothing is a snurd.”
x (P(x)→ Q(x))
respectively.
x (P(x) ∧ ¬R(x))
1.
x (Q(x) ∧ ¬R(x))
2.
3.
Later we will see how to prove that the conclusion follows
from the premises.
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:
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: not valid but satisfiable
Example: unsatisfiable
MorePredicate Calculus Definitions
(optional)
The scope of a quantifier is the part of an
assertion in which variables are bound by the
quantifier.
Example: x has wide
scope
x y(x + y = 0)
Example: “Every real number has an inverse” is
each x.
To see if x yP(x,y) is true, loop through the values of x:
At each step, loop through the values for y.
The inner loop ends when a pair x and y is found such that P(x, y) is true.
xy P(x,y)
Answer: True
3.
x y P(x,y)
Answer: True
4.
Answer: True
Questions on Order of Quantifiers
Example 2: Let U be the real numbers,
Define P(x,y) : x / y = 1
What is the truth value of the following:
1. xyP(x,y)
Answer: False
2. xyP(x,y)
xy P(x,y)
Answer: False
3.
x y P(x,y)
Answer: False
4.
Answer: True
Quantifications of Two Variables
Statement When True? When False
P(x,y) is true for There is a pair x, y
every pair x,y. for which P(x,y) is
false.
For every x there is a There is an x such
y for which P(x,y) is that P(x,y) is false for
true. every y.
There is an x for For every x there is a
which P(x,y) is true y for which P(x,y) is
for every y. false.
There is a pair x, y P(x,y) is false for
for which P(x,y) is every pair x,y
true.
Translating Nested Quantifiers into English
Example 1: Translate the statement
x (C(x )∨ y (C(y ) ∧ F(x, y)))
where C(x) is “x has a computer,” and F(x,y) is “x
and y are friends,” and the domain for both x and y
consists of all students in your school.
Solution: Every student in your school has a
is a flight on a .”
2. The domain of w is all women, the domain of f
is all flights, and the domain of a is all
airlines.
w a f (P(w,f ) ∧ Q(f,a))
3. Then the statement can be expressed as:
Calculus in Logic (optional)
Example: Use quantifiers to express the definition of the limit
of a real-valued function f(x) of a real variable x at a point a
in its domain.
Solution: Recall the definition of the statement
Solution: x L(x,x)
Negating Nested Quantifiers
Example 1: Recall the logical expression developed three slides back:
w a f (P(w,f ) ∧ Q(f,a))
Part 1: Use quantifiers to express the statement that “There does not exist a
Part 2: Now use De Morgan’s Laws to move the negation as far inwards as
possible.
Solution:
“For every woman there is an airline such that for all flights, this woman has
not taken that flight or that flight is not on this airline”
Return to Calculus and Logic (Opt)
Example : Recall the logical expression developed in the calculus example three slides back.
Use quantifiers and predicates to express that does not exist.
3. Now we can repeatedly apply the rules for negating quantified expressions:
for some propositional functions for P. Try “x + y = 0” for P(x,y) with U being
Solution: No! The left and the right side may have different truth values
the integers. The order in which the values of x and y are picked does matter.
Can you distribute quantifiers over logical connectives?
Is this a valid equivalence?
Solution: Yes! The left and the right side will always have the same truth
value no matter what propositional functions are denoted by P(x) and Q(x).
Is this a valid equivalence?
Solution: No! The left and the right side may have different truth values.
Pick “x is a fish” for P(x) and “x has scales” for Q(x) with the domain of
discourse being all animals. Then the left side is false, because there are
some fish that do not have scales. But the right side is true since not all
animals are fish.