385
Guide to Negating Formulas

web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Guide to Negating Formulas

Page 2: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Hi everybody!

Page 3: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

We spent a little bit of time in classtalking about how to negate formulas in

propositional or first-order logic.

Page 4: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This is a really valuable skill! If you everneed to write a proof by contradiction ora proof by contrapositive, you'll need to

know how to negate formulas.

Page 5: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

While this might seem a bit tricky at first,the good news is that there's a nice,mechanical way that you can negate

formulas!

Page 6: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

There's still a bit of art to it, but bylearning a few simple rules and how toapply them, you can negate just about

anything!

Page 7: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

For example...

Page 8: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Let's imagine that you want tonegate this formula to the left.

¬p ∧ (q ∨ r)

Page 9: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

To do so, we're going to beginby surrounding the formula

in parentheses...

(¬p ∧ (q ∨ r))

Page 10: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

And putting a negation symbolin front.

¬(¬p ∧ (q ∨ r))

Page 11: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Technically speaking, this formulais the negation of the original

formula, though it's hard to seeexactly what this formula says.

¬(¬p ∧ (q ∨ r))

Page 12: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Most of the time, when you needto find the negation of a formula,you're going to want to simplify

it by pushing the negations inward.

¬(¬p ∧ (q ∨ r))

Page 13: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

The good news is that there area number of rules we can use

to do this.

¬(¬p ∧ (q ∨ r))

Page 14: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

If you remember from our lectureon propositional logic, we saw aseries of rules for simplifying

negations.

¬(¬p ∧ (q ∨ r))

Page 15: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

For example, we saw de Morgan'slaws, which say that

¬(A ∧ B) ≡ ¬A ∨ ¬B¬(A ∨ B) ≡ ¬A ∧ ¬B

¬(¬p ∧ (q ∨ r))

Page 16: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

I'm going to write this rulesup at the top of the screen.

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 17: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

We haven't talked about thisnotation before, but the goodnews is that it's not too bad.

Let's take a look at this.

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 18: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Generally speaking, these ruleslook like this:

Before

After

Page 19: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

A rule like this means “if you seeBefore, replace it with After.”

Before

After

Page 20: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So let's look at this rule onthe right.

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 21: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This rule says

“if you see something of the form

¬(A ∧ B)

replace it with

¬A ∨ ¬B.”

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 22: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Take a look at our originalformula. If you look at it closely,

you'll see that it matches thisparticular pattern.

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 23: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That means that we can applythis rule and rewrite it...

¬(¬p ∧ (q ∨ r))

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 24: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...so that it looks like this.

¬¬p ∨ ¬(q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 25: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Notice that we've “pushed” thenegation deeper into the

formula.

¬¬p ∨ ¬(q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 26: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Basically, we just need to keepapplying these rule templates

over and over until the formulais as simple as it can get.

¬¬p ∨ ¬(q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 27: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So let's focus on this part ofthe formula for now.

¬¬p ∨ ¬(q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 28: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Notice that it matches thisparticular template.

¬¬p ∨ ¬(q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 29: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So let's apply this rule tosimplify the formula!

¬¬p ∨ ¬(q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 30: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Now we've got this, which hasthe negation pushed deeper

into the formula! We're makingprogress!

¬¬p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 31: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So what about the other part ofthis formula?

¬¬p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 32: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Well, this is a double-negation.Intuitively, we'd expect thesetwo negations to cancel out.

¬¬p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

Page 33: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Indeed, that's what happens.We can write this down as the rule

¬¬p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬¬A

A

Page 34: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So let's go and apply this rule!

¬¬p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 35: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Tada!

p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 36: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

At this point we can't push thenegations any deeper into the

formula. They're directly appliedto propositions, which can't be

simplified.

p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 37: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So we're done!

p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 38: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Of course, before moving on,we should be sure to check our

work!

p ∨ (¬q ∧ ¬r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 39: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here's the original formula.(Think of this as the “before” inthe “before and after” shots.)

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 40: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Is there some way we can checkwhether we negated this formula

properly?

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 41: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Yes, actually! There are several.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 42: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Let's begin with an intuitive check.What do each of these formulas

actually mean?

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 43: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This formula means “p is true,or both q and r are false.”

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 44: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This formula means “p is falseand at least one of q and r

is true.”

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 45: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Intuitively, these statements seemto check out as opposites.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 46: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

If the first one is true, theneither p is true (so ¬p is false),or q and r are false (so q ∨ r

is false.)

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 47: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Similarly, if the second one istrue, then ¬p is true (so p is

false), and at least one of q andr are true (so ¬q ∧ ¬r is false).

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 48: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So in that sense, intuitively,everything checks out.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 49: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Of course, a lot of things thatmake intuitive sense aren't right,so perhaps we should check this

in a different way.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 50: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

When we're dealing withpropositional logic, we canalways check the truth

tables for these formulas andsee how they compare!

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 51: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

If you punch in these twoformulas, here's the truth tables

that you'll get back.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 52: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Notice that, going row by row,the truth values are opposites

of one another. That means thatthey're negations of one another!

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 53: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

There's actually a different wayto use the truth table tool to

check if two formulas arenegations of one another.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 54: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Imagine that you have twoformulas A and B. If A is a

negation of B, then any time Ais true, B is false and vice-versa.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 55: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That means that the formula

A ↔ B

should always evaluate to false.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 56: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So in our case, we can trypunching in this formula into

the truth table tool.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ (¬q ∧ ¬r)) ↔ (¬p ∧ (q ∨ r))(p ∨ (¬q ∧ ¬r)) ↔ (¬p ∧ (q ∨ r))

Page 57: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

If we do, here's what weget back.

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ (¬q ∧ ¬r)) ↔ (¬p ∧ (q ∨ r))(p ∨ (¬q ∧ ¬r)) ↔ (¬p ∧ (q ∨ r))

Page 58: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Since the formula is alwaysfalse, we know that the two

formulas must be negations ofone another. Nifty!

p ∨ (¬q ∧ ¬r)

¬p ∧ (q ∨ r)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ (¬q ∧ ¬r)) ↔ (¬p ∧ (q ∨ r))(p ∨ (¬q ∧ ¬r)) ↔ (¬p ∧ (q ∨ r))

Page 59: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That wasn't so bad! Let'sdo another one.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 60: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Let's try taking the negation ofthis formula.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 61: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Actually, before we do thistogether, why don't you try

doing it yourself first!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 62: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Take a minute or two to walkthrough this one on your own.See what you come up with!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 63: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So did you do it? If not, youreally should. It's good practice!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 64: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So you did it? You've got ananswer? Great! Let's workthrough this one together.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 65: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

As before, we begin bysurrounding it in parentheses...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

((p ∨ q) ∧ (¬p ∧ ¬q))

Page 66: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and putting a negation at thefront.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∨ q) ∧ (¬p ∧ ¬q))

Page 67: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Now, we're going to keepapplying rules to push the

negation deeper and deeper intothe expression.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∨ q) ∧ (¬p ∧ ¬q))

Page 68: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Looking over the structure ofthis formula, we can see thatit's a negation of two things

ANDed together.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∨ q) ∧ (¬p ∧ ¬q))

Page 69: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That means that we want to usethis rule.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∨ q) ∧ (¬p ∧ ¬q))

Page 70: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Color-coding things to make iteasier to see which part iswhich, we can now apply the

template...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∨ q) ∧ (¬p ∧ ¬q))

Page 71: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...which gives us this initialsimplification.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ ¬(¬p ∧ ¬q)

Page 72: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Now, we can keep repeating thisprocess on each smaller part of

the expression.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ ¬(¬p ∧ ¬q)

Page 73: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Just because we can, let's startwith this part.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ ¬(¬p ∧ ¬q)

Page 74: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That matches the same rule asbefore!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ ¬(¬p ∧ ¬q)

Page 75: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So we can color-code things...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ ¬(¬p ∧ ¬q)

Page 76: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and apply the template.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (¬¬p ∨ ¬¬q)

Page 77: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Progress!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (¬¬p ∨ ¬¬q)

Page 78: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

A reasonable next step wouldbe to look at these two

subexpressions, each of which isa double-negation.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (¬¬p ∨ ¬¬q)

Page 79: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here's the template...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (¬¬p ∨ ¬¬q)

Page 80: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and here's the result!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (p ∨ q)

Page 81: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Cool! We're almost there.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (p ∨ q)

Page 82: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Our last step is to deal withthis part of the expression.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (p ∨ q)

Page 83: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That matches this template.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (p ∨ q)

Page 84: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So we see how it matches...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∨ q) ∨ (p ∨ q)

Page 85: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and apply the rule!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(¬p ∧ ¬q) ∨ (p ∨ q)

Page 86: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That's as deep as the negationsare going to go. We're done!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(¬p ∧ ¬q) ∨ (p ∨ q)

Page 87: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Of course, we have to checkour work.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(¬p ∧ ¬q) ∨ (p ∨ q)

Page 88: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here's where we started.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(¬p ∧ ¬q) ∨ (p ∨ q)

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 89: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Why don't you go use the truthtable tool to check whether thesestatements actually are negations

of one another?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(¬p ∧ ¬q) ∨ (p ∨ q)

(p ∨ q) ∧ (¬p ∧ ¬q)

Page 90: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Okay! So let's recap where weare right now.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 91: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

We have these nice and handytemplates available for simplifyingexpressions with negations in them.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 92: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

We've talked about three waysthat you can check your work.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 93: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

And we've gone through twoexamples!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 94: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

However, the rules above don'tcover all possible formulas.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

Page 95: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

For example, how would wenegate this formula?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r

Page 96: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

First, let's refresh how to negatean implication.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r

Page 97: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Actually, before we review thatone directly, why don't you

review your notes and see howyou negate an implication?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r

Page 98: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

What goes below this line?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r¬(A → B)

??

Page 99: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here's the answer:

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r¬(A → B)

A ∧ ¬B

Page 100: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Remember, the only way for animplication to be false is if theantecedent (A) is true and the

consequent (B) is false!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 101: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

One of the most common mistakeswe see people make when negatingformulas is to get this wrong, so

commit this one to memory!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 102: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Okay! Now that we have ourrule, let's see how to negate

this formula.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 103: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

As before, we parenthesize it...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∧ q → r)

¬(A → B)

A ∧ ¬B

Page 104: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and put a negation out front.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

Page 105: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Now, we need to see whattemplate to apply.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

Page 106: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here, we're going to run into anoperator precedence issue, which

we haven't seen yet.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

Page 107: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Do we interpret the formulalike this?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

¬((p ∧ q) → r) (?)

Page 108: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Or like this?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

¬((p ∧ q) → r) (?)¬(p ∧ (q → r)) (?)

Page 109: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Before we tell you, why don'tyou look over your notes and

see what you find?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

¬((p ∧ q) → r) (?)¬(p ∧ (q → r)) (?)

Page 110: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Okay... you've got a guess?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

¬((p ∧ q) → r) (?)¬(p ∧ (q → r)) (?)

Page 111: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

The top one has the rightoperator precedence.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(p ∧ q → r)

¬(A → B)

A ∧ ¬B

¬((p ∧ q) → r) (?)¬(p ∧ (q → r)) (?)

Page 112: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Just to make it easier for usto remember that, let's go andadd those parentheses into our

top-level formula.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∧ q) → r)

¬(A → B)

A ∧ ¬B

¬((p ∧ q) → r) (?)¬(p ∧ (q → r)) (?)

Page 113: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So now we can look at ourtemplates and see which one

applies.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∧ q) → r)

¬(A → B)

A ∧ ¬B

Page 114: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here, we're negating animplication, so this rule applies.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∧ q) → r)

¬(A → B)

A ∧ ¬B

Page 115: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So we find the correspondence...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬((p ∧ q) → r)

¬(A → B)

A ∧ ¬B

Page 116: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and apply the template!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∧ q) ∧ ¬r

¬(A → B)

A ∧ ¬B

Page 117: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That gives us this expression.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∧ q) ∧ ¬r

¬(A → B)

A ∧ ¬B

Page 118: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

We can actually drop theparentheses here, since everythingis getting ANDed together and

AND is associative.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

¬(A → B)

A ∧ ¬B

Page 119: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

At this point, we can't simplifythings any more, so we're

done!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

¬(A → B)

A ∧ ¬B

Page 120: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

As before, we should check ourwork.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

¬(A → B)

A ∧ ¬B

Page 121: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here's the original formula.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 122: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

If we plug this expression intothe truth table tool, we cansee that these formulas are

indeed negations of one another.(Try it!)

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

(p ∧ q ∧ ¬r)↔

(p ∧ q → r)

¬(A → B)

A ∧ ¬B

Page 123: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

But, intuitively, why is that?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 124: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Notice that the original formula(the one on the bottom) says

“p and q implies r.”

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 125: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

That statement is going to betrue unless the antecedent(p and q) is true and theconsequent (r) is false.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 126: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So take a look at what ournegation (the top formula) says:it says “p and q are true, but r

is false.” It checks out!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 127: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Before we do another example,one detail that's worth noting isthat we didn't even touch the

antecedent.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 128: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Notice that it's the same in boththe original formula and the

negation.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 129: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

When you're negating statements,you don't necessarily negate

every part of them.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 130: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This is why these rules matter:they show you what parts getnegated and what parts stay

the same.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 131: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

It's important to keep that inmind – one of the more commonmistakes we see people make isnegating way more than they

should.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 132: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So, when in doubt, just keepapplying the templates!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

p ∧ q ∧ ¬r

p ∧ q → r

¬(A → B)

A ∧ ¬B

Page 133: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

With that said, let's doanother example.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Page 134: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

How might we negate thisstatement?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p → q → r

Page 135: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

You know the drill! first weparenthesize...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

(p → q → r)

Page 136: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...then we stick a negationout front.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

Page 137: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Now we just need to applytemplates.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

Page 138: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

It should be clear that we needto use this template for

implications, but how do weapply it?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

Page 139: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Specifically, which of theseinterpretations of the expression

are correct?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

¬((p → q) → r) (?)¬(p → (q → r)) (?)

Page 140: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Take a minute to review yournotes and make a guess.

Seriously, try it! It's a goodexercise.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

¬((p → q) → r) (?)¬(p → (q → r)) (?)

Page 141: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So you have a guess?If not, go make one before

going on.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

¬((p → q) → r) (?)¬(p → (q → r)) (?)

Page 142: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So this is the correctinterpretation. The operator→ operator

is right-associative.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → q → r)

¬((p → q) → r) (?)¬(p → (q → r)) (?)

Page 143: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Let's go put those parenthesesin up here.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → (q → r))

¬((p → q) → r) (?)¬(p → (q → r)) (?)

Page 144: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Okay! Now let's start applyingtemplates.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → (q → r))

Page 145: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Color-coding the antecedentand consequent lets us see

the structure...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(p → (q → r))

Page 146: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and makes it clear how wepush the negation inward.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ ¬(q → r)

Page 147: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Progress!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ ¬(q → r)

Page 148: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Now, we can apply thistemplate another time.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ ¬(q → r)

Page 149: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Before...

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ ¬(q → r)

Page 150: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

...and after!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

Page 151: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

So we're done!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

Page 152: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Here's the original formula andthe ultimate negation. You can(and should!) go check whetherthis is right using the truth

table tool.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

p → q → r

Page 153: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

But hold on a second...

does this negation seem familiar?

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

p → q → r

Page 154: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Hopefully it does – we sawearlier that it's the negation of

p ∧ q → r!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

p → q → r

Page 155: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This is exciting, because it meanswe just discovered something new!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

p → q → r

Page 156: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Since these two formulas have thesame negation, they must beequivalent to one another!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

p → q → r

p → q → r ≡ p ∧ q → rp → q → r ≡ p ∧ q → r

Page 157: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

This particular identity shows upin a lot of places, actually.

Curious? Come ask us about it!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

p ∧ q ∧ ¬r

p → q → r

p → q → r ≡ p ∧ q → rp → q → r ≡ p ∧ q → r

Page 158: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Okay, so now we have a rule fornegating implications. Great!

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Page 159: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Before we move on, there'ssomething important I'd like to

address.

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Page 160: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

If you'll remember, in class wesaw this equivalence:

¬(A ∧ B) ≡ A → ¬B

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Page 161: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

We can treat this as a newtemplate for negating AND:

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

¬(A ∧ B)

A → ¬B

Page 162: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬BLet's add it to the list.

¬(A ∧ B)

A → ¬B

Page 163: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We now have two different rulesfor negating ANDs.

¬(A ∧ B)

A → ¬B

Page 164: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We can use the truth table toolto check that both of these

rules are correct. Just punch inthe formulas to the left and

see what you get!

¬(A ∧ B)

A → ¬B

¬(A ∧ B) ↔ (¬A ∨ ¬B)

¬(A ∧ B) ↔ (A → ¬B)

Page 165: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

But what does it mean to havetwo different rules lying around

for negating AND?

¬(A ∧ B)

A → ¬B

Page 166: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This means that if we want tonegate an AND, we have twodifferent ways of doing it.

¬(A ∧ B)

A → ¬B

Page 167: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This template uses de Morgan'slaws. It tends to be more useful

when working in propositionallogic.

¬(A ∧ B)

A → ¬B

Page 168: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This template is based on thenegation rule for implications.It's more useful in first-order

logic.

¬(A ∧ B)

A → ¬B

Page 169: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now that we have severaldifferent negation rules available,we can talk about a key propertyof negations we've skipped up

to this point.

¬(A ∧ B)

A → ¬B

Page 170: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's look at how to negate thisformula.

¬(A ∧ B)

A → ¬B

p ∧ q ∧ r

Page 171: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Before we go over this onetogether, take a few minutes tonegate this one on your own.

¬(A ∧ B)

A → ¬B

p ∧ q ∧ r

Page 172: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Really, it's a good exercise.Don't continue onward until

you've done that.

¬(A ∧ B)

A → ¬B

p ∧ q ∧ r

Page 173: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So you negated it? Good!Great! Let's do it together.

¬(A ∧ B)

A → ¬B

p ∧ q ∧ r

Page 174: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

The first few steps should bepretty routine by this point -

parenthesize and negate!

¬(A ∧ B)

A → ¬B

¬(p ∧ q ∧ r)

Page 175: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we have a lot of differentoptions here. We have twodifferent templates for

negating AND...

¬(A ∧ B)

A → ¬B

¬(p ∧ q ∧ r)

Page 176: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...and at the same time, there aretwo equally correct ways ofparenthesizing this expression.

¬(A ∧ B)

A → ¬B

¬(p ∧ q ∧ r)

¬((p ∧ q) ∧ r)¬(p ∧ (q ∧ r))

Page 177: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Depending on which templatesyou use, and how you groupthings, you may end up withtotally different answers!

¬(A ∧ B)

A → ¬B

¬(p ∧ q ∧ r)

¬((p ∧ q) ∧ r)¬(p ∧ (q ∧ r))

Page 178: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's see what they look like.

¬(A ∧ B)

A → ¬B

¬(p ∧ q ∧ r)

¬((p ∧ q) ∧ r)¬(p ∧ (q ∧ r))

Page 179: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

For starters, let's parenthesizethings like this.

¬(A ∧ B)

A → ¬B

¬(p ∧ (q ∧ r))

Page 180: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's use this first template.We can be old-school.

¬(A ∧ B)

A → ¬B

¬(p ∧ (q ∧ r))

Page 181: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's the “before” picture...

¬(A ∧ B)

A → ¬B

¬(p ∧ (q ∧ r))

Page 182: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and the “after” picture.

¬(A ∧ B)

A → ¬B

¬p ∨ ¬(q ∧ r)

Page 183: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So now we have to simplifythe second part of this

expression.

¬(A ∧ B)

A → ¬B

¬p ∨ ¬(q ∧ r)

Page 184: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's use this template.

¬(A ∧ B)

A → ¬B

¬p ∨ ¬(q ∧ r)

Page 185: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Before...

¬(A ∧ B)

A → ¬B

¬p ∨ ¬(q ∧ r)

Page 186: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and after!

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)

Page 187: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So this is one possibleformula we could arrive at asthe negation of the original

formula.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)

Page 188: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This isn't all that easy to read.Let's try negating it a different

way.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)

Page 189: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Resetting back to where webegan...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)¬(p ∧ q ∧ r)

Page 190: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's parenthesize it like this.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)¬((p ∧ q) ∧ r)

Page 191: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, let's use this template.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)¬((p ∧ q) ∧ r)

Page 192: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That groups things like this...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)¬((p ∧ q) ∧ r)

Page 193: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...giving us this result!

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

Page 194: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And we're done! That waspretty fast. And we now havea very different formula than

the first one!

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

Page 195: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Of course, this isn't the onlyway you could do this.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

Page 196: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's see another one.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

¬(p ∧ q ∧ r)

Page 197: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We'll group things this way.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

¬(p ∧ (q ∧ r))

Page 198: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we'll apply this template.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

¬(p ∧ (q ∧ r))

Page 199: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This groups things in a prettydifferent way from before...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

¬(p ∧ (q ∧ r))

Page 200: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...so we end up with somethingpretty different than before!

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

p → ¬(q ∧ r)

Page 201: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We still need to simplify thatsecond part.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

p → ¬(q ∧ r)

Page 202: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's apply this templateagain.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

p → ¬(q ∧ r)

Page 203: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That takes us from here...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬r

p → ¬(q ∧ r)

Page 204: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...to here.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

Page 205: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And we're done! Anothertotally valid negation.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

Page 206: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's do one more.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

Page 207: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We'll start here...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r¬(p ∧ q ∧ r)

Page 208: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and group things like this.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬((p ∧ q) ∧ r)

Page 209: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's use the first template,for a change.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬((p ∧ q) ∧ r)

Page 210: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's where we start...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬((p ∧ q) ∧ r)

Page 211: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...and where we end.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬(p ∧ q) ∨ ¬r

Page 212: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we need to fix up thatfirst part.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬(p ∧ q) ∨ ¬r

Page 213: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We'll use this templateagain...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬(p ∧ q) ∨ ¬r

Page 214: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...taking us from here...

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬(p ∧ q) ∨ ¬r

Page 215: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...to here.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬r

Page 216: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And we're done!

A totally different, totally validnegation.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬r

Page 217: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

For reference, here are all thestatements you can get to usingthe above templates. Is your

answer on that list?

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 218: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So why did we go through this(admittedly lengthy) diversion?

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 219: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Well, any of these formulas arevalid negations of the original

formula.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 220: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

However, as you can see, not allof them are very easy to read.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 221: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We personally think that these twoare the cleanest of the negations.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 222: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Although we've stressed theimportance of working throughthese negations using templates,

there still is a bit of an art to it.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 223: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You'll sometimes have a choiceabout which templates to use,

and sometimes one choice will bemuch better than the others.

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 224: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Learning which rules to use takessome practice, but once you getthe hang of it, it's really not

too bad!

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 225: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

If you ever make an “inelegant”choice, just back up and choose

something else!

¬(A ∧ B)

A → ¬B

¬p ∨ (q → ¬r)p ∧ q → ¬rp → q → ¬r

¬p ∨ ¬q ∨ ¬rp → (¬q ∨ ¬r)(p → ¬q) ∨ ¬r

Page 226: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

To see this in action, let's talkabout how to negate biconditionals.

¬(A ∧ B)

A → ¬B

Page 227: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Although we didn't talk about itin class, there are two nicerules you can use to negate

a biconditional.

¬(A ∧ B)

A → ¬B

Page 228: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

They're shown above. Basically,you negate one side, leave theother alone, and leave theconnective unchanged.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 229: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

(As an aside, the biconditionalis the only connective that doesn't

change when negated. Nifty!)

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 230: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So let's put these new rules topractice by negating thestatement to the left.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ((q ∨ r) → p)

Page 231: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This one looks tricky! Don'tworry – it's not as bad as it

looks.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ((q ∨ r) → p)

Page 232: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We start off the same way thatwe always do – parenthesize and

negate.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 233: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we need to apply sometemplate here, so we need to

pick one of the two biconditionaltemplates.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 234: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we have a choice. We caneither negate the left-handside or the right-hand side.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 235: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Either way will work, but oneway is a lot easier than the

other.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 236: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's think a step ahead.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 237: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

If we negate this side,we're going to have to negatethe OR, and that's going torequire us to then negate the

AND.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 238: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

On the other hand, if we negatethis side, we just negate theimplication, which is going toleave the OR unchanged.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 239: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

As a result, let's try applying thistemplate, which negates the

left-hand side.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 240: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's the before shot...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬(((p ∧ q) ∨ r) ↔ ((q ∨ r) → p))

Page 241: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and the after.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ¬((q ∨ r) → p)

Page 242: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So now we need to push thisnegation deeper.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ¬((q ∨ r) → p)

Page 243: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That's a relativelystraightforward application of

this template.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ¬((q ∨ r) → p)

Page 244: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So we color-code forconvenience...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ¬((q ∨ r) → p)

Page 245: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...and simplify.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ((q ∨ r) ∧ ¬p)

Page 246: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And bam! We're done.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ((q ∨ r) ∧ ¬p)

Page 247: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You can – and should – checkthat this formula is correct byusing the truth table tool.

Here's the original as a reminder.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

((p ∧ q) ∨ r) ↔ ((q ∨ r) ∧ ¬p)

((p ∧ q) ∨ r) ↔ ((q ∨ r) → p)

Page 248: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So wow! We've covered a lotof ground. Let's recap.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 249: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We've recently introduced newtemplates for negating

implications and biconditionals.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 250: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You've seen that there's alsoa different way to negateANDs using implications.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 251: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And we touched a bit on the ideathat there's an art to choosing

these templates wisely.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 252: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That's basically everything we'dlike to say about negating

formulas in propositional logic.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 253: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

To wrap things up, let's talk abouthow to negate first-order logicformulas. Don't worry! They

follow the same basic set of rules.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 254: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Fundamentally, first-order logicis quite different from

propositional logic. Structurally,though, it's still propositions

joined by connectives.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 255: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

The only major difference is theintroduction of quantifiers. Onceyou know how to negate those,you can negate first-order

formulas with ease!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 256: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's see this with an example.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

Page 257: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's a formula from class.Do you remember what this says?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

Page 258: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's see how to negate it.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

Page 259: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

As before, we put a negationat the front. (Since this wholeformula is controlled by thequantifier, we don't need to

parenthesize it.)

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

Page 260: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we need some kind oftemplate for simplifying this

expression.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

Page 261: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

If you'll remember from lecture,we saw how to negate quantifiers:

push the negation across thequantifier, then flip the quantifier.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

Page 262: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Those rules look like this.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 263: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So let's go apply them!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 264: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here, we can apply this template.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 265: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That looks like this...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 266: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...so we end up here.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 267: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That's progress!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 268: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, how do we continue?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 269: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Well, notice that we have anegation applied to an implication.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 270: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Well, notice that we have anegation applied to an implication.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 271: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That suggests we should use thistemplate.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 272: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's the antecedent andconsequent, in case that makes

things clearer.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 273: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Applying the rule...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. ¬(Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 274: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...gives us this.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧¬∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 275: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Cool!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧¬∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 276: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

It's just a matter of repeatingthis process until we're done.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧¬∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 277: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here we have a negatedexistential statement...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧¬∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 278: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...which simplifies like this.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 279: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Great! Now, we have a negatedAND. It's a three-way AND,actually, but fortunately we'veseen lots of ways to handle this!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 280: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

While we can use any templatewe'd like here, when dealing withfirst-order logic, it's oftenuseful to use this rule, whichturns ANDs into implications.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 281: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We'll group things like this...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 282: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... which gives us this as a result.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 283: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And now we're done!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 284: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So how can we check whetherthis is right?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 285: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

When dealing with propositionallogic, we could just plug our

result into the truth table tool.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 286: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Unfortunately, first-order logicdoesn't have truth tables, sothat particular approach isn't

going to work.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 287: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

It turns out, more generally, thatit is objectively hard to checkwhether one first-order formula

is the negation of another.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 288: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You know how we've been talkingabout problems so hard that theycan't be solved by a computer?

This is one of them!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 289: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We're not going to talk aboutthat in CS103. Take Phil 152 or

CS154 for details!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 290: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So if there's no simple way toconfirm that we have the rightanswer, how do we know that

we've gotten it right?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 291: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

At some level, we have to trustthat we applied the templates

correctly.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 292: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

However, we still can do a fewquick checks to make sure wedidn't mess anything up.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 293: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

For example, we know that ∀ is (usually) paired with → operator

and that is (usually) paired with∃ is (usually) paired with

∧ .

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 294: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

A great way to check your workis to make sure that you didn'tbreak that rule. If you broke the

rule, chances are you made amistake somewhere.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 295: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here, notice that we do indeedobey the rules.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 296: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This is a good sign that wedidn't make any major mistakes.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 297: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

To check whether we really haveit, it's often useful to translate

the original and negated statementsinto English and to check those.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 298: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This statement says“there is someone that doesn't

love anyone else.”

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 299: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's our originalformula.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 300: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This says “everyone lovessomeone else.”

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∀x. (Person(x) →∃y. (Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 301: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

(Let's reset back to thenegated formula.)

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 302: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

The two translations are indeednegations of one another.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 303: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

If everyone loves someone else,there's no way that there couldbe a person who doesn't love

anyone else.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 304: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Similarly, if there's someone whodoesn't love anyone else, thenit's definitely not the case thateveryone loves someone else.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 305: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So overall we should be prettyconfident that we've properly

negated our formula.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 306: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

It passes our basic structuraltests, and also intuitively syncsup with what the formulas mean.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 307: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Before we move on, I wanted totouch on one question: why didwe use the “AND-to-implies”

template to negate the ANDs here?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 308: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

To answer that, let's roll backthe clock to the point where we

made that choice.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (Person(y) ∧ y ≠ x →

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 309: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here we are!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 310: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now, we saw a number of waysthat we can negate a three-way

AND. (It's almost like wedid that example intentionallyto set this discussion up!)

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 311: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's apply de Morgan's lawshere, using the rule that

¬(A ∧ B ∧ C) ≡ ¬A ∨ ¬B ∨ ¬C

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. ¬(Person(y) ∧ y ≠ x ∧

Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 312: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That gives us this result.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 313: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So this result is correct – weknow this because we applied valid

rules the whole way through...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 314: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...but it's a lot harder to readthis statement. That quantifier

reads “any y either isn't a person,or is equal to x, or x doesn't

love y.”

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 315: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That's quite a mouthful.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 316: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Plus, this breaks the usual patternof getting paired with ,∀ → operator

which makes it harder to check.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 317: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

One of the reasons why the “AND-to-implies” rule is so useful is that

it preserves which connectivespair with which quantifiers.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 318: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This is why we recommend thatyou not use de Morgan's laws

with AND and instead go with theother route. It's just a lot

easier!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

∃x. (Person(x) ∧∀y. (¬Person(y) ∨ ¬y ≠ x ∨

¬Loves(x, y))

)

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 319: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Having said that, let's go anddo another, more complex

example.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 320: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's a formula from settheory. Before we go on, canyou translate this into English?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 321: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This says “any two sets areequal if and only if they have thesame elements.” If you're not surewhy, dive into this and see if you

can convince yourself!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 322: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's see how to negate this.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 323: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Actually, let's not! Let's beginby having you take a stab at it.

Try negating this one!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 324: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Seriously, go try to negate it.Don't keep reading until you

do.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 325: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So you negated it? Like, really?Because once you see us do it

you'll never get to experience thethrill of discovering it yourself.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 326: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Okay! So let's do this!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 327: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's begin by putting anegation at the front. Again,since the whole statement is

quantified, we can pass on theparentheses.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 328: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We now have something matchingthis template, so let's go

apply it!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 329: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Before...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬∀S. ∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 330: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and after!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ¬∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 331: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We can now apply this templatea second time to this next

quantifier.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ¬∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 332: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Before...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ¬∀T. (Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 333: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and after!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. ¬(Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 334: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We now have a negationlined up against an

implication, so let's go andapply this template.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. ¬(Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 335: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Before...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. ¬(Set(S) ∧ Set(T) →(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 336: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... and after!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 337: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now our negation is sittingin front of a biconditional.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 338: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That means we have two choicesof which template to apply.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 339: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

But hey! Didn't we do somepractice with that one earlier?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 340: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

One of the lessons we took fromthat was that it's often usefulto look at which half would be

easier to negate.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 341: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This half would be pretty easyto negate – we just change the

= to a .≠.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 342: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This half would be a lot harderto negate – we'd have to push

the negation across the quantifier,then handle another biconditional.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 343: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Based on that, it makes a lotmore sense to negate the first

half of this biconditional, not thesecond.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 344: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So we'll apply this template...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧¬(S = T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 345: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...giving us this result.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S ≠ T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 346: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And at this point, we're done!Does this match what you had?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S ≠ T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 347: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You might have negated thesecond half of the biconditional

rather than the first.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S ≠ T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

Page 348: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

If you did, you'd get somethinglike this instead.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S ≠ T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S = T ↔ ∃x. (x ∈ S ↔ x ∉ T))

)

Page 349: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

If you did this, no worries!You're still correct. We justthink this is a harder route to

go down.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S ≠ T ↔ ∀x. (x ∈ S ↔ x ∈ T))

)

∃S. ∃T. (Set(S) ∧ Set(T) ∧(S = T ↔ ∃x. (x ∈ S ↔ x ∉ T))

)

Page 350: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Let's do one final examplebefore moving on to our

last topic.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 351: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

How might you negate thisformula?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 352: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

As before, take a few minutesto work through this one onyour own time. See what you

come up with!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 353: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You know the drill. This slideis here to make sure that you

actually did that work and didn'tjust skip by it.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 354: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Okay! So let's go negate this.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 355: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This formula is quite differentfrom the previous two in a subtle

way.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 356: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

The two previous formulas welooked at were formulas that

were quantified at the top level.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 357: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

By that, we mean that thoseformulas were of the form

∀ x. A or ∃ is (usually) paired withx. B.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 358: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This formula, on the other hand,is an implication where both theantecedent and consequent usequantifiers. However, the whole

formula is not quantified.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 359: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This means that, when we startoff, we'll fully parenthesize theexpression and negate it, ratherthan just tacking a negation

up-front.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) → (∃y. Happy(y))

Page 360: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here's what this now looks like.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬((∀x. Happy(x)) → (∃y. Happy(y)))

Page 361: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Notice that we now have anegation applied to an implication.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬((∀x. Happy(x)) → (∃y. Happy(y)))

Page 362: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That means that we'll usethis template, just as we normally

do.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬((∀x. Happy(x)) → (∃y. Happy(y)))

Page 363: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Here are the antecedent andconsequent – each of which isa bit complicated. If we apply

the template...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬((∀x. Happy(x)) → (∃y. Happy(y)))

Page 364: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

... we end up here.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ ¬(∃y. Happy(y))

Page 365: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

All that's left to do is pushthe negation across the

quantifier.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ ¬(∃y. Happy(y))

Page 366: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

That means we apply thisrule...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ ¬(∃y. Happy(y))

Page 367: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

...like this!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ (∀y. ¬Happy(y))

Page 368: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And now we're done. Nifty!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ (∀y. ¬Happy(y))

Page 369: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We included this example so thatyou'd see that, when dealing withfirst-order logic, you still haveto follow all the regular rules

for negating statements.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ (∀y. ¬Happy(y))

Page 370: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

You have to be careful to makesure that you don't negate

everything, and that you figureout what the top-level

structure is.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

(∀x. Happy(x)) ∧ (∀y. ¬Happy(y))

Page 371: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So we're almost done! We'regoing to do one last example.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 372: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

As you saw in lecture, sometimeswe allow for quantifiers over sets.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

Page 373: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

This means that you might seeformulas like this one.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀x ∈ S. ∃y ∈ S. x ≠ y

Page 374: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

How do you negate formulaslike these?

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀x ∈ S. ∃y ∈ S. x ≠ y

Page 375: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

The good news is that the rulesfor negating these “set quantifiers”are basically the same as the rules

for negating the regularquantifiers.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀x ∈ S. ∃y ∈ S. x ≠ y

Page 376: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

I've included them here. Youjust push the negation acrossthe quantifier and flip whichquantifier you're using.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀x ∈ S. ∃y ∈ S. x ≠ y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 377: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Based on that, let's finishthis one off and go home. ^_^

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∀x ∈ S. ∃y ∈ S. x ≠ y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 378: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We begin – as we are wont todo – by putting a negation

in front.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬∀x ∈ S. ∃y ∈ S. x ≠ y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 379: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

We match this template,so let's go apply it!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬∀x ∈ S. ∃y ∈ S. x ≠ y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 380: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Tada!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃x ∈ S. ¬∃y ∈ S. x ≠ y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 381: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

Now we match this one...

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃x ∈ S. ¬∃y ∈ S. x ≠ y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 382: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

And we're done!

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

∃x ∈ S. ∀y ∈ S. x = y

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 383: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

¬(A ∨ B)

¬A ∧ ¬B

¬(A ∧ B)

¬A ∨ ¬B

¬¬A

A

¬(A → B)

A ∧ ¬B

So there you have it. We havea collection of templates that wecan apply to negate formulas.

¬(A ∧ B)

A → ¬B

¬(A ↔ B)

A ↔ ¬B

¬(A ↔ B)

¬A ↔ B

¬∀x. A

∃x. ¬A

¬∃x. A

∀x. ¬A

¬∀x ∈ S. A

∃x ∈ S. ¬A

¬∃x ∈ S. A

∀x ∈ S. ¬A

Page 384: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Hope this helps!

Please feel free to askquestions if you have them.

Page 385: web.stanford.eduweb.stanford.edu/class/archive/cs/cs103/cs103.1202/notes...¬(A ∨ B) ¬A ∧ ¬B ¬(A ∧ B) ¬A ∨ ¬B ¬¬A A ¬(A → B) A ∧ ¬B This says “any two sets are

Did you find this useful? Ifso, let us know! We can go

and make more guides like these.