Manual
A Natural Deduction Calculator
This manual provides an introduction to the relevant formal definitions and to the usage of our calculator. In general, this calculator is designed to offer an opportunity for visually creating deduction trees step by step.
Thus, the main focus is to make the process of creating such a tree more accessible. For this reason, the major spotlight is given to the design of the webpage. However, we are also interested in a fast and clean backend that proof-checks all the deduction trees.
Some functionality which might also be interesting for people who are more advanced in logic is the converting tool. Everyone who deals with logic comes sooner or later in touch with deduction trees. Typesetting such deduction trees remains an issue: although there are very useful packages, it is still time-consuming. For this reason, the calculator offers to convert every tree you create into ready-to-use LaTeX or Typst code.
It is still a challenge to agree on a general syntax and definition of a natural deduction proof system. Since DeDucktion is an open-source project, we invite everyone to integrate their own syntax and formal definition of their natural deduction proof system. For now, we start with the formal notions oriented at the lecture "Einführung in die formale Logik" (Introduction to Formal Logic) from Tübingen. So far the calculator is only usable for propositional logic.
We start with the definition of the syntax of propositional logic.
Definition 2.1.1 (Language)
The language of our propositional logic contains only the following symbols:
This is followed by the inductive definition of a formula.
Definition 2.1.2 (Formula)
With this said, we can provide a few examples of formulas that are allowed in our calculator.
Example
Remark
We do not allow any propositional symbols other than P, Q, R and P_i, Q_j, R_l for i, j, l \in \mathbb{N}.1
A parenthesis-saving convention is not included either. Therefore, there is no defined hierarchy between the connectives.
For every connective we define at least one introduction and one elimination rule.
Definition 2.2.1 (Deduction Rules)
\land Conjunction
Introduction
Elimination 1
Elimination 2
\lor Disjunction
Introduction 1
Introduction 2
Elimination
\rightarrow Conditional
Introduction
Elimination
\lnot Negation
Introduction
Elimination
\leftrightarrow Biconditional
Introduction
Elimination 1
Elimination 2
Remark
In this calculator the order of the premises matters. That means the calculator will not accept instances of:
Another important remark is that the discharging brackets are obligatory.2
With these rules one can define the derivability relation \Gamma \vdash \varphi.
Definition 2.2.2 (Derivability)
Let \Gamma be a set of propositional logic formulas and let \varphi be one such formula. Then \Gamma \vdash \varphi holds iff \varphi is the result of using the rules of Definition 2.2.1 with only the formulas of \Gamma as open assumptions.3
Example 1 (P \rightarrow Q),\ (Q \rightarrow R) \vdash (P \rightarrow R)
Example 2 (P \lor Q),\ (P \rightarrow R_1),\ (Q \rightarrow R_2) \vdash (R_1 \lor R_2)
You now know the rules of our proof system (Section 2.2). In this chapter we provide an explanation on how to turn such a proof tree in a DeDucktion tree in the calculator and after that how to proof-check it. The calculator is built around one idea: you state a claim \Gamma \vdash \varphi, then you build up the proof tree bottom up, starting with the last inferential step, and build the proof upwards by applying one rule at a time. Similarly to the two examples above.
The calculator has five areas. This is shown in the schematic graphic below; the numbers point to the sections that follow.
Result
Input Help
Convert Help
Above the canvas and the claim you find the action bar. For every crucial functionality there is a button. The following lists every button:
The bar under the buttons states the claim you are trying to prove, \Gamma \vdash \varphi:
This is what Validate checks: the conclusion at the bottom of your tree must match the right field, and every open assumption left in the tree must appear among the premises on the left.
The right-hand column has three stacked panels.
Result
Correct proof.
Incorrect proof.
No validation yet.
Result stays muted until you press Validate. A correct proof turns it to Correct proof; a broken step turns it to Incorrect proof.
Input Help
and, & for \land
or, | for \lor
not, ~ for \lnot
imp, -> for \rightarrow
biimp, <-> for \leftrightarrow
Input Help shows keyboard shortcuts: type any sequence in a formula field and it is replaced by the logical symbol as you go.
Convert Help
Convert Help provides a ready-to-copy import command for either curryst for Typst or bussproofs for LaTeX.
To see the calculator in action, watch the two short demos:
Demo 1 (P \rightarrow Q),\ (Q \rightarrow R) \vdash (P \rightarrow R)
Demo 2 (P \land (Q \lor R)) \vdash ((P \land Q) \lor (P \land R))
Service Contact:
Found a bug, an error, or another problem? Contact
leander.herter@student.uni-tuebingen.de.