Natural Deduction for Predicate Logic
Before seeing the natural deduction rules for handling the quantifiers ( and ), we will need to be careful about how we handle variables in proofs. We will now have three1 different uses of identifiers in our proofs, representing different entities that we want to be able to refer to by name:
-
Propositions (, , …) and predicates (, , …) stand for primitive statements that may be true or false, perhaps depending on the values of arguments. When we show that an argument is valid for and , for example, we have also shown that the argument is valid when those propositional and predicate variables are replaced by actual statements, such as "It is raining" or " is an even number". As long as we are consistent about replacing variables with the same statement each time they occur, the resulting argument will have the same structure and be equally valid. If we are careful, we can even perform substitutions such as becomes and (simultaneously) becomes ; for example, if we have proven the argument (Modus Tollens), then applying this substitution would allow us to also use the argument as a step in a proof.
-
Line labels (, , …, as well as , , …) allow us to name individual steps and assumptions in our proofs. I have been following the convention that lines in an actual proof are named , , …, although they could be given more meaningful names such as hypothesis, first_case, or premise2. When describing the deduction rules, I have been using labels such as and to emphasize that the line being referenced could be anywhere earlier in the proof (as long as it is not local to a nested subproof).
-
Entity variables (, , …, as well as , , …) stand for entities from the domain of discourse. I have been using , , … to stand for particular values, such as the number 42 or the student Joe, that might be used in an argument, so could represent the statement "42 is an even number." When the variable is bound by a quantifier, I generally use or instead, to emphasize that the formula is saying something about the full range of values from the domain of discourse, and we are not free to interpret it as any particular entity. The actual name of a bound variable does not matter, only the association between its uses and the quantifier that is binding it. That is, we will consider