38
snick snack CPSC 121: Models of Computation 2011 Winter Term 1 Propositional Logic, Continued Steve Wolfman, based on notes by Patrice Belleville and others 1

CPSC 121: Models of Computation 2011 Winter Term 1

Embed Size (px)

DESCRIPTION

CPSC 121: Models of Computation 2011 Winter Term 1. Propositional Logic, Continued Steve Wolfman, based on notes by Patrice Belleville and others. Outline. Learning Goals Problems and Discussion Side note: numbers from Booleans Expressiveness of Propositional Logic Next Lecture Notes. - PowerPoint PPT Presentation

Citation preview

Page 1: CPSC 121: Models of Computation 2011 Winter Term 1

snick

snack

CPSC 121: Models of Computation2011 Winter Term 1

Propositional Logic, Continued

Steve Wolfman, based on notes by Patrice Belleville and others

1

Page 2: CPSC 121: Models of Computation 2011 Winter Term 1

Outline

• Learning Goals

• Problems and Discussion– Side note: numbers from Booleans

• Expressiveness of Propositional Logic

• Next Lecture Notes

2

Page 3: CPSC 121: Models of Computation 2011 Winter Term 1

Learning Goals: In-Class

By the end of this unit, you should be able to:– Build combinational computational systems

using propositional logic expressions and equivalent digital logic circuits that solve real problems, e.g., our 7- or 4-segment LED displays (using a “DNF” or any other successful approach).

3

Page 4: CPSC 121: Models of Computation 2011 Winter Term 1

Where We Are inThe Big Stories

Theory

How do we model computational systems?

Now: learning the underpinnings of all our models (formal logical reasoning with Boolean values).

Hardware

How do we build devices to compute?

Now: establishing our baseline tool

(gates), briefly justifying these as baselines, and designing complex

functions from gates.

4

Page 5: CPSC 121: Models of Computation 2011 Winter Term 1

Outline

• Learning Goals

• Problems and Discussion– Side note: numbers from Booleans

• Expressiveness of Propositional Logic

• Next Lecture Notes

5

Page 6: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display

Problem: Design a circuit that displays the numbers 0 through 9 using seven LEDs (lights) in the shape illustrated above.

6

Page 7: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display

Problem: Design a circuit that displays the numbers 0 through 9 using seven LEDs (lights) in the shape illustrated above.

Understanding the story: How many inputs are there?

a.Oneb.Sevenc.Tend.Sixteene.None of these

7

Page 8: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display

Problem: Design a circuit that displays the numbers 0 through 9 using seven LEDs (lights) in the shape illustrated above.

First: what’s the circuit’s job?

8

Page 9: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display“Input Symbols”

Problem: Design a circuit that displays the numbers 0 through 9 using seven LEDs (lights) in the shape illustrated above.

How many different messages must the circuit understand?

a.Oneb.Sevenc.Tend.Sixteene.None of these

9(This is not the intended question when we ask: “how many inputs are there”.)

Page 10: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display“Input Lines”

Problem: Design a circuit that displays the numbers 0 through 9 using seven LEDs (lights) in the shape illustrated above.

How many different “parameters” carry those messages?

a.Oneb.Sevenc.Tend.Sixteene.None of these

10Not quite parameter like in CPSC 110…

more like an input “channel”.

Page 11: CPSC 121: Models of Computation 2011 Winter Term 1

Side Note: Truth Tables and Numbers

If we agree on a convention for the rows of a truth table, we can assign a number to each row… # a b c

0 F F F

1 F F T

2 F T F

3 F T T

4 T F F

5 T F T

6 T T F

7 T T T

Of course, as Epp says, we could agree on a different convention.

11

Page 12: CPSC 121: Models of Computation 2011 Winter Term 1

Representing Positive Integers

This is the convention we use for the positive integers 0-9, which requires (at least) 4 variables:

Notice the order: Fs first.

# a b c d

0 F F F F

1 F F F T

2 F F T F

3 F F T T

4 F T F F

5 F T F T

6 F T T F

7 F T T T

8 T F F F

9 T F F T

...12

Page 13: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display

Problem: Design a circuit that displays the numbers 0 through 9 using seven LEDs (lights) in the shape illustrated above.

Understanding the story: How many outputs are there?

a.Oneb.Sevenc.Tend.Sixteene.None of these

13

Is that a good question?

Page 14: CPSC 121: Models of Computation 2011 Winter Term 1

Exercise:Human Circuit

Let’s simulate the display with people.

If you’re not at the front,pick one person andthink about what theiralgorithm is.

14

Page 15: CPSC 121: Models of Computation 2011 Winter Term 1

Exercise:Human Circuit

Which other people’s algorithms does your person need to know about?

a.No one else’s

b.Only their neighbours’

c.Everyone else’s

d.Some other group

15

Page 16: CPSC 121: Models of Computation 2011 Winter Term 1

Analyzing One Segment

What’s the truth table for the lower-left segment?

# a b c d

0 F F F F

1 F F F T

2 F F T F

3 F F T T

4 F T F F

5 F T F T

6 F T T F

7 F T T T

8 T F F F

9 T F F T

out

F

T

F

T

F

T

F

T

F

T

a. b. c. d. e. None of these.out

0

2

6

8

out

T

F

T

F

F

F

T

F

T

F

out

F

T

F

T

T

T

F

T

F

T16

Page 17: CPSC 121: Models of Computation 2011 Winter Term 1

Analyzing One Segment

From the truth table, we can make an expression for each true row and OR them together.

# a b c d out

0 F F F F T

1 F F F T F

2 F F T F T

3 F F T T F

4 F T F F F

5 F T F T F

6 F T T F T

7 F T T T F

8 T F F F T

9 T F F T F17

(??) (??) (??) (??)

See Epp (4th ed) Example 2.4.5!(3rd ed Example 1.4.5)

Let’s try one!

Page 18: CPSC 121: Models of Computation 2011 Winter Term 1

Analyzing One Segment

From the truth table, we can make an expression for each true row and OR them together.

# a b c d out

0 F F F F T

1 F F F T F

2 F F T F T

3 F F T T F

4 F T F F F

5 F T F T F

6 F T T F T

7 F T T T F

8 T F F F T

9 T F F T F18

Which logical statement is true only in this row?

a.~a ~b c ~db.a b c dc.~a ~b c ~dd.a b ~c de.None of these

Page 19: CPSC 121: Models of Computation 2011 Winter Term 1

Analyzing One Segment

From the truth table, we can make an expression for each true row and OR them together.

# a b c d out

0 F F F F T

1 F F F T F

2 F F T F T

3 F F T T F

4 F T F F F

5 F T F T F

6 F T T F T

7 F T T T F

8 T F F F T

9 T F F T F19

(~a ~b ~c ~d) (~a ~b c ~d) (~a b c ~d) ( a ~b ~c ~d)

Page 20: CPSC 121: Models of Computation 2011 Winter Term 1

Designing the Expression with Many Ts

Let’s try another LED: the upper-right.

With eight Ts, we’d need eight expressions!

Too bad we can’t model Fs rather than Ts!

# a b c d out

0 F F F F T

1 F F F T T

2 F F T F T

3 F F T T T

4 F T F F T

5 F T F T F

6 F T T F F

7 F T T T T

8 T F F F T

9 T F F T T20

Page 21: CPSC 121: Models of Computation 2011 Winter Term 1

Designing the Expression with Many Ts

We can by negating statement we construct!

(Instead of building out, we build ~out and then negate it.)# a b c d out

0 F F F F T

1 F F F T T

2 F F T F T

3 F F T T T

4 F T F F T

5 F T F T F

6 F T T F F

7 F T T T T

8 T F F F T

9 T F F T T

Which of these correctly models the LED?

a. ~(~a b ~c d) ~(~a b c ~d) b. ~(a ~b c ~d) ~(a ~b ~c d) c.~[(~a b ~c d) (~a b c ~d)]d.~[(a ~b c ~d) (a ~b ~c d)]e.None of these

21

Page 22: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 7-Segment LED Display

Problem: Design the seven LED display circuit.

Approach: Solve each of the seven outputs separately and put the whole thing together.

Here’s the two LEDs we’ve solved, simplified:

22

Page 23: CPSC 121: Models of Computation 2011 Winter Term 1

PRACTICE Exercise for Logical Equivalences

Prove that our solution for the upper-right LED is logically equivalent to the corresponding circuit on the previous slide.

Prove that our solution for the lower-left LED is not logically equivalent to the corresponding circuit on the previous slide, and explain why not.

Note: to disprove a logical equivalence, you must give truth values for the inputs that yield different outputs.

23

Page 24: CPSC 121: Models of Computation 2011 Winter Term 1

PRACTICE Exercise for Circuit Design

Finish the problem!

24

Page 25: CPSC 121: Models of Computation 2011 Winter Term 1

Concept Q: 7-Segment LED

Imagine we were solving for one LED in a display for “Brahmi” numerals. Which of these would never make our problem harder?

a. More entries in the LED’s column of the truth table that are true (turn some Fs into Ts).

b. Fewer entries in the LED’s column of the truth table that are true (turn some Ts into Fs).

c. More legal input symbols (e.g., 0-15 instead of 0-9).

d. Fewer legal input symbols (e.g., 0-4 instead of 0-9).

e. All of these could make the problem harder.

25

Page 26: CPSC 121: Models of Computation 2011 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Problems and Discussion– Side note: numbers from Booleans

• Expressiveness of Propositional Logic

• Next Lecture Notes

26

Page 27: CPSC 121: Models of Computation 2011 Winter Term 1

Homework Problem: Expressiveness of Propositional Logic

Problem: Is propositional logic (and combinational circuits) universal for Boolean functions—able to implement a truth table with any number of columns and list of T and F in the output?a b c d out

F F F F F

F F F T T

F F T F T

F F T T F

F T F F T

...

F T T F F

F T T T F

T F F F F

T F F T F

?27

Page 28: CPSC 121: Models of Computation 2011 Winter Term 1

Homework Problem: Expressiveness of Propositional Logic

Problem: Is propositional logic universal for Boolean functions?

You’ll prove this with an algorithm to turn any truth table into a corresponding propositional logic statement.

Universality is a pretty cool result for our very first model!

28

Page 29: CPSC 121: Models of Computation 2011 Winter Term 1

Outline

• Prereqs, Learning Goals, and Quiz Notes

• Problems and Discussion– Side note: numbers from Booleans

• Expressiveness of Propositional Logic

• Next Lecture Notes

29

Page 30: CPSC 121: Models of Computation 2011 Winter Term 1

Learning Goals: In-Class

By the end of this unit, you should be able to:– Build combinational computational systems

using propositional logic expressions and equivalent digital logic circuits that solve real problems, e.g., our 7- or 4-segment LED displays.

30

Page 31: CPSC 121: Models of Computation 2011 Winter Term 1

Next Lecture Learning Goals: Pre-Class

By the start of class, you should be able to:– Translate back and forth between simple natural

language statements and propositional logic, now with conditionals and biconditionals.

– Evaluate the truth of propositional logical statements that include conditionals and biconditionals using truth tables.

– Given a propositional logic statement and an equivalence rule, apply the rule to create an equivalent statement.

Example: given (u s) s, apply p  q ~p q.Note: p maps to (u s) and q maps to s.Result: ~(u s) s 31

Page 32: CPSC 121: Models of Computation 2011 Winter Term 1

Next Lecture Prerequisites

Reread Sections 1.1 and 1.4 (3rd ed) or 2.1 and 2.4 (4th ed).

Read Section 1.2 (3rd ed) or 2.2 (4th ed).

Complete the open-book, untimed quiz on Vista that’s due before the next class.

32

Page 33: CPSC 121: Models of Computation 2011 Winter Term 1

snick

snack

Some Things to Try...

(on your own if you have time, not required)

33

Page 34: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: 4-Segment LED Display

Problem: build a circuit that displays the numbers 1 through 9 represented by four Boolean values p, q, r, and s on a 4-segment Boolean display.

1 2 3 4 5

6 7 8 9

34

Page 35: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: One-Bit Addition

Problem: build a circuit that takes three one-bit numbers as input and outputs their sum as a two-bit number.

35

Page 36: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: Updating the “PC”

Problem: Create logic that calculates the amount to increase the PC by, given the values NeedValC and NeedRegIDs.

36

Page 37: CPSC 121: Models of Computation 2011 Winter Term 1

Problem: Updating the “PC”

37

Page 38: CPSC 121: Models of Computation 2011 Winter Term 1

Concept Q: Fetch Logic

What’s the minimum number of Boolean outputs necessary for this circuit?

a.1

b.2

c.3

d.4

e.Cannot be determined from the information given.

38