Lecture 1.2: Equivalences, and Predicate Logic*

23
Lecture 1.2: Equivalences, and Predicate Logic* CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag

description

Lecture 1.2: Equivalences, and Predicate Logic*. CS 250, Discrete Structures, Fall 2011 Nitesh Saxena * Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag. Course Admin. Everyone receiving my emails? Lecture slides worked okay? Do you want me to post the pdf’s too? - PowerPoint PPT Presentation

Transcript of Lecture 1.2: Equivalences, and Predicate Logic*

Page 1: Lecture 1.2: Equivalences, and  Predicate Logic*

Lecture 1.2: Equivalences, and Predicate Logic*

CS 250, Discrete Structures, Fall 2011

Nitesh Saxena

*Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag

Page 2: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

2

Course Admin Everyone receiving my emails? Lecture slides worked okay?

Do you want me to post the pdf’s too? Everyone knows how to access the

course web page?

Page 3: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

3

Outline

Equivalences (contd.) Predicate Logic (Predicates and

Quantifiers)

Page 4: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

4

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

Page 5: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

5

Laws of Logical Equivalences

Identity lawsLike adding 0

Domination lawsLike multiplying by 0

Idempotent lawsDelete redundancies

Double negation“I don’t like you, not”

Commutativity Like “x+y = y+x”

AssociativityLike “(x+y)+z = y+(x+z)”

DistributivityLike “(x+y)z = xz+yz”

De Morgan

Rosen; page 27: Table 6

Page 6: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

6

De Morgan’s Law - generalizedDe 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 (white board) proof to show

that the law holds

Page 7: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

7

Another equivalence example

(p q) q p q

if NOT (blue AND NOT red) OR red then…

(p q) q

(p q) q

(p q) q

p (q q)

p q

DeMorgan’s

Double negationAssociativity

Idempotent

Page 8: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

8

Yet another example Show that [p (p q)] q is a tautology. We use to show that [p (p q)] q T.

substitution for [p (p q)] q

[(p p) (p q)]q

[p (p q)] q

[ F (p q)] q (p q) q (p q) q (p q) q p (q q ) p T T

distributive

uniqueness

identity

substitution for De Morgan’s

associative

uniqueness

domination

Page 9: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

9

Predicate Logic – why do we need it?

Proposition, YES or NO?3 + 2 = 5X + 2 = 5X + 2 <= 5 for any choice of X in {1, 2, 3}X + 2 = 5 for some X in {1, 2, 3}

Propositional logic can not handle statements such as the last two.

Predicate logic can.

YES

NOYES

YES

Page 10: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

10

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.

Page 11: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

11

Predicates -- DefinitionAlicia 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.

Page 12: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

12

Predicates with multiple variables

Suppose Q(x,y) = “x > y”

Proposition, YES or NO?Q(x,y)Q(3,4)Q(x,9)

NO

YES

NO

Predicate, YES or NO?Q(x,y)Q(3,4)Q(x,9)

YES

NO

YES

Page 13: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

13

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)?

Page 14: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

14

The Universal Quantifier - example

B(x) = “x is allowed to drive a car”L(x) = “x is at least 16 years old.”

Are either of these propositions true?

a) x (L(x) B(x))b) x B(x)

A: only a is true

B: only b is true

C: both are true

D: neither is true

Universe of discourse is people in this room.

Page 15: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

15

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)?

Page 16: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

16

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.”

Are either of these propositions true?

a) x B(x)b) x (Y(x) L(x))

A: only a is true

B: only b is true

C: both are true

D: neither is true

Universe of discourse is people in this room.

Page 17: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

17

Predicates – more examples

Universe of discourse is all creatures.

L(x) = “x is a lion.”F(x) = “x is fierce.”C(x) = “x drinks coffee.”

All lions are fierce.

Some lions don’t drink coffee.

Some fierce creatures don’t drink coffee.

x (L(x) F(x))

x (L(x) C(x))

x (F(x) C(x))

Page 18: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

18

Predicates – some more example

Universe of discourse is all creatures.

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.”

All hummingbirds are richly colored.

No large birds live on honey.

Birds that do not live on honey are dully colored.

x (B(x) R(x))

x (L(x) H(x))

x (H(x) R(x))

Page 19: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

19

Quantifier NegationNot all large birds live on honey.

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))

x (L(x) H(x))

Page 20: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

20

Quantifier Negation

No large birds live on honey.

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))

x (L(x) H(x))

Page 21: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

21

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.

Page 22: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

22

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 x P(x) x P(x)

Page 23: Lecture 1.2: Equivalences, and  Predicate Logic*

8/18/2011 Lecture 1.2 - Equivalence, and Predicate Logic

23

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