I was wondering if anyone knows an algorithmic way of converting a natural deduction (Fitch) style proof into a axiomatic (or Hilbert) style proof. I am aware of one briefly introduced in Thomason (1970) but it seems unusable and I suspect that the author may have made mistakes. Can anyone point me to any others? Thanks!
-
Just propositional logic, or full first-order logic? – Bram28 Mar 04 '17 at 04:41
-
just propositional logic – cae52 Mar 04 '17 at 04:52
1 Answers
The details will vary significantly depending on your target Hilbert-style system. For convenience I shall assume one that has the usual boolean connectives instead of just a measly "$\to$". In all cases, do the translation from inside out, namely starting from the innermost context and replacing the Fitch-style subproof by a Hilbert-style subproof before translating the context scoping itself. $ \def\TO{\ \mathrel{\huge➩}\ } \def\fitch#1#2{\begin{array}{|l}#1 \\ \hline #2\end{array}} \def\block#1{\begin{array}{|l}#1\end{array}} $
In the innermost context, translate the application of the simple rules line by line:
$\fitch{A \\ B}{A \land B} \TO \fitch{A \\ B}{A \to ( B \to A \land B ) \quad [\land I] \\ B \to A \land B \\ A \land B}$
$\fitch{A \lor B \\ A \to C \\ B \to C}{C} \TO \fitch{A \lor B \\ A \to C \\ B \to C}{A \lor B \to ( ( A \to C ) \to ( ( B \to C ) \to C ) ) \quad [\lor E] \\ ( A \to C ) \to ( ( B \to C ) \to C ) \\ ( B \to C ) \to C \\ C}$
$\fitch{A \\ \neg A}{\bot} \TO \fitch{A \\ \neg A}{\neg A \to ( A \to \bot ) \quad [\neg E] \\ A \to \bot \\ \bot}$
$\fitch{\neg \neg A}{A} \TO \fitch{\neg \neg A}{\neg \neg A \to ( \neg A \to \bot ) \quad [\neg E] \\ \neg A \to \bot \\ ( \neg A \to \bot ) \to A \quad [\bot E] \\ A}$
Similarly for $\land$-Elim and $\lor$-Intro and $\neg$-Intro.
The lines with a label in square-brackets are Hilbert-style axioms that correspond to the Fitch-style inference rule. If they are not the ones you have in your system, simply replace them by a proof of them! The other rules are similar or easier, so I shall leave them to you.
Note that after translating the subproof in the innermost context, every line is either an axiom or deduced by MP (modus ponens).
Finally, the most important step is to translate the $\to$-Intro, which is the only Fitch-style rule that crucially requires handling different context scopes:
$\fitch{\fitch{A}{\vdots \\ B \quad [MP] \\ B \to C \quad [Axiom] \\ \vdots \\ C}}{A \to C} \TO \fitch{}{A \to A \\ \vdots \\ A \to B \\ B \to C \quad [Axiom] \\ ( B \to C ) \to ( A \to ( B \to C ) ) \quad [Sub{-}Restate] \\ A \to ( B \to C ) \\ \vdots \\ ( A \to B ) \to ( ( A \to ( B \to C ) ) \to ( A \to C ) ) \quad [Sub{-}MP] \\ ( A \to ( B \to C ) ) \to ( A \to C ) \\ A \to C }$
Here I have just shown an illustrative example, and it should be clear how to generalize.
The Hilbert-style axioms [Sub-Restate] and [Sub-MP] are commonly found in many presentations of Hilbert-style first-order logic. The first corresponds to restating a previously deduced statement inside a subcontext. The second corresponds to using MP inside a subcontext, and as you can see allows one to unbind the subproof; each statement $C$ deduced inside a subcontext $A$ translates to the statement $( A \to C )$ outside that subcontext.
Incidentally, exactly the same technique can be applied to translate a proof in any Fitch-style system to a Hilbert-style system, so it is not at all restricted to propositional logic. The technique also shows you a method to systematically devise Hilbert-style axioms to capture the Fitch-style inference rules correctly and completely.

- 57,693
- 9
- 98
- 256
-
Thanks! The specific systems I was working with had only -> and ~. I was able to use this advise and get the project done. The original Fitch proof had 9 lines and the Hilbert style proof had almost 100.... – cae52 Mar 05 '17 at 03:36
-
2@cae52: That's why I never recommend Hilbert-style proof systems for mathematics students, unless and until they reach the point where they want to prove meta-theorems especially involving Godel encoding. That's seriously the only advantage to Hilbert-style systems, because there is only one rule of inference. Can you imagine what it would be like if you didn't even have "$\neg$" but had "$\neg A$" defined as "$A \to \bot$"? – user21820 Mar 05 '17 at 05:16