p - Homepages | The University of Aberdeen

advertisement
University of Aberdeen, Computing Science
CS2013
Mathematics for Computing
Science
Adam Wyner
Adapted from
Michael P. Frank's course based on the text
Discrete Mathematics & Its Applications
(5th Edition)
by Kenneth H. Rosen
Propositional Logic
Rosen 5th ed., §§1.1-1.2 (but much extended)
~85 slides, ~2 lectures
Foundations of Logic
Mathematical Logic is a tool for working with
compound statements. It includes:
• A formal language for expressing them.
• A methodology for reasoning about their
truth or falsity.
• It is the foundation for expressing formal
proofs in all branches of mathematics.
CS2013 Univ of Aberdeen
2
Two Logical Systems:
1. Propositional logic
2. Predicate logic (extends 1. )
Many other logical `calculi` exist,
but they tend to resemble these two
CS2013 Univ of Aberdeen
3
Propositional Logic (§1.1)
Propositional Logic is the logic of compound
statements built from simpler statements
using so-called Boolean connectives.
Some applications in computer science:
• Design of digital electronic circuits.
• Expressing conditions in programs.
• Queries to databases & search engines.
CS2013 Univ of Aberdeen
George Boole
(1815-1864)
Chrysippus of Soli
(ca. 281 B.C. – 205 B.C.)4
Propositions in natural language
In propositional logic, a proposition is simply:
• a statement (i.e., a declarative sentence)
– with some definite meaning
• having a truth value that’s either true (T) or false
(F). Only values statements can have.
– Never both, or somewhere “in between”.
However, you might not know the
truth value
CS2013 Univ of Aberdeen
5
Examples of NL Propositions
• “It is raining.” (In a given situation.)
• “Beijing is the capital of China, and 1 + 2 = 2”
But, the following are NOT propositions:
• “Who’s there?” (interrogative: no truth value)
• “x := x+1” (imperative: no truth value)
• “1 + 2” (term: no truth value)
CS2013 Univ of Aberdeen
6
Propositions in Propositional Logic
• Atoms: p, q, r, …
(Corresponds with simple English sentences, e.g.
‘I had salad for lunch’)
• Complex propositions : built up from atoms using
operators: pq
(Corresponds with compound English sentences,
e.g., “I had salad for lunch and I had steak for
dinner.”)
CS2013 Univ of Aberdeen
7
Defining Propositions
• Logic defines notions of atomic and
complex propositions and what complex
propositions “mean”.
• We explain by example, giving precise
definitions.
CS2013 Univ of Aberdeen
8
Operators / Connectives
An operator or connective combines with n
operand expressions into a larger
expression.
• Unary operators take 1 operand;
• Binary operators take 2 operands.
• Propositional or Boolean operators operate
on propositions instead of on numbers (+,-).
CS2013 Univ of Aberdeen
9
Common Boolean Operators
Formal Name
Nickname Arity
Negation operator
NOT
Unary
¬
Conjunction operator
AND
Binary

Disjunction operator
OR
Binary

Exclusive-OR operator XOR
Binary

Implication operator
IMPLIES
Binary
Biconditional operator
IFF
Binary

↔
CS2013 Univ of Aberdeen
Symbol
10
The Negation Operator
The unary negation operator “¬” (NOT)
combines with one prop, transforming the
prop into its negation.
E.g. If p = “I have brown hair.”
then ¬p = “I do not have brown hair.”
p p
The truth table for NOT:
T :≡ True; F :≡ False
“:≡” means “is defined as”
CS2013 Univ of Aberdeen
T
F
Operand
column
F
T
Result
column
11
Truth-functionality
• Truth table expresses truth/falsity of ¬p in
terms of truth/falsity of p
• This not possible for the operator
‘tomorrow’, or `probably’:
– ‘Tomorrow p’ is true iff p is ….’??
– ‘Probably p’ is true iff p is ….’??
CS2013 Univ of Aberdeen
12
Truth-functionality
• Truth table expresses truth/falsity of ¬p in terms of
truth/falsity of p.
• Each horizontal line of the table expresses some alternative
context.
• Truth-functional operator: an operator that is a function
from the truth values of the component expressions to a
truth value.
• NOT is truth functional. Yesterday is not.
• Propositional logic is only about truth-functional operators.
• We can compute the values of the complex expressions.
CS2013 Univ of Aberdeen
13
Comment on Truth
• Not concerned with the "meaning" of a proposition other
than whether it is true or false. Not about "how" we know
it is true or false, but supposing it is, what else do we
know. Abstraction.
• The "truth" of a proposition determined "by inspection" –
The book is on the table. The "real" world.
• The "truth" determined by "stipulation"- suppose The book
is on the table is true. Not the "real" world.
• Mostly we are stipulate truth of a proposition. The truth
value of P is true/false.
CS2013 Univ of Aberdeen
14
The Conjunction Operator
The binary conjunction operator “” (AND)
combines two propositions to form their
logical conjunction.
E.g. If p=“I will have salad for lunch.” and
q=“I will have steak for dinner.”, then
pq=“I will have salad for lunch and
I will have steak for dinner.”
CS2013 Univ of Aberdeen
15
Conjunction Truth Table
Operand columns
• Note that a
p q
pÙq
conjunction
p1  p2  …  pn
F F
F
of n propositions
F T
F
will have 2n rows
T F
F
in its truth table.
T T
T
• Also: ¬ and  operations together can
express any Boolean truth table! more later
CS2013 Univ of Aberdeen
16
The Disjunction Operator
The binary disjunction operator “” (OR)
combines two propositions to form their
logical disjunction.
p=“My car has a bad engine.”
q=“My car has a bad carburator.”
pq=“Either my car has a bad engine, or
my car has a bad carburetor.”
CS2013 Univ of Aberdeen
17
Disjunction Truth Table
• Note that pq means
p q pq
that p is true, or q is
F F F
true, or both are true!
Note
F T T difference
• So, this operation is
T
F
T
from AND
also called inclusive or,
T
T
T
because it includes the
possibility that both p and q are true.
• “¬” and “” together are also universal.
CS2013 Univ of Aberdeen
18
Nested Propositional Expressions
• Use parentheses to group sub-expressions:
“I just saw my old friend, and either he’s
grown or I’ve shrunk.” = f  (g  s)
(f  g)  s would mean something different
f  g  s would be ambiguous
• By convention, “¬” takes precedence over
both “” and “”.
¬s  f means (¬s)  f rather than ¬ (s  f)
CS2013 Univ of Aberdeen
19
Logic as shorthand for NL
Let p=“It rained last night”,
q=“The sprinklers came on last night,”
r=“The lawn was wet this morning.”
¬p
= It didn't rain last night.
The lawn was wet this morning, and
r  ¬p
= it didn’t rain last night.
¬ r  p  q = Either the lawn wasn't wet this
morning, or it rained last night, or the
sprinklers came on last night.
CS2013 Univ of Aberdeen
20
Some important ideas:
• Distinguishing between different kinds of
formulas
• Seeing that some formulas that look
different may express the same information
• First: different kinds of formulas
CS2013 Univ of Aberdeen
21
Tautologies
A tautology is a compound proposition that is
true no matter what the truth values of its
atomic propositions are!
Ex. p  p [What is its truth table?]
CS2013 Univ of Aberdeen
22
Tautologies
• When every row of the truth table gives T.
• Example: p  p
T T FT
F T TF
CS2013 Univ of Aberdeen
23
Contradictions
A contradiction is a compound proposition
that is false no matter what! Ex. p  p
[Truth table?]
CS2013 Univ of Aberdeen
24
Contradictions
• When every row of the truth table gives F
• Example: p  p
T F FT
F F TF
CS2013 Univ of Aberdeen
25
Contingencies
All other props. are contingencies:
Some rows give T, others give F
Now: formulas that have the same meaning
CS2013 Univ of Aberdeen
26
Propositional Equivalence
Two syntactically (i.e., textually) different
compound propositions may be semantically
identical (i.e., have the same meaning). Here
semantically identical means just that they have
the same truth table for input truth values of the
propositions.
We call them logically equivalent.
Notation: …  …
CS2013 Univ of Aberdeen
27
Logical Equivalence
Compound proposition p is logically
equivalent to compound proposition q,
written pq, IFF
p and q contain the same truth values
in all rows of their truth tables
We will also say: they express the same truth
function (= the same function from values
for atoms to values for the whole formula).
CS2013 Univ of Aberdeen
28
Proving Equivalence
via Truth Tables
Ex. Prove that pq  (p  q).
p
F
F
T
T
q
F
T
F
T
pq
F
T
T
T
p
T
T
F
F
q p  q (p  q)
T
T
F
F
F
T
T
F
T
F
F
T
Shows that OR is equivalent to a combination of NOT and AND.
CS2013 Univ of Aberdeen
29
Before introducing
more connectives
• … let us step back and ask a few questions
about truth tables
CS2013 Univ of Aberdeen
30
Questions for you to think about
1. What does each line of the table "mean"?
2. Consider a conjunction p1  p2  p3
How many rows are there in its truth table?
3. Consider a conjunction
p1  p2  …  pn of n propositions.
How many rows are there in its truth table?
4. Explain why ¬ and  together are sufficient to
express any Boolean truth table
CS2013 Univ of Aberdeen
31
Questions for you to think about
1.
Consider a conjunction p1  p2  p3
How many rows are there in its truth table? 8
p1  p2  p3
1
1
1
1 1 0
Two truth values
1
0
1
(0,1) and three
1
0
0
propositions:
0
1
1
0
1
0
23 = 8.
0 0 1
0
0
0
CS2013 Univ of Aberdeen
32
Questions for you to think about
2. Consider p1  p2  …  pn
How many rows are there in its truth
table?
2*2*2* … *2 (n factors)
Hence 2n (This grows exponentially!)
CS2013 Univ of Aberdeen
33
Questions for you to think about
3. Explain why ¬ and  together are
sufficient to express any other complex
expression in propositional logic.
CS2013 Univ of Aberdeen
34
Questions for you to think about
3. Explain why ¬ and  together are
sufficient to express any other complex
expression in propositional logic.
• Obviously, if we add new connectives
(like ) we can write new formulas.
• CLAIM: these formulas would always be
equivalent with ones that only use ¬ and 
(This is what we need to prove).
CS2013 Univ of Aberdeen
35
Relating AND and OR
•
•
•
Saying this in a different way: if we add new
connectives, we can write new formulas, but
these formulas will always only express truth
functions that can already be expressed by
formulas that only use ¬ and .
That is, they will be equivalent.
Example of writing a disjunction in another
form (equivalence shown before):
p  q  ¬(¬p  ¬q)
CS2013 Univ of Aberdeen
36
Mystery Operator
PQR
111
110
101
100
011
010
001
000
Formula (containing P,Q,R)
0
Suppose, given the truth values
1
of P, Q, and R, we construct a
1
Formula with the given
0
resulting truth value. This is
0
our 'mystery' operator . Can it
0
be written equivalently with
0
NOT and AND.
0
Does there exist such a Formula?
CS2013 Univ of Aberdeen
37
T-values in Conjunction
3. Explain why ¬ and  together are sufficient
to express any Boolean truth table
• Suppose precisely two rows give T.
For example, the rows where
–
–
P=T, Q=T, R=F. This is P  Q  ¬R
P=T, Q=F, R=T. This is P  ¬Q  R
CS2013 Univ of Aberdeen
38
Table as a disjunction of T-rows
Suppose precisely two rows give T.
For example, the rows where
–
–
•
P=T, Q=T, R=F. This is P  Q  ¬R
P=T, Q=F, R=T. This is P  ¬Q  R
We’ve proven our claim if we can express
the disjunction of these two rows:
(P  Q  ¬R)  (P  ¬Q  R)
CS2013 Univ of Aberdeen
39
Disjoining rows of the table
•
•
•
•
We’ve arrived if we can express their
disjunction:
(P  Q  ¬R)  (P  ¬Q  R)
But we’ve seen that disjunction can be expressed
using  and ¬:
A  B  ¬(¬A  ¬B)
So: (P  Q  ¬R)  (P  ¬Q  R) 
¬(¬ (P  Q  ¬R)  (P  ¬Q  R))
We’ve only used  and .
CS2013 Univ of Aberdeen
40
Check
(P  Q  ¬R)  (P  ¬Q  R)  ¬(¬ (P  Q  ¬R)  (P  ¬Q  R))
1 1 0 01 0 1 01 0 1
0 1 1 1 0 01 1 1 1 01 0 1
1 1 1 10 1 1 01 0 0
1 0 1 1 1 10 0 1 1 01 0 0
1 0 0 01 1 1 10 1 1
1 1 1 0 0 01 0 0 1 10 1 1
1 0 0 10 0 1 10 0 0
0 1 1 0 0 10 1 1 1 10 0 0
0 1 0 01 0 0 01 0 1
0 1 0 1 0 01 1 1 0 01 0 1
0 1 0 10 0 0 01 0 0
0 1 0 1 0 10 1 1 0 01 0 0
0 0 0 01 0 0 10 0 1
0 1 0 0 0 01 1 1 0 10 0 1
0 0 0 10 0 0 10 0 0
0 1 0 0 0 10 1 1 0 10 0 0
Notice that we only state where the new mystery
connective is true as it is false elsewhere.
CS2013 Univ of Aberdeen
41
About this proof …
• We’ve made our task a bit easier, assuming
that there were only 2 rows resulting in T
• But the case with 1 or 3 or 4 or …. rows is
analogous (and there are always only
finitely many rows.)
• So, the proof can be made precise
CS2013 Univ of Aberdeen
42
Having proved this …
• We can express every possible truth-functional operator in
propositional logic in terms of AND and NOT
• This is sometimes called functional completeness. Also
universality.
• Reduce other operators to other more basic operators.
• Very useful in computing to reduce complexity of
formulas (Normal forms)
CS2013 Univ of Aberdeen
43
Let’s introduce some
additional connectives
• A variant of disjunction
• The conditional
• The biconditional
CS2013 Univ of Aberdeen
44
The Exclusive Or Operator
The binary exclusive-or operator “” (XOR)
combines two propositions to form their
logical “exclusive or”.
p = “I will earn an A in this course,”
q = “I will drop this course,”
p  q = “I will either earn an A in this course,
or I will drop it (but not both!)”
CS2013 Univ of Aberdeen
45
Exclusive-Or Truth Table
• Note that pq means
p q pq
that p is true, or q is
F F F
true, but not both!
F T T
• This operation is
T
F
T
called exclusive or,
T
T
F
because it excludes the
possibility that both p and q are true.
• “¬” and “” together are not universal.
CS2013 Univ of Aberdeen
Note
difference
from OR.
46
Natural Language is Ambiguous
Note that English “or” can be ambiguous
regarding the “both” case!
p
F
F
T
T
q p "or" q
F
F
T
T
F
T
T
?
Need context to disambiguate the meaning!
For this class, assume “or” means inclusive.
CS2013 Univ of Aberdeen
47
Test your understanding of
the two types of disjunction
1. Suppose p  q is true.
Does it follow that pq is true?
2. Suppose pq is true.
Does it follow that p  q is true?
CS2013 Univ of Aberdeen
48
Test your understanding of
the two types of disjunction
1. Suppose p  q is true.
Does it follow that pq is true?
No: consider p TRUE, q TRUE
2. Suppose pq is true. Does it follow
that p  q is true? Yes. Check each
of the two assignments that make pq true:
a) p TRUE, q FALSE (makes p  q true)
b) p FALSE, q TRUE (makes p  q true)
CS2013 Univ of Aberdeen
49
The Implication Operator
antecedent
consequent
The implication p  q states that p implies q.
I.e., If p is true, then q is true; but if p is not
true, then q could be either true or false.
E.g., let p = “You study hard.”
q = “You will get a good grade.”
p  q = “If you study hard, then you will get
a good grade.”
CS2013 Univ of Aberdeen
50
Implication Truth Table
• p  q is false only when
p q pq
(p is true but q is not true)
F F
T
• p  q does not say
F T T
that p causes q!
T F
F
• p  q does not require
T T T
that p or q are true!
• E.g. “(1=0)  pigs can fly” is TRUE!
CS2013 Univ of Aberdeen
The
only
False
case!
51
Implication Truth Table
• Suppose you know
that q is T. What
do you know about
pq ?
CS2013 Univ of Aberdeen
p
F
F
T
T
q pq
F
T
T T
F
F
T T
52
Implication Truth Table
• Suppose you know
that q is T. What
do you know about
pq ?
• The conditional
must be T
CS2013 Univ of Aberdeen
p
F
F
T
T
q pq
F
T
T T
F
F
T T
53
Implication Truth Table
• Suppose you know
that p is F. What
do you know about
pq ?
• The conditional
must be T
CS2013 Univ of Aberdeen
p
F
F
T
T
q pq
F
T
T T
F
F
T T
54
Implication Truth Table
• Suppose you know
that p is T.
• What do you know about
pq ? T or F.
• What do you know about
q? T or F.
CS2013 Univ of Aberdeen
p
F
F
T
T
q pq
F
T
T T
F
F
T T
55
Implications between real sentencs
• “If this lecture ever ends, then the sun has
risen this morning.” True or False?
• “If Tuesday is a day of the week, then I am
a penguin.” True or False?
• “If 1+1=6, then Bush is president.”
True or False?
• “If the moon is made of green cheese, then
1+1=7.” True or False?
CS2013 Univ of Aberdeen
56
Why does this seem wrong?
• Recall “If [you study hard] then [you’ll get
a good grade]”
• In normal English, this asserts a causal
connection between the two propositions.
The connective  does not capture this
connection.
CS2013 Univ of Aberdeen
57
English Phrases Meaning p  q
•
•
•
•
•
•
•
•
“p implies q”
“if p, then q”
“if p, q”
“when p, q”
“whenever p, q”
“q if p”
“q when p”
“q whenever p”
•
•
•
•
•
“p only if q”
“p is sufficient for q”
“q is necessary for p”
“q follows from p”
“q is implied by p”
Tricky: "only if" is p  q. "p only
if q" says that p cannot be true
when q is not true. The statement
"p only if q" is false where p is
true, but q is false. Where p is
true, then so is q.
CS2013 Univ of Aberdeen
58
But we’re not studying English ..
• Probably no two of these expressions have
exactly the same meaning in English
• For example,
‘I’ll go to the party if Mary goes’
can be interpreted as implying
‘I’ll only go to the party if Mary goes’
turning the sentence into a biconditional:
I go IFF Mary goes
CS2013 Univ of Aberdeen
59
Biconditional Truth Table
p
• p  q means that p and q
F
have the same truth value.
• Note this truth table is the F
T
exact opposite of ’s!
Thus, p  q means ¬(p  q) T
q pq
F T
T F
F F
T T
• p  q does not imply
that p and q are true,
or that either of them causes the other.
CS2013 Univ of Aberdeen
60
Consider ...
The truth of p  q, where
1. p= Scotland is in the UK
q= 2+2 =4
2. p= Scotland is not in the UK
q= 2+2 =5
3. p= Scotland is in the UK
q= Wales is not in the UK
CS2013 Univ of Aberdeen
61
Consider ...
The truth of p  q, where
1. p= Scotland is in the UK
q= 2+2 =4
TRUE
2. p= Scotland is not in the UK
q= 2+2 =5
TRUE
3. p= Scotland is in the UK
q= Wales is not in the UK FALSE
CS2013 Univ of Aberdeen
62
The difference
between  and 
A  B says that A and B happen to have the
same truth value. They could be atomic.
A  B says that no assignment of truth
values to A and B can make A  B false
So, A  B can only hold between wellchosen compound A and B.
A  B says “A  B is a tautology”
CS2013 Univ of Aberdeen
63
Consider ...
The truth of p  q, where
1. p= Scotland is in the UK
q= 2+2 =4
2. p= Scotland is not in the UK
q= Wales is not in the UK
3. p= Scotland is in UK  Wales is in UK
q= Wales is in UK  Scotland is in UK
CS2013 Univ of Aberdeen
64
Consider ...
The truth of pq, where
1. p= Scotland is in the UK
q= 2+2 =4
FALSE
2. p= Scotland is not in the UK
q= Wales is not in the UK FALSE
3. p= Scotland is in UK  Wales is in UK
q= Wales is in UK  Scotland is in UK
TRUE
CS2013 Univ of Aberdeen
65
The language of propositional logic defined
more properly (i.e., as a formal language)
• Atoms: p1, p2, p3, ..
• Formulas:
– All atoms are formulas
– For all  , if  is a formula then ¬  is a
formula
– For all  and , if  and  are formulas then the
following are formulas: (  ), (  ), (
 ) (etc.)
CS2013 Univ of Aberdeen
66
The language of propositional logic defined
more properly (i.e., as a formal language)
• Which of these are formulas, according to
this strict definition?
• p1  ¬ p2
• (p1  ¬ p2)
• ¬ ¬ ¬(p9  p8)
• (p1 p2  p3)
• (p1 (p2  p3))
CS2013 Univ of Aberdeen
67
The language of propositional logic defined
more properly (i.e., as a formal language)
• Which of these are formulas, according to
this strict definition?
• p1  ¬ p2 No
• (p1  ¬ p2) Yes
• ¬ ¬ ¬(p9  p8) Yes
• (p1 p2  p3) No
• (p1 (p2  p3)) Yes
CS2013 Univ of Aberdeen
68
Simplifying conventions
• Convention 1: outermost brackets may be
omitted,:
p1  ¬ p2, ¬ ¬ ¬(p9  p8), p1 (p2  p3)
• Convention 2: associativity allows us to
omit even more brackets, e.g.:
p1 p2  p3,
p1  p2  p3
CS2013 Univ of Aberdeen
69
The language of propositional logic defined
more properly (i.e., as a formal language)
• Which of these are formulas, when using
these two conventions?
• p1  ¬ p2 Yes
• (p1  ¬ p2) Yes
• ¬ ¬ ¬(p9  p8) Yes
• (p1 p2  p3) No
• (p1 (p2  p3)) Yes
CS2013 Univ of Aberdeen
70
Contrapositive
Some terminology, for an implication p  q:
• Its converse is:
q  p.
• Its contrapositive: ¬q  ¬ p.
• Which of these two has/have the same
meaning (express same truth function)
as p  q? Prove it.
CS2013 Univ of Aberdeen
71
Contrapositive
Proving the equivalence of p  q and its
contrapositive, using truth tables:
p
F
F
T
T
q
F
T
F
T
q
T
F
T
F
p
T
T
F
F
pq q p
T
T
T
T
F
F
T
T
CS2013 Univ of Aberdeen
72
Boolean Operations Summary
• We have seen 1 unary operator (out of the 4
possible ones) and 5 binary operators:
p
F
F
T
T
q
F
T
F
T
p pq pq pq pq pq
T F
F
F
T
T
T F
T
T
T
F
F F
T
T
F
F
F T
T
F
T
T
CS2013 Univ of Aberdeen
73
For you to think about:
1. Can you think of yet another 2-place
connective?
How many possible connectives do there
exist?
CS2013 Univ of Aberdeen
74
For you to think about:
1. How many possible connectives do there exist?
p connective q
T
?
T
T
?
F
F
?
T
F
?
F
Each question mark can be T or F, hence
2*2*2*2=16 connectives
CS2013 Univ of Aberdeen
75
Example of another connective
p connective q
T
F
T
T
T
F
F
T
T
F
T
F
compare: p and q
T
F
F
F
Names: NAND, Sheffer stroke
CS2013 Univ of Aberdeen
76
Some Alternative Notations
Name:
Propositional logic:
Boolean algebra:
C/C++/Java (wordwise):
C/C++/Java (bitwise):
not and or
  
p pq +
! && ||
~ & |
xor implies



!=
^
iff

==
Logic gates:
CS2013 Univ of Aberdeen
77
To this point
You have learned about:
• Propositional logic
operators’
–
–
–
–
• Next:
– More about logical
equivalences.
– How to prove them.
Symbolic notations.
English equivalents
Truth tables.
Logical equivalence
CS2013 Univ of Aberdeen
78
Tautologies revisited
• We’ve introduced the notion of a tautology
using the example p  p
• Now, you know more operators, so can
formulate many more tautologies, e.g.,
the following are tautologies:
(pq)  (p  q)
(pq)  (¬q  ¬ p), and so on
CS2013 Univ of Aberdeen
79
Equivalence Laws
• Similar to arithmetic identities in algebra
• Patterns that can be used to match (part of)
another proposition
• Abbreviation: T stands for an arbitrary
tautology; F an arbitrary contradiction
CS2013 Univ of Aberdeen
80
Equivalence Laws - Examples
•
•
•
•
•
•
Identity:
pT  p pF  p
Domination: pT  T pF  F
Idempotence:
pp  p
pp  p
Double negation:
p  p
Commutativity: pq  qp pq  qp
Associativity:
(pq)r  p(qr)
(pq)r  p(qr)
CS2013 Univ of Aberdeen
81
More Equivalence Laws
• Distributive:
p(qr)  (pq)(pr)
p(qr)  (pq)(pr)
• De Morgan’s:
(pq)  p  q
(pq)  p  q
• Trivial tautology/contradiction:
p  p  T
p  p  F
CS2013 Univ of Aberdeen
Augustus
De Morgan
(1806-1871)
82
Defining Operators via Equivalences
Some equivalences can be thought of as definitions
of one operator in terms of others:
• Exclusive or: pq  (pq)(pq)
pq  (pq)(qp)
• Implies:
pq  p  q
• Biconditional: pq  (pq)  (qp)
pq  (pq)
CS2013 Univ of Aberdeen
83
How you may use equivalence laws:
Example (1)
• Use equivalences to prove that
(r  s)  s  r.
CS2013 Univ of Aberdeen
84
How you may use equivalence laws:
Example (1)
(r  s)  (De Morgan)
r  s  (Commutativity)
s r  (2x Double Negation)
s  r.
CS2013 Univ of Aberdeen
85
How you may use equivalence laws:
Example (2)
• Use equivalences to prove that
(p  q)  (p  r)  p  q  r.
• (This would be much easier using truth tables!)
(p  q)  (p  r) [Expand “definition” of ]
 (p  q)  (p  r) [Expand “definition” of ]
 (p  q)  ((p  r)  (p  r)) [DeMorgan]
 (p  q)  ((p  r)  (p  r))
Underline just
cont.
focuses interest.
CS2013 Univ of Aberdeen
86
Long example Continued...
(p  q)  ((p  r)  (p  r))  [ commutes]
 (q  p)  ((p  r)  (p  r)) [ is associative]
 q  (p  ((p  r)  (p  r))) [distrib.  over ]
q  (((p  (p  r))  (p  (p  r))) [assoc.]
q  (((p  p)  r)  (p  (p  r))) [taut.]
q  ((T  r)  (p  (p  r))) [domination]
q  (T  (p  (p  r))) [identity]
 q  (p  (p  r))  cont.
CS2013 Univ of Aberdeen
87
End of Long Example
q  (p  (p  r))
[DeMorgan]
 q  (p  (p  r)) [Assoc.]
 q  ((p  p)  r) [Idempotent]
 q  (p  r) [Associativity]
 (q  p)  r [Commutativity]
 p  q  r
Q.E.D. (quod erat demonstrandum)
CS2013 Univ of Aberdeen
88
Summary
• In practice, Propositional Logic
equivalences are seldom strung together
into long proofs: using truth tables is
usually much easier.
• We shall now turn to a more complex logic,
where nothing like truth tables is available.
CS2013 Univ of Aberdeen
89
Download