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