How tableaux for QL works
we supplement rules from PL with rules governing identity and the quantifiers
QL Tableaux Rules
1) every thing is identical to itself
“identity is reflexive”
a=a will always be true
2) identity is based on the indiscernibility of identicals
“if a=b, then anything true of a is true of b and vice-versa.”
Anything we can say of one, we can say of the “other”
We can substitute one name for the other in a sentence, and we will never turn a truth into a falsehood
Rule # 1: Identity is reflexive
|
|
a=a
Rule #2: indiscernibility of identicals
if we have a=b on a branch, and some sentence S involving a on that branch, we can introduce to that branch the sentence that results from substituting any number of occurrences of a in S with b
a=b S | | S(b/a)
ex. if we have a=b on a branch and Ga→Fc, we can write Gb→Fc, replacing a with b
ex 2. if we have a=b on a branch and Ga→Fa, we can write Gb→Fa, Ga→Fb, or Gb→Fb, each of which is obtainable by replacing one of more occurence of a with b
Existential quantifier ∃xFx
we have ∃xFx on a branch, saying that something is F
Crucial caveat
Test the consistency of
∃xFx
∃xGx
∃xFx ✓
∃xGx ✓
|
Fa
GbThus, every time we deal with a new existentially quantified sentence, we replace every occurence of the bound variable with a name that is new to that branch
Universal quantifier ∀xFx
we have ∀xFx
Everything is F
- for any name we like, we can put it in place of the bound variable and get a true sentence
If everything is F, then a is, so we can get Fa
If everything is F, then b is, so we can get Fb… etc
∀xFx /a,b
|
Fa
Fb
and so on...But while I can use any name I like with the universal quantifier, in practice I only want to use names that already appear on the branch, or if there are none then one new name
REMEMBER: I am trying to get a contradiction on the branch, and the best shot at doing so is to use names that are already in play, because then I might contradict one of the sentences that I already have
Order of application of rules
Always want to apply the rule for any Existentially quantified sentences before dealing with Universally quantified sentences
- the existential quantifiers will give us our names, that we can then use for the universal quantifier rule
1) negated quantifier rules
2) existential quantifier rules
3) universal quantifier rules
Negations of quantifiers
We rely on equivalences- if it’s not the case that everything is F, then at least one thing fails to be F
¬∀xFx ✓
|
∃x¬Fx
And if it’s not the case that something is F, then everything fails to be F
¬∃xFx ✓
|
∀x¬Fx
* trick to remember this, the negation jumps over the quantifier, and you swap quantifiers
Test set {∃x(Fx∧Gx), ∀x(Gx→Hx), ¬∀xHx} for consistency
steps
1) list sentences
2) deal with negated quantifiers
3) we have 2 existential and one universal, deal with existential first
- introduce a new name to replace for the variable x
Branching universal quantifiers
remember, first deal with negations, then existential, and universal at last, plugging in the names (“a”, “b”, etc) used into x for the universal sentence
Models for Tableaux in QL
Testing for consistency
- if consistent will get a model
Can also test for validity by testing for consistency the premises and the negation of the conclusion
Domain- the things named by every name on this branch
D: {a, b}
then we construct the extensions for the predicates to make the simple predications or their negations that appear on the branch to be true
I(a) = a i(b) = b
I(F) = a --- F is true for a I(G) = a ---- G is true for a, but false for b ---- ¬Gb remains open, not Gb, G is not b I(H) = a --- H is true for a --- ¬Hb remains open