Upload
tallulah-raymond
View
22
Download
3
Tags:
Embed Size (px)
DESCRIPTION
CPSC 121: Models of Computation 2010/11 Winter Term 2. Propositional Logic: Conditionals and Logical Equivalence Steve Wolfman, based on notes by Patrice Belleville and others. Outline. Prereqs, Learning Goals, and Quiz Notes Problems and Discussion Logical equivalence practice - PowerPoint PPT Presentation
Citation preview
snick
snack
CPSC 121: Models of Computation2010/11 Winter Term 2
Propositional Logic: Conditionals and Logical Equivalence
Steve Wolfman, based on notes by Patrice Belleville and others
1
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion– Logical equivalence practice– How to write a logical equivalence proof– A flaw in our model
• Next Lecture Notes
2
Quiz 2 Review:Circuits?
Our most common meaning for circuit will be “the set of gates (and other electronics components) that collectively map a set of inputs to the desired output(s)”.
When we ask if multiple different circuits can correctly map input numbers to an output that controls an LED in the display, we mean “are there alternative designs to solve the problem?”
3
Quiz 2 Review:“Meaning” of
When I say “if it’s raining, I’ll bring my umbrella”, do I mean:
In other words, I might bring my umbrella even if it’s not raining?
Probably not, in English.
BUT, in logic always means exactly that truth table! It just isn’t a great match for “normal” English. Better for legalistic English…
4
r u r u
T T T
T F F
F T T
F F T
Quiz 2 Review:“Meaning” of
Consider the following truth table for p ~q
And, consider the following statement: “p cannot be true unless q is false.”
Does this mean the same thing as p ~q?5
p q ~q p ~q
T T F F
T F T T
F T F T
F F T T
Quiz 2 Review:“Meaning” of
Consider the following truth table for p ~q
And, consider the following statement: “p cannot be true unless q is false.”
Does this mean the same thing as p ~q?6
p q ~q p ~q
T T F F
T F T T
F T F T
F F T T
Quiz 2 Review:“Meaning” of
Consider the following truth table for p ~q
And, consider the following statement: “If p is true, it guarantees q is false.”
Does this mean the same thing as p ~q?7
p q ~q p ~q
T T F F
T F T T
F T F T
F F T T
Quiz 2 Review:“Meaning” of
Consider the following truth table for p q
And, consider the following statement: “Either p and q, or ~p and ~q.”
Does this mean the same thing as p q?8
p q p q
T T T
T F F
F T F
F F T
Quiz 2 Review:“F” vs. “c”
I think “c” is a terrible symbol to use for a contradiction because “a” and “b” are natural variables to use in propositional logic expressions, and “c” is a natural one to use next.
We will use “F” instead and avoid capital letters as names for propositional logic variables.
9
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 10
Learning Goals: In-Class
By the end of this unit, you should be able to:– Explore alternate forms of propositional logic
statements by application of equivalence rules, especially in order to simplify complex statements or massage statements into a desired form.
– Evaluate propositional logic as a “model of computation” for combinational circuits, including at least one explicit shortfall (e.g., referencing gate delays, fan-out, transistor count, wire length, instabilities, shared sub-circuits, etc.).
11
Where We Are inThe Big Stories
Theory
How do we model computational systems?
Now: practicing our second technique for formally establishing the truth of a statement (logical equivalence proofs).
(The first technique was truth tables.)
Hardware
How do we build devices to compute?
Now: learning to modify circuit designs using our logical model, gaining more practice designing circuits, and identifying a flaw in our model for circuits.
12
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion– Logical equivalence practice– How to write a logical equivalence proof– A flaw in our model
• Next Lecture Notes
13
Problem: 4-Segment LED Display
Problem: Build a circuit that displays the numbers 1 through 9 represented by four Boolean values a, b, c, and d on a 4-segment Boolean display.
1 2 3 4 5
6 7 8 9
14
Problem: 4-Segment LED Display
Problem: Build a circuit that displays the numbers 1 through 9 represented by four Boolean values a, b, c, and d on a 4-segment Boolean display.
1 2 3 4 5
6 7 8 9
15
321
654
987
RECALL: Representing Positive Integers
16
This is the convention we (and computers) use for the positive integers 0-9, which requires 4 variables:
# 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
...
Problem: Equivalent Circuits
Problem: Consider these circuits for the top LED in the 4-segment display (assuming inputs abcd from the previous table):
1.(~a b) (a ~b ~c)
2.(~a b) a3.a b
4.a b
17
321
654
987
Problem: Equivalent Circuits
Problem: Consider these circuits for the top LED in the 4-segment display (assuming inputs abcd from the previous table).
1.(~a b) (a ~b ~c)
2.(~a b) a3.a b
4.a b
Which of 2, 3, and 4 are equivalent?a.None of them.b.2 and 3 but not 4.c.2 and 4 but not 3.d.3 and 4 but not 2.e.2, 3, and 4.
18
321
654
987
Problem: Equivalent Circuits
Problem: Consider these circuits for the top LED in the 4-segment display (assuming inputs abcd from the previous table).
1.(~a b) (a ~b ~c)
2.(~a b) a3.a b
4.a b
How many of these are correct?a.None of them.b.One of them.c.Two of them.d.Three of them.e.All four of them.
19
321
654
987
Problem: Equivalent Circuits
Problem: Consider these circuits for the top LED in the 4-segment display (assuming inputs abcd from the previous table).
1.(~a b) (a ~b ~c)
2.(~a b) a3.a b
4.a b
Which of these proves that circuit 1 is not equivalent to circuit 3:a.2 and 4 are equivalentb.1 mentions c but 3 does not.c.1 is false with a=T b=F c=T.d.None of these.
20
321
654
987
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion– Logical equivalence practice– How to write a logical equivalence proof– A flaw in our model
• Next Lecture Notes
21
Writing an Equiv Proof: Prove (~a b) a a b
Theorem: (~a b) a a bProof:
(~a b) a
a (~a b) by commutativity
(a ~a) (a b) by distribution
...to be filled in...
a b by identity
QED22
Writing an Equiv Proof: Prove (~a b) a a b
Theorem: (~a b) a a bProof:
(~a b) a
a (~a b) by commutativity
(a ~a) (a b) by distribution
...to be filled in...
a b by identity
QED23
State your theorem.
Explicitly start the proof.
Start with one side...
Writing an Equiv Proof: Prove (~a b) a a b
Theorem: (~a b) a a bProof:
(~a b) a
a (~a b) by commutativity
(a ~a) (a b) by distribution
...to be filled in...
a b by identity
QED24
Start with one side...
Each line starts with to indicate it’s equivalent to the previous line.
...and work to the other.
End with QED!
Writing an Equiv Proof: Prove (~a b) a a b
Theorem: (~a b) a a bProof:
(~a b) a
a (~a b) by commutativity
(a ~a) (a b) by distribution
...
a b by identity
QED25
Give the next statement. And justify how you got it.
Problem: Prove (~a b) a a b
Theorem: (~a b) a a bProof:
(~a b) a
a (~a b) by commutativity
(a ~a) (a b) by distribution
?????? by negation
a b by identity
QED
26
What’s missing?
a.(a b)b.F (a b)c.a (a b)d.None of these, but I know what it is.e.None of these, and there’s not enough information to tell.
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion– Logical equivalence practice– How to write a logical equivalence proof– A flaw in our model
• Next Lecture Notes
27
“Multiplexer”
A circuit that, given three inputs a, b, and c (the “control” signal), outputs a’s value when c is F and b’s when c is T.
This circuit is called a multiplexer.
a
bout
c
0
1
28
(~a b c) ( a ~b ~c) ( a b ~c) ( a b c)
a b c out
F F F F
F F T F
F T F F
F T T T
T F F T
T F T F
T T F T
T T T T
MUX Design
Here’s one implementation of the multiplexer (MUX) circuit.
(Is this equivalentto the previousslide’s formula?Good question...prove that it is forpractice at home!)
29
a
bout
c
0
1
Truthy MUX
What is the intended output if both a and b are T?
a. T
b. F
c. Unknown... but could be answered given a value for c.
d. Unknown... and might still be unknown even given a value for c.
30
a
bout
c
0
1
Glitch in MUX Design
Imagine the circuit is in steady-state with a, b, and c all T.
Trace how changes flow when we change c to F, if each gate takes 10ns to operate.
31PRACTICE: Prove that this circuit’s model is logically
equivalent to the previous slide’s statement.
a
bout
c
0
1
Tracing a MUX
Assume the output starts at 1. We want it to end up at 1. How long does it take before it’s stable? (Choose the best answer.)
a.0 ns (it never varies from 1)
b.10 ns (it varies before 10ns, but not after)
c.20 ns
d.30 ns
e.40 ns35
a
bout
c
0
1
Other MUX Glitches?
The mux glitches because information from c travels two paths with different delays. While the longer path “catches up” the circuit can be incorrect.
PRACTICE: Trace the circuit to show why none of these can cause a glitch:• Changing a (keeping b and c constant)• Changing b (keeping a and c constant)• Changing c (keeping a and b constant if at least
one of them is F)
42
a
bout
c
0
1
A Glitchless MUX
This circuit uses what we know when a = b = T.
PRACTICE: Prove that it’s logically equivalent to the original MUX.
Hint: break a b up into two cases, one where c is true and one where c is false: a b c and a b ~c.
43
a
bout
c
0
1
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion– Logical equivalence practice– How to write a logical equivalence proof– A flaw in our model
• Next Lecture Notes
44
Learning Goals: In-Class
By the end of this unit, you should be able to:– Explore alternate forms of propositional logic
statements by application of equivalence rules, especially in order to simplify complex statements or massage statements into a desired form.
– Evaluate propositional logic as a “model of computation” for combinational circuits, including at least one explicit shortfall (e.g., referencing gate delays, fan-out, transistor count, wire length, instabilities, shared sub-circuits, etc.).
45
Next Lecture Learning Goals: Pre-Class
By the start of class, you should be able to:– Convert positive numbers from decimal to binary
and back.
– Convert positive numbers from hexadecimal to binary and back.
– Take the two’s complement of a binary number.
– Convert signed (either positive or negative) numbers to binary and back.
– Add binary numbers.
46
Next Lecture Prerequisites
Read Section 1.5 and the supplemental handout: http://www.ugrad.cs.ubc.ca/~cs121/2009W1/Handouts/signed-binary-decimal-conversions.html
Solve problems like Exercise Set 1.5, #1-16, 27-36, and 41-46.
NOTE: the binary numbers in problems 27-30 are signed (that is, they use the two’s complement representation scheme).
Complete the open-book, untimed quiz on Vista that’s due before the next class.
47
PRACTICE Problem: Arbitrary Logic Expression
Problem: Aliens hold the Earth hostage, and only you can save it by proving (a b) ~(b a) ~a b.
Reminder (p. 20 of Epp, 3d ed.): p q ~p qHint: usually start these problems from the more complex side.
49
Problem: String equals
Consider the following from the Java 6 API documentation for the String class’s equals method:...The [method returns] true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.
Let n1 mean “this string is null”, n2 mean “the argument is null”, r mean “the method returns true”, and s mean “the two strings are objects that represent the same sequence of characters”.
Presumably any two null strings are equal to each other. Then, equality would become something like “the method returns true if and only if the two strings both null or are objects that represent the same sequence of characters”.
Problem: Is that logically equivalent to the statement from the API? Why or why not?
50
Problem: Decisions in Code
Consider the following code, part of a “binary bounds search”:if target equals value then
if lean-left-mode is true
call the go-left routine
otherwise
call the go-right routine
otherwise if target is less than value then
call the go-left routine
otherwise
call the go-right routine
51
Problem: Decisions in Code
Let gl mean “the go-left routine is called”
Problem: complete the logical expression
gl _____________________
Problem: Use your logic to simplify the pseudocode so it requires just one “if/otherwise”.
52
Problem: Prove (~a b) a a b
Theorem: (~a b) a a bProof:
(~a b) a
a (~a b) by commutativity
(a ~a) (a b) by distribution
...
a b by identity
QED53
State your theorem.
Explicitly start the proof.
Start with one side...
Each line starts with to indicate it’s equivalent to the previous line.
Give the next statement. And justify how you got it.
End with QED!
...and work to the other.