Transcript P(x)
Lecture 1.2: Equivalences, and
Predicate Logic
CS 250, Discrete Structures, Fall 2015
Nitesh Saxena
Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag
Course Admin
Everyone receiving my emails?
Lecture slides worked okay?
Everyone knows how to access the course web page?
TA/Grader office hours
Kamrul Islam: [email protected], PhD student
Office location: Ugrad lab (CH 154)
Office Hours: T 11am – 1pm
Posting draft slides in advance
Please make sure this doesn’t undermine attendance
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
2
Outline
Equivalences (contd.)
Predicate Logic (Predicates and Quantifiers)
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
3
Propositional Logic – Logical
Equivalence
p is logically equivalent to q if their truth tables are the
same. We write p q.
In other words, p is logically equivalent to q if p q is
True.
There are some famous laws of equivalence, which we
review next. Very useful in simplifying complex composite
propositions
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
4
Laws of Logical Equivalences
Rosen; page 27: Table 6
Identity laws
Like adding 0
Domination laws
Like multiplying by 0
Idempotent laws
Delete redundancies
Double negation
“I don’t like you, not”
Commutativity
Like “x+y = y+x”
Associativity
Like “(x+y)+z = y+(x+z)”
Distributivity
Like “(x+y)z = xz+yz”
De Morgan
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
5
De Morgan’s Law - generalized
De Morgan’s law allow for simplification of negations of
complex expressions
Conjunctional negation:
(p1p2…pn) (p1p2…pn)
“It’s not the case that all are true iff one is false.”
Disjunctional negation:
(p1p2…pn) (p1p2…pn)
“It’s not the case that one is true iff all are false.”
Let us do a quick (black board) proof to show that
the law holds
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
6
Another equivalence example
if NOT (blue AND NOT red) OR red then…
(p q) q p q
(p q) q
3/27/2016
(p q) q
(p q) q
Double negation
p (q q)
Associativity
p q
Lecture 1.2 - Equivalence, and
Predicate Logic
DeMorgan’s
Idempotent
7
Yet another example
Show that [p (p q)] q is a tautology.
We use to show that [p (p q)] q T.
[p (p q)] q
[p (p q)] q
substitution for
[(p p) (p q)]q
distributive
[ F (p q)] q
(p q) q
(p q) q
(p q) q
p (q q )
p T
T
uniqueness
identity
substitution for
De Morgan’s
associative
uniqueness
domination
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
8
Predicate Logic – why do we need it?
Proposition, YES or NO?
3+2=5
YES
X+2=5
NO
X + 2 <= 5 for any choice of X in {1, 2, 3}
X + 2 = 5 for some X in {1, 2, 3}
YES
YES
Propositional logic can not handle statements such
as the last two.
Predicate logic can.
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
9
Predicate Logic Example
…
Alicia eats pizza at least once a week.
Garrett eats pizza at least once a week.
Allison eats pizza at least once a week.
Gregg eats pizza at least once a week.
Ryan eats pizza at least once a week.
Meera eats pizza at least once a week.
Ariel eats pizza at least once a week.
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
10
Predicates -- Definition
…
Alicia eats pizza at least once a week.
Define:
P(x) = “x eats pizza at least once a week.”
Universe of Discourse - x is a student in cs250
A predicate, or propositional function, is a function that
takes some variable(s) as arguments and returns True or
False.
Note that P(x) is not a proposition, P(Ariel) is.
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
11
Predicates with multiple variables
Suppose Q(x,y) = “x > y”
Proposition, YES or NO?
Q(x,y)
NO
Q(3,4)
YES
Q(x,9)
Predicate, YES or NO?
Q(x,y)
NO
YES
Q(3,4)
NO
Q(x,9)
YES
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
12
The Universal Quantifier
Another way of changing a predicate into a proposition.
Suppose P(x) is a predicate on some universe of discourse.
The universal quantifier of P(x) is the proposition:
“P(x) is true for all x in the universe of discourse.”
We write it x P(x), and say “for all x, P(x)”
x P(x) is TRUE if P(x) is true for every single x.
x P(x) is FALSE if there is an x for which P(x) is false.
Ex: B(x) = “x is carrying a backpack,” x is a set of cs250 students.
x B(x)?
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
13
The Universal Quantifier - example
B(x) = “x is allowed to drive a car”
L(x) = “x is at least 16 years old.”
Universe of discourse
is people in this room.
Are either of these propositions true?
a)
b)
x (L(x) B(x))
x B(x)
A: only a is true
B: only b is true
C: both are true
D: neither is true
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
14
The Existential Quantifier
Another way of changing a predicate into a proposition.
Suppose P(x) is a predicate on some universe of discourse.
The existential quantifier of P(x) is the proposition:
“P(x) is true for some x in the universe of discourse.”
We write it x P(x), and say “for some x, P(x)”
x P(x) is TRUE if there is an x for which P(x) is true.
x P(x) is FALSE if P(x) is false for every single x.
Ex. C(x) = “x has black hair,” x is a set of cs 250 students.
x C(x)?
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
15
The Existential Quantifier - example
B(x) = “x is wearing sneakers.”
L(x) = “x is at least 21 years old.”
Y(x)= “x is less than 24 years old.”
Universe of discourse
is people in this room.
Are either of these propositions true?
a)
b)
x B(x)
x (Y(x) L(x))
A: only a is true
B: only b is true
C: both are true
D: neither is true
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
16
Predicates – more examples
L(x) = “x is a lion.”
F(x) = “x is fierce.”
C(x) = “x drinks coffee.”
Universe of discourse
is all creatures.
x (L(x) F(x))
All lions are fierce.
Some lions don’t drink coffee.
x (L(x) C(x))
Some fierce creatures don’t drink coffee.
x (F(x) C(x))
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
17
Predicates – some more example
B(x) = “x is a hummingbird.”
L(x) = “x is a large bird.”
H(x) = “x lives on honey.”
R(x) = “x is richly colored.”
Universe of discourse
is all birds.
All hummingbirds are richly colored.
x (B(x) R(x))
No large birds live on honey.
x (L(x) H(x))
Birds that do not live on honey are dully colored.
x (H(x) R(x))
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
18
Quantifier Negation
No large birds live on honey.
x (L(x) H(x))
x P(x) means “P(x) is true for some x.”
What about x P(x) ?
Not [“P(x) is true for some x.”]
“P(x) is not true for all x.”
x P(x)
So, x P(x) is the same as x P(x).
x (L(x) H(x))
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
19
Quantifier Negation
Not all large birds live on honey.
x (L(x) H(x))
x P(x) means “P(x) is true for every x.”
What about x P(x) ?
Not [“P(x) is true for every x.”]
“There is an x for which P(x) is not true.”
x P(x)
So, x P(x) is the same as x P(x).
x (L(x) H(x))
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
20
Quantifier Negation
So, x P(x) is the same as x P(x).
So, x P(x) is the same as x P(x).
General rule: to negate a quantifier, move negation to the
right, changing quantifiers as you go.
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
21
Some quick questions
p T =? (what law?)
p T =? (what law?)
(p q) = ? (what law?)
P(x) = “x >3”
P(x) is a proposition: yes or no?
P(3) is a proposition: yes or no? If yes, what is its value?
P(4) is True or False?
If the universe of discourse is all natural numbers, what is the
value of
3/27/2016
x P(x)
x P(x)
Lecture 1.2 - Equivalence, and
Predicate Logic
22
Today’s Reading and Next Lecture
Rosen 1.3 and 1.4
Please start solving the exercises at the end
of each chapter section. They are fun.
Please read 1.4 and 1.5 in preparation for the
next lecture
3/27/2016
Lecture 1.2 - Equivalence, and
Predicate Logic
23