CSE 260 Slides fall 2009

Rules of inference
Section 1.5
MSU/CSE 260 Fall 2009
1
Review: Logical Implications
?
#2
#1
#1
#2
Answer?
T
T
Yes
T
F
No
F
T
Yes
F
F
Yes
MSU/CSE 260 Fall 2009
2
Terminology




Axiom or Postulate: An underlying
assumption; often used to begin a logical
argument with.
Rules of inference: Rules explaining how
conclusions are drawn from axioms/postulates.
Proof: A sequence of propositions that forms a
valid argument.
Fallacy: Incorrect reasoning (invalid argument)
MSU/CSE 260 Fall 2009
3
Terminology…




Theorem: A proposition that can be shown to
be true.
Lemma: A simple theorem used in the proof of
other theorems.
Corollary: A fact that can be immediately
deduced from a Theorem/Lemma.
Conjecture: A proposition whose correctness is
unknown.
MSU/CSE 260 Fall 2009
4
Rules of inference


Rules of inference are used to draw conclusions from
hypotheses. These are the logical implication questions
for which the answer is YES
Consider the question:
Does [p  (p  q)] logically imply q

The answer is YES as [p  (p  q)]  q is a tautology

It is the basis of the rule of inference called modus ponens, which
can be represented by the symbolic form
p
pq
q
which means that whenever p is true and p  q is true we can
conclude that q is true.
In other words [p  (p  q)] logically implies q
MSU/CSE 260 Fall 2009
5
Example



Consider the argument:
You have a CSE account if you are taking CSE 260.
You are taking CSE 260. Therefore, you have a
CSE account.
This argument is an instance of modus ponens:
p: You are taking CSE 260.
q: You have a CSE account.
Then the argument has the form:
pq
p
q
Thus, the argument is valid.
MSU/CSE 260 Fall 2009
6
A Few Tautologies
p → (p  q)
(p  q) → p
p  q → (p  q)
[p  (p → q)] → q
[¬ q  (p → q)] → ¬ p
[(p → q)  (q → r)] → (p → r)
[(p  q)  ¬p] → q
Each of these tautologies can be formalized as a rule of
inference for use in justifying claims in a valid argument.
MSU/CSE 260 Fall 2009
7
Rules of Inference
p
pq
p
logically implies
(p  q)
p → (p  q)
is a tautology
Addition
pq
p
(p  q)
logically implies
p
(p  q) → p
is a tautology
Simplification
p
q
pq
pq
logically implies
(p  q)
(p  q) → (p  q)
Conjunction
is a tautology
p
pq
q
[p  (p → q)]
logically implies
q
[p  (p → q)] → q
Modus ponens
is a tautology
MSU/CSE 260 Fall 2009
8
Rules of Inference
p
pq
p
logically implies
(p  q)
p → (p  q)
is a tautology
Addition
pq
p
(p  q)
logically implies
p
(p  q) → p
is a tautology
Simplification
p
q
pq
pq
logically implies
(p  q)
(p  q) → (p  q)
Conjunction
is a tautology
p
pq
q
[p  (p → q)]
logically implies
q
[p  (p → q)] → q
Modus ponens
is a tautology
MSU/CSE 260 Fall 2009
9
Rules of Inference
p
pq
p
logically implies
(p  q)
p → (p  q)
is a tautology
Addition
pq
p
(p  q)
logically implies
p
(p  q) → p
is a tautology
Simplification
p
q
pq
pq
logically implies
(p  q)
(p  q) → (p  q)
Conjunction
is a tautology
p
pq
q
[p  (p → q)]
logically implies
q
[p  (p → q)] → q
Modus ponens
is a tautology
MSU/CSE 260 Fall 2009
10
Rules of Inference
p
pq
p
logically implies
(p  q)
p → (p  q)
is a tautology
Addition
pq
p
(p  q)
logically implies
p
(p  q) → p
is a tautology
Simplification
p
q
pq
pq
logically implies
(p  q)
(p  q) → (p  q)
Conjunction
is a tautology
p
pq
q
[p  (p → q)]
logically implies
q
[p  (p → q)] → q
Modus ponens
is a tautology
MSU/CSE 260 Fall 2009
11
Rules of Inference
¬q
pq
¬p
[¬ q  (p → q)]
logically implies
¬p
[¬ q  (p → q)] → ¬ p
is a tautology
p→q
q→r
p→r
[(p→q)  (q→r)]
logically implies
(p→r)
[(p→q)  (q→r)] → (p→r) Hypothetical
syllogism
is a tautology
pq
¬p
q
[(p  q)  ¬p]
logically implies
q
[(p  q)  ¬p] → q
is a tautology
pq
¬pr
qr
[(p  q)  (¬p  r)]
logically implies
qr
[(p  q)  (¬p  r)] → q  r Resolution
is a tautology
MSU/CSE 260 Fall 2009
Modus tollens
Disjunctive
syllogism
12
Rules of Inference
¬q
pq
¬p
[¬ q  (p → q)]
logically implies
¬p
[¬ q  (p → q)] → ¬ p
is a tautology
p→q
q→r
p→r
[(p→q)  (q→r)]
logically implies
(p→r)
[(p→q)  (q→r)] → (p→r) Hypothetical
syllogism
is a tautology
pq
¬p
q
[(p  q)  ¬p]
logically implies
q
[(p  q)  ¬p] → q
is a tautology
pq
¬pr
qr
[(p  q)  (¬p  r)]
logically implies
qr
[(p  q)  (¬p  r)] → q  r Resolution
is a tautology
MSU/CSE 260 Fall 2009
Modus tollens
Disjunctive
syllogism
13
Rules of Inference
¬q
pq
¬p
[¬ q  (p → q)]
logically implies
¬p
[¬ q  (p → q)] → ¬ p
is a tautology
p→q
q→r
p→r
[(p→q)  (q→r)]
logically implies
(p→r)
[(p→q)  (q→r)] → (p→r) Hypothetical
syllogism
is a tautology
pq
¬p
q
[(p  q)  ¬p]
logically implies
q
[(p  q)  ¬p] → q
is a tautology
pq
¬pr
qr
[(p  q)  (¬p  r)]
logically implies
qr
[(p  q)  (¬p  r)] → q  r Resolution
is a tautology
MSU/CSE 260 Fall 2009
Modus tollens
Disjunctive
syllogism
14
Rules of Inference
¬q
pq
¬p
[¬ q  (p → q)]
logically implies
¬p
[¬ q  (p → q)] → ¬ p
is a tautology
p→q
q→r
p→r
[(p→q)  (q→r)]
logically implies
(p→r)
[(p→q)  (q→r)] → (p→r) Hypothetical
syllogism
is a tautology
pq
¬p
q
[(p  q)  ¬p]
logically implies
q
[(p  q)  ¬p] → q
is a tautology
pq
¬pr
qr
[(p  q)  (¬p  r)]
logically implies
qr
[(p  q)  (¬p  r)] → q  r Resolution
is a tautology
MSU/CSE 260 Fall 2009
Modus tollens
Disjunctive
syllogism
15
Example

Is the following argument valid?
If the program crashed, an exception was raised. If an
exception was raised, someone input a text value for an
integer. Therefore, if the program crashed, someone input
a text value for an integer.

If valid, what rule of inference is used?
If not, how do you know it is invalid?
p→q
q→r
p→r
p: The program crashed.
q: An exception was raised.
r: Someone input a text value for an
integer.
Hypothetical Syllogism – its valid!
MSU/CSE 260 Fall 2009
16
Example

Is the following argument valid?
If the program crashed, an exception was raised. If an
exception was raised, someone input a text value for an
integer value. Therefore, the program did not crash,

If valid, what rule of inference is used?
If not, how do you know its invalid?
p→q
q→r
p
p: The program crashed.
q: An exception was raised.
r: Someone input a text value for an
integer.
[(p → q)  (q → r ) →  p] is not a tautology; therefore, the
argument is not valid.
MSU/CSE 260 Fall 2009
17
Example

Is the following argument valid?
If the program crashed, an exception was raised. If an
exception was raised, someone input a text value for an
integer value. No one input a text value for an integer.
Therefore, the program did not crash,

If valid, what rule of inference is used?
If not, how do you know its invalid?
p→q
q→r
r
p
p: The program crashed.
q: An exception was raised.
r: Someone input a text value for an
integer.
MSU/CSE 260 Fall 2009
18
Example

Is the following argument valid?
If the program crashed, an exception was raised. If an
exception was raised, someone input a text value for an
integer value. No one input a text value for an integer.
Therefore, the program did not crash,


.
If valid, what rule of inference is used?
If not, how do you know its invalid?
[ ( (p → q)  (q → r )   r ) →  p ] is a tautology;
therefore, the argument is valid.
We will shortly develop methods of proof so we don’t
have to always convert an inference into a formula and
demonstrate that the formula is a tautology; but first …
MSU/CSE 260 Fall 2009
19
Rules of Inference for Quantifications
Rule of
Inference
x P(x)
 P(c)
P(c)
 x P(x)
x P(x)
 P(c)
P(c)
 x P(x)
Name
Comments
Universal
Specification/Instantiation
(US) or (UI)
for any c in the domain
Universal generalization
(UG)
for an arbitrary c, not a
particular one
Existential
Specification/Instantiation
(ES) or (EI)
for some specific c (unknown)
Existential generalization
(EG)
Finding one c such that P(c)
MSU/CSE 260 Fall 2009
20
Rules of Inference for Quantifications
Rule of
Inference
x P(x)
 P(c)
P(c)
 x P(x)
x P(x)
 P(c)
P(c)
 x P(x)
Name
Comments
Universal
Specification/Instantiation
(US) or (UI)
for any c in the domain
Universal generalization
(UG)
for an arbitrary c, not a
particular one
Existential
Specification/Instantiation
(ES) or (EI)
for some specific c (unknown)
Existential generalization
(EG)
Finding one c such that P(c)
MSU/CSE 260 Fall 2009
21
Rules of Inference for Quantifications
Rule of
Inference
x P(x)
 P(c)
P(c)
 x P(x)
x P(x)
 P(c)
P(c)
 x P(x)
Name
Comments
Universal
Specification/Instantiation
(US) or (UI)
for any c in the domain
Universal generalization
(UG)
for an arbitrary c, not a
particular one
Existential
Specification/Instantiation
(ES) or (EI)
for some specific c (unknown)
Existential generalization
(EG)
Finding one c such that P(c)
MSU/CSE 260 Fall 2009
22
Rules of Inference for Quantifications
Rule of
Inference
x P(x)
 P(c)
P(c)
 x P(x)
x P(x)
 P(c)
P(c)
 x P(x)
Name
Comments
Universal
Specification/Instantiation
(US) or (UI)
for any c in the domain
Universal generalization
(UG)
for an arbitrary c, not a
particular one
Existential
Specification/Instantiation
(ES) or (EI)
for some specific c (unknown)
Existential generalization
(EG)
Finding one c such that P(c)
MSU/CSE 260 Fall 2009
23
Example: Socrates is mortal




All men are mortal. Socrates is a man. Therefore,
Socrates is mortal.
Define M(x): “x is mortal.”
Define the universe to be all men.
Then the argument being made is:
x M(x)
 M(Socrates)
which is an example of universal specification
MSU/CSE 260 Fall 2009
24
Example:
Show that there is no “largest” integer:
That is, show x y P(x, y) where P(x, y) denotes the


predicate “y > x”




Let x be an arbitrary integer.
Then P(x, x+1 ) is true by laws of arithmetic ( x+1 > x ).
It follows that y P(x, y) from existential generalization.
In turn, it follows that x y P(x, y) from universal
generalization.
MSU/CSE 260 Fall 2009
25