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: pq (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 pq=“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.” pq=“Either my car has a bad engine, or my car has a bad carburetor.” CS2013 Univ of Aberdeen 17 Disjunction Truth Table • Note that pq means p q pq 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 pq, 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 pq (p q). p F F T T q F T F T pq 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 pq means p q pq 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 pq is true? 2. Suppose pq 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 pq is true? No: consider p TRUE, q TRUE 2. Suppose pq is true. Does it follow that p q is true? Yes. Check each of the two assignments that make pq 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 pq (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 pq ? CS2013 Univ of Aberdeen p F F T T q pq F T T T F F T T 52 Implication Truth Table • Suppose you know that q is T. What do you know about pq ? • The conditional must be T CS2013 Univ of Aberdeen p F F T T q pq F T T T F F T T 53 Implication Truth Table • Suppose you know that p is F. What do you know about pq ? • The conditional must be T CS2013 Univ of Aberdeen p F F T T q pq F T T T F F T T 54 Implication Truth Table • Suppose you know that p is T. • What do you know about pq ? T or F. • What do you know about q? T or F. CS2013 Univ of Aberdeen p F F T T q pq 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 pq 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 pq, 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 pq 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 pq pq pq pq pq 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: (pq) (p q) (pq) (¬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: pT p pF p Domination: pT T pF F Idempotence: pp p pp p Double negation: p p Commutativity: pq qp pq qp Associativity: (pq)r p(qr) (pq)r p(qr) CS2013 Univ of Aberdeen 81 More Equivalence Laws • Distributive: p(qr) (pq)(pr) p(qr) (pq)(pr) • De Morgan’s: (pq) p q (pq) 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: pq (pq)(pq) pq (pq)(qp) • Implies: pq p q • Biconditional: pq (pq) (qp) pq (pq) 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