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.
© Copyright 2026 Paperzz