14 CHECKING VALIDITY TREES III

14
CHECKING VALIDITY TREES III
Paal Antonsen
[email protected]
https://sites.google.com/site/paalantonsen/teaching/logic
a
Formal Logic
The story so far. . .
I In this lecture we will extend the tree method so that we will be able to
handle arguments in predicate logic. This is a method for checking for
proofs argument forms (i.e. whether the conclusion is provable from the
premises) by checking whether trees close.
There is a proof for hX , Ai (X ` A) iff there is a closed tree for hX , ∼Ai.
A tree is closed if all its branches are closed, and open otherwise.
A branch is (a) closed if a formula A and a formula ∼A (its negation) occur
in that branch, (b) open iff it is complete and not closed.
The story so far. . .
I We gave a summary of how to use the tree method:
HOW TO : CHECK WHETHER THERE IS A TREE PROOF
(a) Where hX , Ai is an argument, write down all the premises X and
negation of conclusion ∼A (the root).
(b) Then apply the rules for the connectives to produce branches on the
tree. Each time you apply a rule on a formula, remember to mark that
formula as resolved with X.
(c) If a formula along with its negation occurs in a branch of the the tree,
then mark that branch as closed with ×.
There are then two possibilities:
(d) If you thereby produce a tree where all branches are closed, you have
shown that there is a tree proof for hX , Ai (X ` A).
(e) If you thereby produce a tree where all the formulas are resolved and at
least one branch is open, you have shown that there isn’t a tree proof for
hX , Ai (X 0 A).
How do we handle formulas in predicate logic?
I The description of what counted as formulas of predicate logic included
∼A, (A & B), (A ∨ B), (A ⊃ B), (A ≡ B). So we can keep the rules:
closure
A
..
.
∼A
conjunction
(A & B)
A
B
disjunction
∼(A & B)
(A ∨ B)
∼A
A
∼B
B
∼(A ∨ B)
∼A
∼B
X
conditional
negation
∼∼A
(A ⊃ B)
∼A
A
B
∼(A ⊃ B)
A
∼B
biconditional
(A ≡ B)
A
B
∼A
∼B
∼(A ≡ B)
∼A
B
A
∼B
How do we handle formulas in predicate logic?
I The extended tree method needs rules to handle formulas of the form:
Existential
Negated existential
(∃x)A
∼(∃x)A
Universal
Negated universal
(∀x)A
∼(∀x)A
How do we handle formulas in predicate logic?
I The extended tree method needs rules to handle formulas of the form:
Existential
Negated existential
(∃x)A
∼(∃x)A
Universal
Negated universal
(∀x)A
∼(∀x)A
I The rules we need must satisfy their intuitive truth conditions:
(∃x)A is true
∼(∃x)A is true
iff
iff
A is true for some individual
A is not true for any individual
(∀x)A is true
∼(∀x)A is true
iff
iff
A is true for every individual
A is not true for every individual
How do we handle formulas in predicate logic?
(1)
(2)
(∀x)∼A
(∃x)∼A
iff
iff
∼(∃x)A
∼(∀x)A
How do we handle formulas in predicate logic?
(1)
(2)
(∀x)∼A
(∃x)∼A
iff
iff
∼(∃x)A
∼(∀x)A
(1) (∀x)∼A is true in M
iff for every object, ∼A is true in M
iff for every object, A is false in M
∼(∃x)A is true in M
iff there isn’t some object, s.t. A is true in M
iff for every object, A is false in M
How do we handle formulas in predicate logic?
(1)
(2)
(∀x)∼A
(∃x)∼A
iff
iff
∼(∃x)A
∼(∀x)A
(1) (∀x)∼A is true in M
iff for every object, ∼A is true in M
iff for every object, A is false in M
∼(∃x)A is true in M
iff there isn’t some object, s.t. A is true in M
iff for every object, A is false in M
(2) (∃x)∼A is true in M
iff there is some object, s.t. ∼A is true in M
iff there is some object, s.t. A is false in M
∼(∀x)A is true in M
iff not for every object, A is true in M
iff there is some object, s.t. A is false in M
Trees and predicate logic: universal quantification
I We add the two following rules for the universal quantifier
(∀x)A
X∼(∀x)A
A(a/x)
∼A(a/x)
for any name a
where a is a new name.
We can use any name when resolving (∀x)A because we assume that
the condition A is supposed to hold for any individual.
We do not check (X) this formula, so we can use it several times.
We use a new name, i.e. one that doesn’t occur in that branch, when
resolving ∼(∀x)A, because we just assume that not all individuals meet
condition A; nothing about which in particular.
Trees and predicate logic: universal quantification
I We add the two following rules for the universal quantifier
(∀x)A
X∼(∀x)A
A(a/x)
∼A(a/x)
for any name a
where a is a new name.
We can use any name when resolving (∀x)A because we assume that
the condition A is supposed to hold for any individual.
We do not check (X) this formula, so we can use it several times.
We use a new name, i.e. one that doesn’t occur in that branch, when
resolving ∼(∀x)A, because we just assume that not all individuals meet
condition A; nothing about which in particular.
Trees and predicate logic: universal quantification
I We add the two following rules for the universal quantifier
(∀x)A
X∼(∀x)A
A(a/x)
∼A(a/x)
for any name a
where a is a new name.
We can use any name when resolving (∀x)A because we assume that
the condition A is supposed to hold for any individual.
We do not check (X) this formula, so we can use it several times.
We use a new name, i.e. one that doesn’t occur in that branch, when
resolving ∼(∀x)A, because we just assume that not all individuals meet
condition A; nothing about which in particular.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
(∀x)(Px ⊃ Qx)
∼Qa
∼∼Pa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
(∀x)(Px ⊃ Qx)
∼Qa
∼∼Pa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
(∀x)(Px ⊃ Qx) /a
∼Qa
∼∼Pa
Pa ⊃ Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
(∀x)(Px ⊃ Qx) /a
∼Qa
∼∼Pa
Pa ⊃ Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
(∀x)(Px ⊃ Qx) /a
∼Qa
∼∼Pa
XPa ⊃ Qa
∼Pa
Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example I
(∀x)(Px ⊃ Qx), ∼Qa; therefore ∼Pa
(∀x)(Px ⊃ Qx) /a
∼Qa
∼∼Pa
XPa ⊃ Qa
∼Pa
Qa
⊗
⊗
All the branches close, so the argument is classified as valid. and that is
very good indeed
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px
(∀x)(Px ⊃ Qx)
∼(∀x)Qx
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px
(∀x)(Px ⊃ Qx)
∼(∀x)Qx
The rule said: resolve ∼(∀x)A by extending branch with the formula
∼A(a/x) where a is new.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px
(∀x)(Px ⊃ Qx)
X∼(∀x)Qx /a
∼Qa
The rule said: resolve ∼(∀x)A by extending branch with the formula
∼A(a/x) where a is new.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px
(∀x)(Px ⊃ Qx)
X∼(∀x)Qx /a
∼Qa
The rule said: resolve ∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px /a
(∀x)(Px ⊃ Qx)
X∼(∀x)Qx /a
∼Qa
Pa
The rule said: resolve ∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px /a
(∀x)(Px ⊃ Qx)
X∼(∀x)Qx /a
∼Qa
Pa
The rule said: resolve ∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px /a
(∀x)(Px ⊃ Qx) /a
X∼(∀x)Qx /a
∼Qa
Pa
Pa ⊃ Qa
The rule said: resolve ∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px /a
(∀x)(Px ⊃ Qx) /a
X∼(∀x)Qx /a
∼Qa
Pa
Pa ⊃ Qa
The rule said: resolve ∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px /a
(∀x)(Px ⊃ Qx) /a
X∼(∀x)Qx /a
∼Qa
Pa
Pa ⊃ Qa
∼Pa
Qa
The rule said: resolve ∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example II
(∀x)Px, (∀x)(Px ⊃ Qx); therefore (∀x)Qx
(∀x)Px /a
(∀x)(Px ⊃ Qx) /a
X∼(∀x)Qx /a
∼Qa
Pa
Pa ⊃ Qa
∼Pa
Qa
⊗
⊗
All the branches close, so the argument is classified as valid. and that is
very good indeed
Trees and predicate logic: existential quantification
I We add the two following rules for the existential quantifier
X(∃x)A
∼(∃x)A
A(a/x)
∼A(a/x)
where a is a new name
for any name a
We use a new name, i.e. one that doesn’t occur in that branch, when
resolving (∃x)A, because we just assume that some individual meet
condition A; nothing about which in particular.
We can use any name when resolving ∼(∃x)A because we assume that
the condition A doesn’t hold for any individal.
We do not check (X) this formula, so we can use it several times.
Trees and predicate logic: existential quantification
I We add the two following rules for the existential quantifier
X(∃x)A
∼(∃x)A
A(a/x)
∼A(a/x)
where a is a new name
for any name a
We use a new name, i.e. one that doesn’t occur in that branch, when
resolving (∃x)A, because we just assume that some individual meet
condition A; nothing about which in particular.
We can use any name when resolving ∼(∃x)A because we assume that
the condition A doesn’t hold for any individal.
We do not check (X) this formula, so we can use it several times.
Trees and predicate logic: existential quantification
I We add the two following rules for the existential quantifier
X(∃x)A
∼(∃x)A
A(a/x)
∼A(a/x)
where a is a new name
for any name a
We use a new name, i.e. one that doesn’t occur in that branch, when
resolving (∃x)A, because we just assume that some individual meet
condition A; nothing about which in particular.
We can use any name when resolving ∼(∃x)A because we assume that
the condition A doesn’t hold for any individal.
We do not check (X) this formula, so we can use it several times.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
(∃x)Px ⊃ Qa
Pb
∼Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
(∃x)Px ⊃ Qa
Pb
∼Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
X(∃x)Px ⊃ Qa
Pb
∼Qa
∼(∃x)Px
Qa
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
X(∃x)Px ⊃ Qa
Pb
∼Qa
∼(∃x)Px
Qa
⊗
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
X(∃x)Px ⊃ Qa
Pb
∼Qa
∼(∃x)Px
Qa
⊗
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x) for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
X(∃x)Px ⊃ Qa
Pb
∼Qa
∼(∃x)Px /b
Qa
∼Pb
⊗
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x) for any name a.
Trees and predicate logic: example III
(∃x)Px ⊃ Qa, Pb; therefore Qa
X(∃x)Px ⊃ Qa
Pb
∼Qa
∼(∃x)Px /b
Qa
∼Pb
⊗
⊗
All the branches close, so the argument is classified as valid. and that is
very good indeed
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
(∃x)Px
(∀x)(Px ⊃ Qx)
∼(∃x)Qx
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
(∃x)Px
(∀x)(Px ⊃ Qx)
∼(∃x)Qx
The rule said: resolve (∃x)A by extending branch with the formula
A(a/x), where a is a new name.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx)
∼(∃x)Qx
Pa
The rule said: resolve (∃x)A by extending branch with the formula
A(a/x), where a is a new name.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx)
∼(∃x)Qx
Pa
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx) /a
∼(∃x)Qx
Pa
Pa ⊃ Qa
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx) /a
∼(∃x)Qx
Pa
Pa ⊃ Qa
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x), for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx) /a
∼(∃x)Qx /a
Pa
Pa ⊃ Qa
∼Qa
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x), for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx) /a
∼(∃x)Qx /a
Pa
Pa ⊃ Qa
∼Qa
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x), for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx) /a
∼(∃x)Qx /a
Pa
XPa ⊃ Qa
∼Qa
∼Pa
Qa
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x), for any name a.
Trees and predicate logic: example IV
(∃x)Px, (∀x)(Px ⊃ Qx); therefore (∃x)Qx
X(∃x)Px /a
(∀x)(Px ⊃ Qx) /a
∼(∃x)Qx /a
Pa
XPa ⊃ Qa
∼Qa
∼Pa
Qa
⊗
⊗
All the branches close, so the argument is classified as valid. and that is
very good indeed
Restating the new rules
I Tomorrow we will continue with the tree method for predicate logic, so it
is useful to memorize the four new rules:
(∀x)A
X∼(∀x)A
A(a/x)
∼A(a/x)
for any name a
where a is a new name.
X(∃x)A
∼(∃x)A
A(a/x)
∼A(a/x)
where a is a new name
for any name a
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx)
(∃x)Px
∼(∃x)Rxx
The rule said: resolve (∀x)A by extending branch with the formula A(a/x)
for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx)
(∃x)Px
∼(∃x)Rxx
The rule said: resolve (∃x)A by extending branch with the formula
A(a/x), where a is a new name.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx)
X (∃x)Px /a
∼(∃x)Rxx
Pa
The rule said: resolve (∃x)A by extending branch with the formula
A(a/x), where a is a new name.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx)
X (∃x)Px /a
∼(∃x)Rxx
Pa
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx
Pa
Pa ⊃ Raa
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx
Pa
Pa ⊃ Raa
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx
Pa
XPa ⊃ Raa
∼Pa
Raa
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx
Pa
XPa ⊃ Raa
∼Pa
Raa
⊗
The rule said: resolve (∀x)A by extending branch with the formula
A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx
Pa
XPa ⊃ Raa
∼Pa
Raa
⊗
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx /a
Pa
XPa ⊃ Raa
∼Pa
Raa
⊗
∼Raa
The rule said: resolve ∼(∃x)A by extending branch with the formula
∼A(a/x), for any name a.
A final example
(∀x)(Px ⊃ Rxx), (∃x)Px; therefore (∃x)Rxx
(∀x)(Px ⊃ Rxx) /a
X (∃x)Px /a
∼(∃x)Rxx /a
Pa
XPa ⊃ Raa
∼Pa
Raa
⊗
∼Raa
⊗
All the branches close (i.e. the tree closes), so the argument is classified
as valid by the tree method.