ProofTools

ProofTools is a freely downloadable cross-platform software application for automatically and graphically validating logical formulas and proofs/arguments: it checks either whether an individual formula is a logical truth or whether the conclusion of an argument follows logically from that argument's premises.  ProofTools is still under development and this is a preliminary version that lacks some features.  Currently it can validate propositional and predicate logic arguments - and it also supports the validation of individual propositional or predicate logic formulas - using the method of proof tree, also known as semantic tree, analytic tableau, analytic tableaux, semantic tableau, and semantic tableaux.  Planned is support for truth table proofs and modal logic (S5).

ProofTools is documented in the ProofTools manual and in the ProofTools background and technical addendum page.

ProofTools is developed with Lazarus, a free cross-platform Delphi-like Object Pascal integrated development environment.

The current version of ProofTools may be downloaded freely; please, however, link to this site for downloads rather than duplicating and hosting the downloadable files elsewhere - this makes it easier for us to keep track of how many people are downloading the program.  The ProofTools source code is not currently publicly available but that might change for future versions.

Please report any bugs that you find (after first checking that they haven't already been identified), including how to replicate them if known; also please feel free to contact me about this software project for any other good reason.

Screenshot

Screenshot of the Linux Qt version of ProofTools 0.3 beta

Download

Sorry, no Mac versions as yet.

Version 0.3 beta, released 12 May 2012

linux x86 32-bit, GTK2  linux x86 32-bit, Qt  linux x86 64-bit, GTK2  linux x86 64-bit, QT  win32  win64

New features:


Version 0.2.2 beta, released 19 October 2011

linux x86 32-bit, GTK2  linux x86 64-bit, GTK2  win32  win64

New features:


Version 0.2.1 beta, released 30 October 2010

linux x86 32-bit, GTK2  linux x86 64-bit, GTK2  win32  win64

New features:


Version 0.2 beta, released 25 October 2010

linux x86 32-bit, GTK2  win32  win64

New features:


Version 0.1 beta, released 27 September 2010

linux x86 32-bit, GTK2  win32  win64


Known bugs and limitations

Unless otherwise mentioned, the bugs and limitations below refer to the latest version of the software.

There are hard-coded limits of 21 different constant names and 5 different variable names throughout the tree.  This uses up all of the lowercase letters of the alphabet.  This is a design limitation of the syntax, which allows only for single-character variables and constants.  There is also a hard-coded limit of 26 different proposition names and 26 different predicate names.  This uses up all of the uppercase letters of the alphabet.  It is planned that in the next release, these design limitations will be removed by allowing names to be constructed by appending any number of apostrophes to a base character.

Inadequate fonts on Windows XP and earlier

By default, none of the fonts provided on Windows XP (and presumably all earlier versions of Windows) support all of the logic characters used by this program, and those unsupported logic characters show up as rectangles.  This can be remedied by installing a font that supports these characters, and by then selecting that font in the program.  One set of free fonts that supports these characters is the DejaVu fonts, which can be downloaded from that link, and, after unzipping them, installed using these instructions.  Once installed, you can then set one of them to be the program's font by clicking on the font button in the top left of the screen, or by pressing ctrl+F (you will need to separately set the font for both the interface and for the tree; currently settings are not saved so you will need to do this each time you run the program).

Collaboration

Emil Kirkegaard instigated this project and continues to collaborate with me on it.