12
1 Lecture 1.2: Equivalences, and Predicate Logic CS 250, Discrete Structures, Fall 2015 Nitesh Saxena Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 2 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

Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•1

Lecture 1.2: Equivalences, and Predicate Logic

CS 250, Discrete Structures, Fall 2015

Nitesh Saxena

Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 2

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

Page 2: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•2

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 3

Outline

Equivalences (contd.)

Predicate Logic (Predicates and Quantifiers)

8/27/2015 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 3: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•3

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 5

Laws of Logical Equivalences

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

Rosen; page 27: Table 6

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 6

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

Page 4: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•4

8/27/2015 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 negation

Associativity

Idempotent

8/27/2015 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 5: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•5

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 9

Predicate Logic – why do we need it?

Proposition, YES or NO?

3 + 2 = 5

X + 2 = 5

X + 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

NO YES

YES

8/27/2015 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 6: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•6

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 11

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.

8/27/2015 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 7: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•7

8/27/2015 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)?

8/27/2015 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 8: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•8

8/27/2015 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)?

8/27/2015 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 9: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•9

8/27/2015 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))

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 18

Predicates – some more example

Universe of discourse is all birds.

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 10: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•10

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 19

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

8/27/2015 Lecture 1.2 - Equivalence, and

Predicate Logic 20

Quantifier Negation

Not 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 11: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•11

8/27/2015 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.

8/27/2015 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 12: Lecture 1.2: Equivalences, and Predicate Logic · •2 8/27/2015 Lecture 1.2 - Equivalence, and Predicate Logic 3 Outline Equivalences (contd.) Predicate Logic (Predicates and Quantifiers)

•12

8/27/2015 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