Logic and Proofs - 3
Logic and Proofs - 3
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
propositional function P at x.
For example, let P(x) denote “x > 0” and the domain be
the integers. Then:
P(-3) is ?
P(0) is ?
P(3) is ?
Often the domain is denoted by U. So in this example U is
the integers.
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: ?
R(3,4,7)
Solution: ?
R(x, 3, z)
Solution: ?
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: ?
Q(3,4,7)
Solution: ?
Q(x, 3, z)
Solution: ?
Compound Expressions
Connectives from propositional logic carry over to predicate
logic.
If P(x) denotes “x > 0,” find these truth values:
P(3) ∨ P(-1) Solution:?
P(3) ∧ P(-1) Solution:?
P(3) → P(-1) Solution:?
P(3) → ¬P(-1) Solution: ?
Expressions with variables are not propositions and therefore do
not have truth values. For example,
P(3) ∧ P(y)
P(x) → P(y)
When used with quantifiers (to be introduced next), these
expressions (propositional functions) become propositions.
Quantifiers
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:
Examples:
1. If P(x) denotes “x > 0” and U is the integers, then x P(x)
is true. It is also true if U is the positive integers.
2. If P(x) denotes “x < 0” and U is the positive integers, then
x P(x) is false.
3. If P(x) denotes “x is even” and U is the integers, then x
P(x) is true.
Thinking about Quantifiers
When the domain of discourse is finite, we can think of
quantification as looping through the elements of the domain.
To evaluate x P(x) loop through all x in the domain.
If at every step P(x) is true, then x P(x) is true.
If at a step P(x) is false, then x P(x) is false and the loop
terminates.
To evaluate x P(x) loop through all x in the domain.
If at some step, P(x) is true, then x P(x) is true and the loop
terminates.
If the loop ends without finding an x for which P(x) is true, then x
P(x) is false.
Even if the domains are infinite, we can still think of the
quantifiers this fashion, but the loops will not terminate in some
cases.
Properties of Quantifiers
The truth value of x P(x) and x P(x) depend on both the
propositional function P(x) and on the domain U.
Examples:
1. If U is the positive integers and P(x) is the statement
“x < 2”, then x P(x) is true, but x P(x) is false.
2. If U is the negative integers and P(x) is the statement
“x < 2”, then both x P(x) and x P(x) are true.
3. If U consists of 3, 4, and 5, and P(x) is the statement
“x > 2”, then both x P(x) and x P(x) are true. But if P(x) is
the statement “x < 2”, then both x P(x) and x
P(x) are false.
Precedence of Quantifiers
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
Java.”
Here J(x) is “x has taken a course in Java” and
the domain is students in your class.
Negating the original statement gives “It is not the
case that every student in your class has taken
Java.” This implies that “There is a student in your
class who has not taken Java.”
Symbolically ¬x J(x) and x ¬J(x) are equivalent
Negating Quantified
Expressions (continued)
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
De Morgan’s Laws for
Quantifiers
The rules for negating quantifiers are: