Propositional Logic: Natural deduction
Introduction: structure of reasoning
Semantic vs syntactic perspective on argumentation In the previous section, a semantic perspective on the validity of an inference was discussed in terms of models. The formula \(\psi\) is herein a valid consequence of the formulas \(\phi_1, \ldots \phi_n \) if every model of the set \(\{\phi_1, \ldots \phi_n\}\) is also a model of \(\psi\). We denote this as \(\phi_1, \ldots \phi_n\vDash \psi\). This means that the formula \(\phi_1\land\ldots \phi_n\rightarrow \psi\) is a tautology.
However, this approach tells us little about how we arrive at a conclusion from a set of premises through reasoning. In other words, there is still a need for proving or deriving a conclusion based on accepted steps of reasoning. This is a syntactic perspective on the validity of a conclusion based on deductions that start with a set of premises. The formula \(\psi\) is now a conclusion that follows through a reasoning process involving accepted steps of inference, starting with formulas \(\phi_1, \ldots \phi_n \). We denote this as \(\phi_1, \ldots \phi_n\vdash \psi\). We also say that \(\psi\) can be derived from the formulas \(\phi_1, \ldots \phi_n \).
The following theorm states that the above-mentioned approaches to the validity of an inference, which have different natures, are in perfect agreement.
Correctness and completeness theorem If \(\Sigma\) is a set of logical formulas and \(\psi\) is a formula, then: \[\Sigma\vDash \phi\text{ if and only of }\Sigma\vdash \psi\]
Let us use a concrete example to illustrate a derivation of a conclusion.
We assume the following information:
- Claudia programs in C++ and Petra programs in Python.
- If Claudia programs in C++, then the teacher is happy.
- If Petra programs in Python, then the student assistant is happy.
These premises can lead to different sub-conclusions and these sub-conclusions, together with the premises, can lead to other sub-conclusions or can result in a final conclusion.
Step 1: premise 1 leads to 2 partial conclusions, one of which is:
1a. Claudia programs in C++.
After all, if Claudia is programming in C++ and Petra is programming in Python, then Claudia is definitely programming in C++.
Step 2: premise 2 and the sub-conclusion 1a lead to the sub-conclusion:
2a. The teacher is happy.
After all, according to 1a Claudia programs in C++, and the second premise states that if Claudia programs in C++, then the teacher is happy.
Step 3: premise 1 leads to 2 partial conclusions, one of these has been covered above, so we now look at the other:
1b. Petra programs in Python.
After all, if Claudia is programming in C++ and Petra is programming in Python, then Petra is definitely programming in Python.
Step 4: premise 3 and the sub-conclusion 1b lead to the sub-conclusion:
2b. The student assistant is happy.
After all, according to 2b, Petra programs in Python, and the second premise says that if Petra programs in Python, then the student assistant is happy.
Step 5: the sub-claims 2a and 2b can be combined into the following final conclusion:
c. The teacher is happy and the student assistant is happy.