CS203 Discrete Mathematical Structures Logic Proposition logic.
-
Upload
brice-potter -
Category
Documents
-
view
240 -
download
0
Transcript of CS203 Discrete Mathematical Structures Logic Proposition logic.
CS203Discrete Mathematical Structures
Logic Proposition logic
What is logic?
The branch of philosophy concerned with analysing the patterns of reasoning by which a conclusion is drawn from a set of premises, without reference to meaning or context
(Collins English Dictionary)
Digital Logic
Propositional logic
• Simple types of statements, called propositions, are treated as atomic building blocks for more complex statements
1) Alexandria is a port or a holiday resort.
2) Alexandria is not a port.
Therefore, Alexandria is a holiday resort
Basic connectives and truth tables
statements (propositions): declarative sentences that areeither true or false--but not both.
Eg. Ahmed Hassan wrote Gone with the Wind. 2+3=5.
not statements:
What a beautiful morning!Get up and do your exercises.
Statement (Proposition)
A Statement is a sentence that is either True or False
Examples:
Non-examples:
x+y>0
x2+y2=z2
True
False2 + 2 = 4
3 x 3 = 8
787009911 is a prime
They are true for some values of x and y
but are false for some other values of x and y.
Today is Tuesday.
Propositional connectives
• Propositional logic has four connectives
Name Read as Symbol
negation ‘not’
conjunction ‘and’
disjunction ‘or’
implication ‘if…then…’
Logical Operators
• About a dozen logical operators– Similar to algebraic operators + * - /
• In the following examples,– p = “Today is Friday”
– q = “Today is my birthday”
Logical operators: Not
• A “not” operation switches (negates) the
truth value
• Symbol: or ~
p = “Today is not Friday”
p p
T F
F T
Logical operators: And
• An “and” operation is true if both operands are true
• Symbol: – It’s like the ‘A’ in And
• pq = “Today is Friday and today is my birthday”
p q pq
T T T
T F F
F T F
F F F
Logical operators: Or
• An “or” operation is true if either
operands are true
• Symbol:
• pq = “Today is Friday or
today is my birthday (or
possibly both)”
p q pq
T T T
T F T
F T T
F F F
Logical operators: Conditional
• A conditional means “if p then q”
• Symbol: • pq = “If today is
Friday, then today is my birthday”
• p→q=¬pq
p q pq
T T T
T F F
F T T
F F T
Logical operators: Bi-conditional
• A bi-conditional means “p if and only if q”• Symbol: • Alternatively, it means
“(if p then q) and (if q then p)”
• Note that a bi-conditional has the opposite truth values of the exclusive or
p q pq
T T T
T F F
F T F
F F T
Boolean operators summary
• Learn what they mean, don’t just memorize the table!
not not and or xor conditional Bi-conditional
p q p q pq pq pq pq pq
T T F F T T F T T
T F F T F T T F F
F T T F F T T T F
F F T T F F F T T
Precedence of operators
• Just as in algebra, operators have precedence– 4+3*2 = 4+(3*2), not (4+3)*2
• Precedence order (from highest to lowest): ¬ → ↔– The first three are the most important
• This means that p q ¬r → s ↔ t yields: (p (q (¬r)) → s) ↔ (t)
• Not is always performed before any other operation
Example
s: Aya goes out for a walk.t: The moon is out.u: It is snowing.
( )t u s : If the moon is out and it is not snowing, thenAya goes out for a walk.
If it is snowing and the moon is not out, then Aya will not go out for a walk. ( )u t s
Translating English Sentences– p = “It is below freezing”– q = “It is snowing”
• It is below freezing and it is snowing• It is below freezing but not snowing• It is not below freezing and it is not snowing• It is either snowing or below freezing (or both)• If it is below freezing, it is also snowing• It is either below freezing or it is snowing,
but it is not snowing if it is below freezing• That it is below freezing is necessary and
sufficient for it to be snowing
pqp¬q¬p¬qpqp→q
((pq)¬(pq))(p→¬q)
p↔q
Logical Equivalence
0011
0101
1100
1101
1101
p q p p q p q
s s1 2
L3 19
Tables of Logical Equivalences
• Identity lawsLike adding 0
• Domination lawsLike multiplying by 0
• Idempotent lawsDelete redundancies
• Double negation“I don’t like you, not”
• Commutativity Like “x+y = y+x”
• AssociativityLike “(x+y)+z = y+(x+z)”
• DistributivityLike “(x+y)z = xz+yz”
• De Morgan
Tables of Logical Equivalences
• Excluded middle• Negating creates opposite• Definition of implication in
terms of Not and Or
Fundamentals of Logic
A compound statement is called a tautology(T0) if it is true for all truth value assignments for its component statements. If a compound statement is false for all such assignments, then it is called a contradiction(F0).
p p q
p p q
( )
( )
: tautology
: contradiction
Propositional Logic - 2 more defn…A tautology is a proposition that’s always TRUE.
A contradiction is a proposition that’s always FALSE.
p p p p p p
T F
F T
T
T
F
F
23
Tautology example
Demonstrate that
[¬p (p q )]q
is a tautology in two ways:
1. Using a truth table – show that [¬p (p q )]q is always true
2. Using a proof (will get to this later).
Tautology by truth table
p q ¬p p q ¬p (p q ) [¬p (p q )]q
T T
T F
F T
F F
Tautology by truth table
p q ¬p p q ¬p (p q ) [¬p (p q )]q
T T F
T F F
F T T
F F T
Tautology by truth table
p q ¬p p q ¬p (p q ) [¬p (p q )]q
T T F T
T F F T
F T T T
F F T F
Tautology by truth table
p q ¬p p q ¬p (p q ) [¬p (p q )]q
T T F T F
T F F T F
F T T T T
F F T F F
Tautology by truth table
p q ¬p p q ¬p (p q ) [¬p (p q )]q
T T F T F T
T F F T F T
F T T T T T
F F T F F T
29
Tautologies, contradictions and programming
Tautologies and contradictions in your code usually correspond to poor programming design. EG:
•while(x <= 3 || x > 3)
x++;•if(x > y)
if(x == y)
return “never got here”;
dual
Let s be a statement. If s contains no logical connectivesother than and , then the dual of s, denoted sd, is thestatement obtained from s by replacing each occurrence ofand by and , respectively, and each occurrence of Tand F by F and T, respectively.
Eg. )()(:),()(: FrqpsTrqps d
The dual of is p q ( ) p q p qd
The Principle of Duality
Theorem () Let s and t be statements.If , then .s t s td d
Ex. P p q p q: ( ) ( ) is a tautology. Replace
each occurrence of p by r s
P r s q r s q1: [( ) ] [ ( ) ] is also a tautology.
First Substitution Rule (replace each p by another statement q)
32
Converse
The converse of a logical implication is the reversal of the implication. I.e. the converse of p q is q p.
EG: The converse of “If Donald is a duck then Donald is a bird.” is “If Donald is a bird then Donald is a duck.”
p q and q p are not logically equivalent.
Converse
p q p q q p (p q) (q p)
Converse
p q p q q p (p q) (q p)
TTFF
TFTF
Logical Non-Equivalence of Conditional and Converse
p q p q q p (p q) (q p)
TTFF
TFTF
TFTT
Logical Non-Equivalence of Conditional and Converse
p q p q q p (p q) (q p)
TTFF
TFTF
TFTT
TTFT
Logical Non-Equivalence of Conditional and Converse
p q p q q p (p q) (q p)
TTFF
TFTF
TFTT
TTFT
TFFT
Fundamentals of Logic
Compare the efficiency of two program segments.z:=4;for i:=1 to 10 do begin x:=z-1; y:=z+3*i; if ((x>0) and (y>0)) then writeln(‘The value of the sum x+y is’, x+y) end
.
.
.if x>0 then if y>0 then …
rqp )( )( rqp
Number of comparisons?20 vs. 10+3=13
logically equivalent
Derivational Proof Techniques
When compound propositions involve more and more atomic components, the size of the truth table for the compound propositions increases
Q1: How many rows are required to construct the truth-table of:( (q(pr )) ((sr)t) ) (qr )
Q2: How many rows are required to construct the truth-table of a proposition involving n atomic components?
Derivational Proof Techniques
A1: 32 rows, each additional variable doubles the number of rows
A2: In general, 2n rows
Therefore, as compound propositions grow in complexity, truth tables become more and more unwieldy. Checking for tautologies/logical equivalences of complex propositions can become a chore, especially if the problem is obvious.
L3 41
Derivational Proof Techniques
EG: consider the compound proposition
(p p ) ((sr)t) ) (qr )
Q: Why is this a tautology?
L3 42
Derivational Proof Techniques
A: Part of it is a tautology (p p ) and the disjunction of True with any other compound proposition is still True:
(p p ) ((sr)t )) (qr ) T ((sr)t )) (qr ) TDerivational techniques formalize the
intuition of this example.
Propositional Logic - an unfamous
(p q) q p q
if NOT (blue AND NOT red) OR red then…
(p q) q
(p q) q(p q) qp (q q)p q
DeMorgan’s
Double negationAssociativity
Idempotent
L3 44
Tautology by proof[¬p (p q )]q
L3 45
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
L3 46
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE
L3 47
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
L3 48
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
L3 49
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
[¬(¬p) ¬q ] q DeMorgan
L3 50
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
[¬(¬p) ¬q ] q DeMorgan
[p ¬q ] q Double Negation
L3 51
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
[¬(¬p) ¬q ] q DeMorgan
[p ¬q ] q Double Negation
p [¬q q ] Associative
L3 52
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
[¬(¬p) ¬q ] q DeMorgan
[p ¬q ] q Double Negation
p [¬q q ] Associative
p [q ¬q ] Commutative
L3 53
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
[¬(¬p) ¬q ] q DeMorgan
[p ¬q ] q Double Negation
p [¬q q ] Associative
p [q ¬q ] Commutative p T ULE
L3 54
Tautology by proof[¬p (p q )]q
[(¬p p)(¬p q)]q Distributive
[ F (¬p q)]q ULE [¬p q ]q Identity
¬ [¬p q ] q ULE
[¬(¬p) ¬q ] q DeMorgan
[p ¬q ] q Double Negation
p [¬q q ] Associative
p [q ¬q ] Commutative p T ULE T Domination
Writing Logical Formula for a Truth Table
Digital logic:
Given a digital circuit, we can construct the truth table.
Now, suppose we are given only the truth table (i.e. the specification,
e.g. the specification of the majority function), how can
we construct a digital circuit (i.e. formula) using only
simple gates (such as AND, OR, NOT)
that has the same function?
Examples
1. “I don’t study well and fail” is logically equivalent to “If I study well, then I don’t fail”
2. Write a C program that represents the compound proposition (pq)r
Decide whether the following statements are tautologies or contradictions or neither
1. (p q) (q p).
2. (p q) (q ¬p).
3. p ¬p.
4. (p ¬q) (q ¬p).
Use truth table to find
• - P Q P R• P -Q R P R - Q
• A B -C D E F
• (P ↔ Q) (P˅ Q)
• [P ˄ (P Q)] Q
Which of the following equivalent to -(P˄Q)
• (-p) ˄ (-Q)
• P ˅ Q
• (-P) ˄ Q
• (-P) ˅ (-Q)