Docstoc

Propositional Logic Proof - Welc

Document Sample
Propositional Logic Proof - Welc Powered By Docstoc
					                                             snick
                                               
                                             snack




CPSC 121: Models of Computation
      2009 Winter Term 1
              Proof (First Visit)

  Steve Wolfman, based on notes by Patrice
     Belleville, Meghan Allen and others


                                                1
                    Outline
• Prereqs, Learning Goals, and Quiz Notes
• Prelude: What Is Proof?
• Problems and Discussion
  – “Prove Your Own Adventure”
  – Why rules of inference? (advantages + tradeoffs)
  – Onnagata, Explore and Critique
• Next Lecture Notes

                                                       2
        Lecture Prerequisites
Read Section 1.3.
Solve problems like Exercise Set 1.3, #1, 3, 4,
 6-32, 36-44. Of these, we’re especially
 concerned about problems like 12-13 and 39-
 44. Many of these problems go beyond the
 pre-class learning goals into the in-class
 goals, but they’re the tightest fit in the text.
Complete the open-book, untimed quiz on
 WebCT that was due before class.
                                                3
    Learning Goals: Pre-Class
By the start of class, you should be able to:
  – Use truth tables to establish or refute the
    validity of a rule of inference.
  – Given a rule of inference and propositional
    logic statements that correspond to the rule’s
    premises, apply the rule to infer a new
    statement implied by the original statements.



                                                     4
     Learning Goals: In-Class
By the end of this unit, you should be able to:
  – Explore the consequences of a set of
    propositional logic statements by application of
    equivalence and inference rules, especially in
    order to massage statements into a desired form.
  – Critique a propositional logic proof, identifying
    flaws in its reasoning and application.
  – Devise and attempt multiple different, appropriate
    strategies for proving a propositional logic
    statement follows from a list of premises.


                                                     5
         Quiz 4 Notes (1 of 2)
Applying a rule:             Validity of a rule:

a  b, b  c  a  c         p  ~p  ?

p  (q  r), q  s  ?




                                                           6
          Second set of quiz notes will come much later!
                    Outline
• Prereqs, Learning Goals, and Quiz Notes
• Prelude: What Is Proof?
• Problems and Discussion
  – “Prove Your Own Adventure”
  – Why rules of inference? (advantages + tradeoffs)
  – Onnagata, Explore and Critique
• Next Lecture Notes

                                                       7
                  What is Proof?

   A rigorous formal argument that
unequivocally demonstrates the truth
of a proposition, given the truth of the
           proof’s premises.


                                                                    8
  Adapted from MathWorld: http://mathworld.wolfram.com/Proof.html
    Problem: Meaning of Proof
Let’s say you prove the following:

  Premise 1
  Premise 2            What does this mean?
     ⁞
                       a.   Premises 1 to n are true
  Premise n            b.   Conclusion is true
  Conclusion          c.   Premises 1 to n can be true
                       d.   Conclusion can be true
                       e.   None of the above

                                                    9
    Tasting Powerful Proof:
  Some Things We Might Prove
• We can build a “three-way switch” system with any
  number of switches. 
• We can build a combinational circuit matching any
  truth table. 
• We can build any digital logic circuit using nothing but
  NAND gates.
• We can sort a list by breaking it in half, and then
  sorting and merging the halves.
• We can find the GCD of two numbers by finding the
  GCD of the 2nd and the remainder when dividing the
  1st by the 2nd.
• There’s (sort of) no fair way to run elections.
• There are problems no program can solve.
                                                         10
                                                 Meanwhile...
   What Is a Propositional Logic
              Proof?
    An argument in which (1) each line is a
     propositional logic statement, (2) each
statement is a premise or follows unequivocally
  by a previously established rule of inference
 from the truth of previous statements, and (3)
      the last statement is the conclusion.

    A very constrained form of proof, but a good starting point.
         Interesting proofs will usually come in less structured
                                                             11
                     packages than propositional logic proofs.
                    Outline
• Prereqs, Learning Goals, and Quiz Notes
• Prelude: What Is Proof?
• Problems and Discussion
  – “Prove Your Own Adventure”
  – Why rules of inference? (advantages + tradeoffs)
  – Onnagata, Explore and Critique
• Next Lecture Notes

                                                   12
   Prop Logic Proof Problem
To prove:
~(q  r)
(u  q)  s
~s  ~p___
 ~p




                              13
 “Prove Your Own Adventure”
To prove:      Which step is the easiest to fill in?
~(q  r)
               1. ~(q  r)           Premise
(u  q)  s    2. (u  q)  s        Premise
~s  ~p___     3. ~s  ~p            Premise
 ~p           [STEP A: near the start]


               [STEP B: in the middle]



               [STEP C: near the end]
               [STEP D: last step]
                                                  14
                           D: Last Step
     To prove:
     ~(q  r)
                                      1. ~(q  r)       Premise
     (u  q)  s                      2. (u  q)  s    Premise
     ~s  ~p___                       3. ~s  ~p        Premise
      ~p                                     ...
                                      ~q  ~r           De Morgan’s (1)
How do we know to put ~p at the end? ~q                 Specialization (?)
                                              ...
a. ~p is the proof’s conclusion
b. ~p is the end of the last premise  ((u  q)  s)    Bicond (2)
c. every proof ends with ~p             (s  (u  q))
d. None of these but some other reason        ...
e.   None of these because we don’t   ~s
     know
                                      ~p                Modus ponens (3,?)
                                                                         15
                      C: Near the End
     To prove:
     ~(q  r)
                                       1. ~(q  r)       Premise
     (u  q)  s                       2. (u  q)  s    Premise
     ~s  ~p___                        3. ~s  ~p        Premise
      ~p                                      ...
                                       ~q  ~r           De Morgan’s (1)
How do we know to put the blue         ~q                Specialization (?)
line/justification at the end?
                                               ...
a.   ~s  ~p is the last premise       ((u  q)  s)    Bicond (2)
b.   ~s  ~p is the only premise that    (s  (u  q))
     mentions ~s                               ...
c.   ~s  ~p is the only premise that   ~s
     mentions p
                                        ~p               Modus ponens (3,?)
d.   None of these but some other reason                                  16
e.   None of these because we don’t know
                       A: Near the Start
     To prove:
     ~(q  r)
                                        1. ~(q  r)       Premise
     (u  q)  s                        2. (u  q)  s    Premise
     ~s  ~p___                         3. ~s  ~p        Premise
      ~p                                       ...
                                        ~q  ~r           De Morgan’s (1)
How do we know to put the blue          ~q                Specialization (?)
lines/justifications in?
                                                ...
a. ~(q  r) is the first premise        ((u  q)  s)    Bicond (2)
b. ~(q  r) is a useless premise          (s  (u  q))
c. We can’t work directly with a premise        ...
     with a negation “on the outside”     ~s
d.   Neither the conclusion nor another
                                          ~p              Modus ponens (3,?)
     premise mentions r                                                    17
e.   None of these
                         B: In the Middle
     To prove:
     ~(q  r)
                                        1. ~(q  r)       Premise
     (u  q)  s                        2. (u  q)  s    Premise
     ~s  ~p___                         3. ~s  ~p        Premise
      ~p                                       ...
How do we know to put the blue          ~q  ~r           De Morgan’s (1)
lines/justifications in?                ~q                Specialization (?)
                                                ...
a. (u  q)  s is the only premise left ((u  q)  s)    Bicond (2)
b. (u  q)  s is the only premise that
     mentions u
                                          (s  (u  q))
c. (u  q)  s is the only premise that         ...
     mentions s without a negation          ~s
d.   We have no rule to get directly from ~p              Modus ponens (3,?)
     one side of a biconditional to the other                              18
e.   None of these
     Prop Logic Proof Strategies
 • Work backwards from the end
 • Play with alternate forms of premises
 • Identify and eliminate irrelevant information
 • Identify and focus on critical information
 • Alter statements’ forms so they’re easier to
   work with
 • “Step back” from the problem frequently to
   think about assumptions you might have
   wrong or other approaches you could take
And, if you don’t know that what you’re trying to prove follows...
                                                             19
      switch from proving to disproving and back now and then.
               Continuing From There
     To prove:                          1. ~(q  r)      Premise
                                        2. (u  q)  s Premise
     ~(q  r)
                                        3. ~s  ~p       Premise
     (u  q)  s                        4. ~q  ~r       De Morgan’s (1)
     ~s  ~p___                         5. ~q            Specialization (4)
      ~p                               6. ((u  q)  s)  Bicond (2)
Which direction of  goes in step 7?     (s  (u  q))
                                        7. ??????        Specialization (6)
a.   (u  q)  s because the simple part       ...
     is on the right                     ~s
b.   (u  q)  s because the other       ~p             Modus ponens (3,?)
     direction can’t establish ~s
c.   s  (u  q) because the simple part
     is on the left
d.   s  (u  q) because the other
     direction can’t establish ~s                                         20
e.   None of these
                 Finishing Up (1 of 3)
   To prove:                            1. ~(q  r)      Premise
                                        2. (u  q)  s Premise
   ~(q  r)
                                        3. ~s  ~p       Premise
   (u  q)  s                          4. ~q  ~r       De Morgan’s (1)
   ~s  ~p___                           5. ~q            Specialization (4)
    ~p                                 6. ((u  q)  s)  Bicond (2)
                                         (s  (u  q))
We know we needed ~(u  q) on
line 9 because that’s what we
                                        7. s  (u  q) Specialization (6)
created line 7 for!                     8. ????          ????
                                        9. ~(u  q)     ????
Now, how do we get ~(u  q)?            10. ~s          Modus tollens (7, 9)
                                        11. ~p          Modus ponens (3,10)
Working forward is tricky. Let’s work
backward. What is ~(u  q)
equivalent to?                                                            21
                   Finishing Up (2 of 3)
    To prove:                           1. ~(q  r)      Premise
                                        2. (u  q)  s Premise
    ~(q  r)
                                        3. ~s  ~p       Premise
    (u  q)  s                         4. ~q  ~r       De Morgan’s (1)
    ~s  ~p___                          5. ~q            Specialization (4)
     ~p                                6. ((u  q)  s)  Bicond (2)
                                         (s  (u  q))
All that’s left is to get to ~u  ~q.
How do we do it?
                                        7. s  (u  q) Specialization (6)
                                        8. ~u  ~q       ????
                                        9. ~(u  q)     De Morgan’s (8)
                                        10. ~s          Modus tollens (7, 9)
                                        11. ~p          Modus ponens (3,10)


                                                                          22
                Finishing Up (3 of 3)
   To prove:                         1. ~(q  r)      Premise
                                     2. (u  q)  s Premise
   ~(q  r)
                                     3. ~s  ~p       Premise
   (u  q)  s                       4. ~q  ~r       De Morgan’s (1)
   ~s  ~p___                        5. ~q            Specialization (4)
    ~p                              6. ((u  q)  s)  Bicond (2)
                                      (s  (u  q))
As usual in our slides, we made no
mistakes and reached no dead
                                     7. s  (u  q) Specialization (6)
ends. That’s not the way things      8. ~u  ~q       Generalization (5)
really go on difficult proofs!       9. ~(u  q)     De Morgan’s (8)
                                     10. ~s          Modus tollens (7, 9)
Mistakes and dead ends are part of   11. ~p          Modus ponens (3,10)
the discovery process! So, step
back now and then and reconsider
your assumptions and approach!                                         23
                    Outline
• Prereqs, Learning Goals, and Quiz Notes
• Prelude: What Is Proof?
• Problems and Discussion
  – “Prove Your Own Adventure”
  – Why rules of inference? (advantages + tradeoffs)
  – Onnagata, Explore and Critique
• Next Lecture Notes

                                                   24
    Limitations of Truth Tables
Why not just use truth tables to prove
  propositional logic theorems?
a. No reason; truth tables are enough.
b. Truth tables scale poorly to large problems.
c. Rules of inference and equivalence rules
   can prove theorems that cannot be proven
   with truth tables.
d. Truth tables require insight to use, while
   rules of inference can be applied
   mechanically.

                                                  25
           Limitations of
        Logical Equivalences
Why not use logical equivalences to prove that
  the conclusions follow from the premises?
a. No reason; logical equivalences are enough.
b. Logical equivalences scale poorly to large
   problems.
c. Rules of inference and truth tables can
   prove theorems that cannot be proven with
   logical equivalences.
d. Logical equivalences require insight to use,
   while rules of inference can be applied
   mechanically.
                                             26
                    Outline
• Prereqs, Learning Goals, and Quiz Notes
• Prelude: What Is Proof?
• Problems and Discussion
  – “Prove Your Own Adventure”
  – Why rules of inference? (advantages + tradeoffs)
  – Onnagata: Explore and Critique
• Next Lecture Notes

                                                   27
          Problem: Onnagata
Problem: Critique the following argument.
Premise 1: If women are too close to femininity to portray
   women then men must be too close to masculinity to
   play men, and vice versa.
Premise 2: And yet, if the onnagata are correct, women are
   too close to femininity to portray women and yet men
   are not too close to masculinity to play men.
Conclusion: Therefore, the
   onnagata are incorrect, and
   women are not too close to
   femininity to portray women.

                                                         28
        Quiz 4 Notes (2 of 2)
Approaches:
• Use our model!
• Prove with a truth table
• Trace the argument
• Build a new argument and see where it leads
• Assume the opposite of the conclusion and
  see what happens
• Question the premises
                                            29
  Contradictory Premises?
Do premises #1 and #2 contradict each other (i.e., is
   premise1 AND premise2 logically equivalent to F)?
a. Yes
b. No
c. Not enough information to tell.




                                                        30
           Defining the Problem
Which definitions should we use?
a. w = women, m = men, f = femininity, m = masculinity, o =
    onnagata, c = correct
b. w = women are too close to femininity, m = men are too
    close to masculinity, pw = women portray women, pm =
    men portray men, o = onnagata are correct
c. w = women are too close to femininity to portray women,
    m = men are too close to masculinity to portray men,
    o = onnagata are correct
d. None of these, but another set of definitions works well.
e. None of these, and this problem cannot be modeled well
    with propositional logic.                                31
Translating the Statements
Which of these is not an accurate translation
  of one of the statements?
a. w  m
b. (w  m)  (m  w)
c. o  w  ~m
d. ~o  ~w
e. All of these are accurate translations.

                                            32
Problem: Now, Explore!
Critique the argument by either:

(1) Proving it correct (and commenting on how
   good the propositional logic model’s fit to the
   context is).
   How do we prove prop logic statements?

(2) Showing that it is an invalid argument.
   How do we show an argument is invalid?
   (Hint: think back to the quiz!)
                                                33
                    Outline
• Prereqs, Learning Goals, and Quiz Notes
• Prelude: What Is Proof?
• Problems and Discussion
  – “Prove Your Own Adventure”
  – Why rules of inference? (advantages + tradeoffs)
  – Onnagata, Explore and Critique
• Next Lecture Notes

                                                   34
  Next Lecture Learning Goals:
           Pre-Class
By the start of class, you should be able to:
  – Evaluate the truth of predicates applied to
    particular values.
  – Show predicate logic statements are true by
    enumerating examples (i.e., all examples in the
    domain for a universal or one for an existential).
  – Show predicate logic statements are false by
    enumerating counterexamples (i.e., one
    counterexample for universals or all in the domain
    for existentials).
  – Translate between statements in formal predicate
    logic notation and equivalent statements in
    closely matching informal language (i.e., informal
    statements with clear and explicitly stated
    quantifiers).
                                                    35
    Next Lecture Prerequisites
Review Chapter 1 and be able to solve any
 Chapter 1 exercise.
Read Sections 2.1 and 2.3 (skipping the
 “Negation” sections in 2.3 on pages 102-104)
Solve problems like Exercise Set 2.1 #1-24 and
 Set 2.3 #1-12, part (a) of 14-19, 21-22, 30-31,
 part (a) of 32-38, 39, parts (a) and (b) of 45-
 52, and 53-56.
You should have completed the open-book,
 untimed quiz on Vista that was due before
 this class.
                                              36
                                    snick
                                      
                                    snack




More problems to solve...

 (on your own or if we have time)




                                      37
            Problem:
   Who put the cat in the piano?
Hercule Poirot has been asked by Lord Martin to find out who closed
  the lid of his piano after dumping the cat inside. Poirot interrogates
  two of the servants, Akilna and Eiluj. One and only one of them put
  the cat in the piano. Plus, one always lies and one never lies.

Akilna says:
    – Eiluj did it.
    – Urquhart paid her $50 to help him study.

Eiluj says:
    – I did not put the cat in the piano.
    – Urquhart gave me less than $60 to help him study.


Problem: Whodunit?
                                                                       38
   Problem: Automating Proof
Given:
  pq
  p  ~q  r
  (r  ~p)  s  ~p
  ~r


Problem: What’s everything you can prove?

                                        39
    Problem: Canonical Form
A common form for propositional logic
  expressions, called “disjunctive normal
  form” or “sum of products form”, looks like
  this:
  (a  ~b  d)  (~c)  (~a  ~d)  (b  c  d
   e)  ...
In other words, each clause is built up of
  simple propositions or their negations,
  ANDed together, and all the clauses are
  ORed together.                             40
    Problem: Canonical Form
Problem: Prove that any propositional logic
 statement can be expressed in disjunctive
 normal form.




                                          41
           Mystery #1
Theorem:
p  q
q  (r  s)
~r  (~t  u)
p  t
 u


                Is this argument valid or invalid?
                                             42
                       Is whatever u means true?
          Mystery #2
Theorem:
p
p  r
p  (q  ~r)
~q  ~s
 s


               Is this argument valid or invalid?
                                            43
                      Is whatever s means true?
          Mystery #3
Theorem:
q
p  m
q  (r  m)
m  q
 p


               Is this argument valid or invalid?
                                            44
                      Is whatever p means true?
    Practice Problem (for you!)
Prove (with truth tables) that hypothetical
  syllogism is a valid rule of inference:
p  q
q  r
 p  r




                                              45
    Practice Problem (for you!)
Prove (with truth tables) whether this is a
  valid rule of inference:
q
p  q
 p




                                              46
    Practice Problem (for you!)
Are the following arguments valid?

  This apple is green.
  If an apple is green, it is sour.
   This apple is sour.

  Sam is not barking.
  If Sam is barking, then Sam is a dog.
   Sam is not a dog.

                                          47
    Practice Problem (for you!)
Are the following arguments valid?

  This shirt is comfortable.
  If a shirt is comfortable, it’s chartreuse.
   This shirt is chartreuse.

  It’s not cold.
  If it’s January, it’s cold.
   It’s not January.

                                                                     48
       Is valid (as a term) the same as true or correct (as English ideas)?
           More Practice
Meghan is rich.
If Meghan is rich, she will pay your tuition.
 Meghan will pay your tuition.




                                    Is this argument valid?
           Should you bother sending in a check for your
                                                       49
                     tuition, or is Meghan going to do it?
            Problem:
    Equivalent Java Programs
Problem: How many valid Java programs
 are there that do exactly the same thing?




                                             50
           Resources: Statements
 From the Java language
   specification, a
   standard statement is
   one that can be:




                                                                       51
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.5
           Resources: Statements
 From the Java language
   specification, a
   standard statement is
   one that can be:




                                                                       52
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.5
                What’s a “Block”?
 Back to the Java Language Specification:




                                                                       53
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.2
          What’s a “Block”?
A block is a sequence of statements, local
  class declarations and local variable
  declaration statements within braces.

…

A block is executed by executing each of the
  local variable declaration statements and
  other statements in order from first to last
  (left to right).                             54
  What’s an “EmptyStatement”
 Back to the Java Language Specification:




http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.6
                                                                       55
Problem: Validity of Arguments
Problem: If an argument is valid, does that
 mean its conclusion is true? If an
 argument is invalid, does that mean its
 conclusion is false?




                                              56
       Problem: Proofs and
          Contradiction
Problem: Imagine I assume premises x, y,
 and z and prove F. What can I conclude
 (besides “false is true if x, y, and z are
 true”)?




                                              57
           Proof Critique
       Theorem: √2 is irrational
Proof: Assume √2 is rational, then...
 There’s some integers p and q such that √2 = p/q, and
p and q share no factors.
 2 = (p/q)2 = p2/q2 and p2 = 2q2
 p2 is divisible by 2; so p is divisible by 2.
 There’s some integer k such that p = 2k.
 q2 = p2/2 = (2k)2/2 = 2k2; so q2 and q are divisible by 2.
 p and q do share the factor 2, a contradiction!
√2 is irrational. QED

                                                        58
Problem: Comparing Deduction
    and Equivalence Rules
Problem: How are logical equivalence rules
 and deduction rules similar and different,
 in form, function, and the means by which
 we establish their truth?




                                          59
 Problem: Evens and Integers
Problem: Which are there more of, (a)
 positive even integers, (b) positive
 integers, or (c) neither?




                                        60

				
DOCUMENT INFO