0% found this document useful (0 votes)
8 views4 pages

Natural Deduction Proof Tree Guide

The document describes macros that can be used to build proof trees for natural deduction and sequent calculus in LaTeX or TeX. The macros allow producing proof trees from formulas and other proof trees in a structured way. Key macros include \begin{prooftree} and \end{prooftree} to enclose an entire proof tree, and \justifies, \using, \thickness, \shiftright, \proofdotseparation, and \proofdotnumber to control aspects of the deduction rules and conclusions. The macros handle spacing and positioning formulas and subproofs appropriately within the overall proof tree structure.

Uploaded by

Silvia Kanehisa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views4 pages

Natural Deduction Proof Tree Guide

The document describes macros that can be used to build proof trees for natural deduction and sequent calculus in LaTeX or TeX. The macros allow producing proof trees from formulas and other proof trees in a structured way. Key macros include \begin{prooftree} and \end{prooftree} to enclose an entire proof tree, and \justifies, \using, \thickness, \shiftright, \proofdotseparation, and \proofdotnumber to control aspects of the deduction rules and conclusions. The macros handle spacing and positioning formulas and subproofs appropriately within the overall proof tree structure.

Uploaded by

Silvia Kanehisa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Build proof tree for Natural Deduction, Sequent Calculus, etc.

Paul Taylor Department of Computing, Imperial College, London SW7 2BZ +44 71 589 5111 ext 5057 <pt@[Link]> September 20, 2011
Using my Proof Tree macros, you can produce
[(y. (([Link] = y) qy)) (w. (([Link] = w) pw))] w. (([Link] = w) pw) ([Link] = y) py 2E E [([Link] = y) qy] [Link] = y py [(y. (([Link] = y) qy)) (w. (([Link] = w) pw))] y. (([Link] = y) qy) 1E E [([Link] = y) qy] py (([Link] = y) qy) [Link] ((([Link] = z) qz)) [Link] ((([Link] = z) qz)) I E I I 1E

(y. (([Link] = y) qy)) (w. (([Link] = w) pw)) ([Link] ((([Link] = z) qz)))


A using the TEX or L TEX code

\input prooftree $$ \begin{prooftree} \[ \[ [(\A y n)\land(\B w n)]_\alpha \andelim1 \A y n \] \kern-26em \[ \[ \[ \[ \[ [(\A y n)\land(\B w n)]_\alpha \andelim2 \shiftright60pt \B w n 1

\] \allelim (\E y n)\imp\P y \] \[ [(\E y n)\land\Q y]_\beta \andelim1 \E y n \] \impelim \shiftright50pt \P y \] \kern-25pt [(\E y n)\land\Q y]_\beta \andintro \P y\land((\E y n)\land\Q y) \] \existsintro \C z n \] \existselim\beta \C z n \] \impintro\alpha (\A yn)\land(\B w n)\imp(\C z n) \end{prooftree}$$ In fact the commands \allintro, etc., are not primitive; the basic form is \[ A\quad B \justifies A \land B \thickness=0.08em \shiftright 2em \using {\land}{\cal I} \] which gives I AB The hypotheses may themselves be proof trees (enclosed in \[. . . \]) and the purpose of the macros is to adjust the length of the horizontal deduction line. 2 A B

When the hypotheses are proof trees, suitable space is put between them, but of course this must be supplied by hand for simple formulae. The \thickness and \shiftright commands are, of course, optional; they apply to the horizontal line and to the positioning of the conclusion relative to it. For a double line, use \Justifies instead of \justifies. Notice the overloading of the \[. . . \]; the outermost proof tree must be enclosed with \begin{prooftree} and \end{prooftree} or \prooftree and \endprooftree. To get a vertical string of dots instead of the proof rule, do \[ [A] \using \pi \proofdotseparation=1.2ex \proofdotnumber=4 \leadsto B \] [A] to get B All of of the keywords except \prooftree and \endprooftree are optional and may appear in any order. They may also be combined in \newcommands, for example \newcommand\Cut{\using\sf cut\thickness.08em\justifies} with the abbreviation \[ A \vdash B \qquad B \vdash C \Cut A \vdash C \] \thickness species the breadth of the rule in any units, although fontrelative units such as ex or em are preferable. It may optionally be followed by =. \proofrulebreadth=.08em or \setlength\proofrulebreadth{.08em} may also be used either in place of \thickness or globally; the default is 0.04em. \proofdotseparation and \proofdotnumber control the size of the string of dots. If proof trees and formulae are mixed, some explicit spacing is needed, but dont put anything to the left of the left-most (or the right of the right-most)

hypothesis, or put it in braces, because this will cause the indentation to be lost. By default the conclusion is centered wrt the left-most and right-most immediate hypotheses (not their proofs); \shiftright or \shiftleft moves it relative to this position. (Not sure about this specication or how it should aect spreading of proof tree.)

You might also like