Natural deduction and sequent proofs (Gentzen style)
- The best, most flexible package, is surely now bussproofs.sty (Sam Buss: download the latest version, 1.1, June 2011). Note that there is a LaTeX for Logicians User Guide to bussproofs.sty.
- An older, less flexible but still highly functional, alternative is provided by proof.sty (Makoto Tatsuta, originally 1990, and now in version 3.1). Again there is an old LaTeX for Logicians User Guide to proof.sty.
For Fitch-style layouts, there are three packages
- The best of the older packages is fitch.sty (Johan Klüwer, 2003): there is also a short guide to the first steps of using this package (Ang Tong, 2005), and an demonstration here of how to set the sort of example illustrated below. But you’ll need to dig inside the style file to see further commands.
- An alternative producing similar output is fitch.sty (Peter Selinger, 2005).
- However, there is now also a new kid on the block, lplfitch, “a package for typesetting Fitch-style proofs a la Language, Proof, and Logic, a logic textbook by Jon Barwise and John Etchemendy.” (It was originally written by John Etchemendy, with modifications by Dave Barker-Plummer and Richard Zach: the documentation is good and contains a section compared its output to the varieties of fitch.sty.)
For Lemmon-style proofs
- There is a package nd3.sty for setting Lemmon-style proofs, with a short manual (Alex Steinberg 2010: see here for the original post about this).
- Another older available package for Gentzen-style proofs: prooftree.sty (Paul Taylor, 1996)
- mathpartir provides the mathpar environment, a “paragraph mode for formulas”, and also the inferrule macro designed to typeset inference rules (Didier Rémy 2005)
- More flexibly (but probably also requiring a more sophisticated user), there is now Derivation trees with MetaPost (Laurent Méhats, 2010 — these don’t need a knowledge of MetaPost to use).
- The Virginia Lake package offers macros aimed at “writing papers in the area of deep inference and the calculus of structures” but which could be adopted for other proof theoretic purposes.
- The flagderiv package can be used to set the variant kind of “flag” proofs some computer scientists like.
Links checked 26 November 2013