590 likes | 763 Views
CS203 Discrete 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 ).
E N D
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)
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 are either 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 True 2 + 2 = 4 Examples: False 3 x 3 = 8 787009911 is a prime Today is Tuesday. Non-examples: x+y>0 x2+y2=z2 They are true for some values of x and y but are false for some other values of x and y.
Propositional connectives • Propositional logic has four connectives
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”
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”
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)”
Logical operators: Conditional • A conditional means “if p then q” • Symbol: • pq = “If today is Friday, then today is my birthday” • p→q=¬pq
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
Boolean operators summary • Learn what they mean, don’t just memorize the table!
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↔tyields: (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. : If the moon is out and it is not snowing, then Aya goes out for a walk. If it is snowing and the moon is not out, then Aya will not go out for a walk.
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 pq p¬q ¬p¬q pq p→q ((pq)¬(pq))(p→¬q) p↔q
Logical Equivalence p q 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1
Identity laws Like adding 0 Domination laws Like multiplying by 0 Idempotent laws Delete redundancies Double negation “I don’t like you, not” Commutativity Like “x+y = y+x” Associativity Like “(x+y)+z = y+(x+z)” Distributivity Like “(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 Tables of Logical Equivalences
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). : 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. T T F F
Tautology example Demonstrate that [¬p(p q )]q is a tautology in two ways: • Using a truth table – show that [¬p(p q )]q is always true • Using a proof (will get to this later).
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 connectives other than and , then the dual of s, denoted sd, is the statement obtained from s by replacing each occurrence of and by and , respectively, and each occurrence of T and F by F and T, respectively. Eg. The dual of is
The Principle of Duality Theorem () Let s and t be statements. If , then . First Substitution Rule (replace each p by another statement q) Ex. is a tautology. Replace each occurrence of p by is also a tautology.
Converse The converse of a logical implication is the reversal of the implication. I.e. the converse of pq is qp. 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.” pq and qp are not logically equivalent.
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 … 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.
Derivational Proof Techniques EG: consider the compound proposition (p p ) ((sr)t) ) (qr ) Q: Why is this a tautology?
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 ) • T Derivational techniques formalize the intuition of this example.
if NOT (blue AND NOT red) OR red then… Propositional Logic - an unfamous (pq) q p q (pq) q DeMorgan’s (p q) q Double negation p (q q) Associativity p q Idempotent
Tautology by proof [¬p(p q )]q
Tautology by proof [¬p(p q )]q [(¬pp)(¬pq)]q Distributive
Tautology by proof [¬p(p q )]q [(¬pp)(¬pq)]q Distributive [ F (¬pq)]q ULE
Tautology by proof [¬p(p q )]q [(¬pp)(¬pq)]q Distributive [ F (¬pq)]q ULE [¬pq ]q Identity
Tautology by proof [¬p(p q )]q [(¬pp)(¬pq)]q Distributive [ F (¬pq)]q ULE [¬pq ]q Identity ¬[¬pq ] q ULE
Tautology by proof [¬p(p q )]q [(¬pp)(¬pq)]q Distributive [ F (¬pq)]q ULE [¬pq ]q Identity ¬[¬pq ] q ULE [¬(¬p)¬q ] q DeMorgan
Tautology by proof [¬p(p q )]q [(¬pp)(¬pq)]q Distributive [ F (¬pq)]q ULE [¬pq ]q Identity ¬[¬pq ] q ULE [¬(¬p)¬q ] q DeMorgan [p ¬q ] q Double Negation