Question You're offered a million dollars if you can win at least 2 consecutive games out of 3 1-on-1 games of Jeopardy against two adversaries, IBM's Watson and me (a rank amateur). You get to choose: you can either play me-Watson-me or Watson-me-Watson. Which should you choose to maximize your chance of striking it rich as a millionaire? Administrative info Course website has class description, what to expect this summer, course policy, advice, exam dates. Collaboration: we want you to collaborate, but there is good and bad collaboration. Read the policy on the website. Should be on mailing list, have access to Piazzza. Reader is available at Copy Central. We will cover the notes in the reader. Enrollment: everyone who is on waitlist by end of today will be let in. Discuss problem on board This class will teach you how to formally analyze such a situation. Course outline Propositions, logic, and proofs Common language for CS70, rest of EECS. Language is precise, unlike English. Used in programming, hardware. Why proofs? So people know something is true: teacher on exam, algorithm is correct. So computers know something is true: proof carrying code. Example: stable marriage problem Modular arithmetic, RSA, polynomials ECC Keeping your money safe. Send data reliably over unreliable networks. Probability theory Applications: Load balancing Hashing Bayesian inference (machine learning) Continuous probability Diagonalization Prove that it's impossible to write a debugger can will determine if a program will halt. Questions? Feel free to ask questions at any point during lectures. DEF: "Proposition" is anything with a definite truth value. Which of the following are propositions? 2+2 = 4 (Y) 2+2 = 3 (Y) 826th digit of pi is 4 (Y) all dinosaurs were warm-blooded (Y) Is 2+2=4? (N) Let x = 3. (N) x+1 = 2 (N, unless we know the value of x) Every even number > 2 is the sum of two primes. (Y) (Goldbach's Conjecture; best result known to be true is <= 6 primes) Johnny Depp is a good actor (N) Propositions generally denoted by capital letters (P, Q, R) Logical operators Unary ¬: negation Binary ∧: and (conjunction) ∨ : or (disjunction) ⊕: xor (exclusive or) Truth table Illustrates logical operators Truth tables for ¬, ∧, &or, ⊕ P ¬P T F F T P Q P∧Q P∨Q P⊕Q T T T T F T F F T T F T F T T F F F F F EX ¬(2+2 = 4) 2+2=3 ∧ 2+2=4 2+2=3 ∨ 2+2=4 2+2=3 ⊕ 2+2=4 Translate English into propositional forms "My name is Amir and I love math." (P ∧ Q) "You will do the homework, or you will regret it." (P ∨ Q) Or is it xor? See why we use logic! "either 1+2 != 4, or my name is mud." (¬P ∨ Q) Implications P => Q defined as ¬P ∨ Q Pronounced as "P implies Q." Sometimes translated to English as "if P, then Q," "P sufficient for Q", "Q necessary for P." When in doubt, refer back to the definition! The English equivalents can be confusing. Truth table for implication P Q P=>Q T T T T F F F T T F F T EX 2+2=3 => 2+2=4 (F => T = ¬F ∨ T = T) 2+2=4 => 2+2=3 (T => F = ¬T ∨ F = F) 2+2=3 => 2+2=5 (F => F = ¬F ∨ F = T) moon is made of cheese => speed limit is 55mph (F => F) "If I am exactly 18 years old, then I am allowed to vote." (T => T) "if 1+2 = 4, my name is mud." (F => T) Notes on implication: false implies anything When P is false, P=>Q is always true "If 2+2=5, then I am the Pope." anything implies true When Q is true, P=>Q is always true "If today is Friday, then 2+2=4." Contrapositive Contrapositive of P=>Q is ¬Q=>¬P "If today is Saturday, it is the weekend." "If it is not the weekend, today is not Saturday." True exactly when P=>Q is Truth table P Q P=>Q ¬Q=>¬P T T T T T F F F F T T T F F T T Converse of implication Converse of P=>Q is Q=>P "If I am exactly 18 years old, then I am allowed to vote." "If I am allowed to vote, then I am exactly 18 years old." Not necessarily true if P=>Q is Truth table P Q P=>Q Q=>P T T T T T F F T F T T F F F T T Common fallacy "If the mill were polluting the river, then we would see an increase in fish deaths. And fish deaths have increased. Therefore, the mill is polluting the river." ("P=>Q. Q. Therefore P.") (not necessarily: something else might be causing the deaths) "If you do every exercise in the textbook, you will learn ^^(to hate)^^ discrete mathematics. You didn't do every exercise in the book. Therefore you haven't learned discrete mathematics." ("P=>Q. ¬P. Therefore ¬Q.") (not necessarily; you might learn discrete math anyway) Biconditional If and only if, abbrev. iff: P <=> Q "You will pass CS70 iff you take the final exam." Truth table P Q P<=>Q T T T T F F F T F F F T What is this the negation of? Questions for break Suppose we have four cards on a table, the 1st about Alice, 2nd about Bob, 3rd Charlie, 4th Donna. On side of each card is the person's destination, on the other is mode of travel. Consider the experimental rule: "If a person travels to Chicago, he/she flies." Suppose you see that Alice went to Baltimore, Bob drove, Charlie went to Chicago, and Donna flies. Which cards do you need to flip to test the rule? == Answer: Bob's and Charlie's Now suppose the cards say what each person has for dessert, the other what they did after dinner. New rule: "If a child has ice cream for dessert, he/she has to do the dishes after dinner." Cards: Alice: fruit, Bob: watched TV, Charlie: ice cream, Donna: did dishes Now what cards do you have to flip? == Answer: still Bob's and Charlie's ===================== Called "Wason selection task." Only ~25% of population gets first right, but 65-80% gets second, even though they are the same! But if you switch to a converse, i.e. "If a child does dishes after dinner, he/she had ice cream for dessert," almost everyone gets it wrong! They look for cheaters, even though the rule doesn't tell them to. That's crazy! But it shows that our mental circuits are hard-wired in funny ways, and specialized at solving certain kinds of problems that were important in the stone age -- but may not be so well adapted for modern tasks of reasoning and mathematics. To be more reliable, it is helpful to have a formal framework for reasoning about logical implications, and that's what I'll introduce in this class. Predicates We'd like to reason about statements such as "x > 0 => x + 1 > 1," but simple propositions don't provide us enough power. Predicates: propositions with holes, or free variables. EX: R(x) = "x > 0" R is a function from the natural numbers to the set of propositions; R(7) is the proposition that "7 > 0" (true!) What about R(0)? S(x) = "x > 0 => x + 1 > 1" When is S(x) true? When is a predicate true? When is R(x) true? Need quantifiers to reason about this. Quantifiers We want to say something like, "all positive integers are greater than 0." Need universe over which the statement applies. These are sets. N = {0, 1, ...} (natural numbers) Z = {.., -1, 0, 1, ...} (integers) Z^+ (positive integers) See appendix 1 for more common sets. Forall (upside down A for "all") (∀x∈S)(P(x)) means "P(x) is true for all x in S" Different notations used: no parens, dot between set and predicate. Will be careful writing domain of quantifier early, less so later in semester when domain is obvious. EX: (∀x∈Z^+)(x > 0) Equivalent to "1 > 0 ∧ 2 > 0 ∧ 3 > 0 ∧ ..." (∀x∈Z)(x > 0 => x + 1 > 1) "the square of a number is always non-negative" ∀x∈N . x^2 >= 0 (true) Note the different notation! "doubling a number always makes it larger" ∀x∈N . 2x > x (false; x=0) ∀x∈N . 2x >= x (true.) but: latter proposition is false in integers! (x<0) highlights need to include set over which you're quantifying Domain of statement can be further restricted using implications "The square of all natural numbers greater than 5 is greater than 25." ∀x∈N . x > 5 => x^2 > 25 Is predicate true for x = 2? Why? Is predicate true for x = 6? Why? Exists (backwards E for "exists") Can't use upside down E! (Or backwards A for forall.) (∃x∈S)(P(x)) means "P(x) is true for some x in S" EX: (∃x∈N)(x = x^2) Equivalent to "0 = 0 ∨ 1 = 0 ∨ 2 = 0 ∨ ..." "there exists a number greater than 5" ∃x∈N . x > 5