Chapter1 - Part2 - Logic
Chapter1 - Part2 - Logic
PREDICATES &
QUANTIFIERS
OUTLINE
Predicate Logic
The Language of Quantifiers
Logical Equivalences
Nested Quantifiers
Translation from Predicate Logic to English
Translation from English to Predicate Logic
INTRODUCING PREDICATE LOGIC
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).
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.
EXAMPLES: 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)
COMPOUND EXPRESSIONS
We need quantifiers to express the meaning of English words including all and some:
“All men are Mortal.”
“Some cats do not have fur.”
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
Examples:
1) If P(x) denotes “x > 0” and U is the integers, then x P(x) is false.
2) If P(x) denotes “x > 0” and U is the positive integers, then x P(x) is
true.
3) If P(x) denotes “x is even” and U is the integers, then x P(x) is
false.
EXISTENTIAL QUANTIFIER
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 x P(x) is true
but x P(x) is false.
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
The quantifiers and have higher precedence than all the logical operators.
For example, x P(x) ∨ Q(x) means (x 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:
Solution 2:
TRANSLATING FROM ENGLISH TO LOGIC
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:
Solution 2:
EQUIVALENCES IN PREDICATE LOGIC
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)
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:
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))
2. “Every student in this class has visited Canada or Mexico.”
Solution: Add C(x) denoting “x has visited Canada.”
x (S(x)→ (M(x)∨C(x)))
TRANSLATING ENGLISH INTO LOGICAL
EXPRESSIONS
Solution:
TRANSLATION (CONT)
“Nothing is a snurd.”
Solution:
Solution:
TRANSLATION (CONT)
Solution:
TRANSLATION (CONT)
Solution:
TRANSLATION (CONT)
Predicate logic is used for specifying properties that systems must satisfy.
For example, translate into predicate logic:
“Every mail message larger than one megabyte will be compressed.”
“If a user is active, at least one network link will be available.”
Decide on predicates and domains (left implicit here) for the variables:
Let L(m, y) be “Mail message m is larger than y megabytes.”
Let C(m) denote “Mail message m will be compressed.”
Let A(u) represent “User u is active.”
Let S(n, x) represent “Network link n is state x.
Now we have:
LEWIS CARROLL EXAMPLE
Charles Lutwidge Dodgson
(AKA Lewis Caroll)
(1832-1898)
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.”
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.
NESTED QUANTIFIERS
Examples:
2. Let Q(x,y) be the statement “x + y = 0.” Assume that U is the real numbers.
Then x yQ(x,y) is true, but y xQ(x,y) is false.
QUESTIONS ON ORDER OF QUANTIFIERS
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:
x y ((x > 0)∧ (y > 0)→ (x + y > 0))
where the domain of both variables consists of all integers
TRANSLATING ENGLISH INTO LOGICAL
EXPRESSIONS EXAMPLE
Example: Use quantifiers to express the statement “There is a woman who has taken
a flight on every airline in the world.”
Solution:
1. Let P(w, f) be “w has taken f ” and Q(f, a) be “f 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.
3. Then the statement can be expressed as:
w a f (P(w, f ) ∧ Q(f, a))
QUESTIONS ON TRANSLATION FROM ENGLISH
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.”
Part 2: Now use De Morgan’s Laws to move the negation as far inwards as possible.
Solution:
1. ¬w a f (P(w,f ) ∧ Q(f,a))
2. w ¬ a f (P(w,f ) ∧ Q(f,a)) by De Morgan’s for
3. w a ¬ f (P(w,f ) ∧ Q(f,a)) by De Morgan’s for
4. w a f ¬ (P(w,f ) ∧ Q(f,a)) by De Morgan’s for
5. w a f (¬ P(w,f ) ∨ ¬ Q(f,a)) by De Morgan’s for ∧.
NEGATING NESTED QUANTIFIERS
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”
CONFUSED?? DON’T BE… YOU CAN
UNDERSTAND IF YOU REALLY FOCUS!