annotate paper/bussproofs.sty @ 86:e437746d6038

Fix lstinput
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Thu, 09 Feb 2017 15:40:11 +0900
parents 9800586284e1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 \def\BPmessage{Proof Tree (bussproofs) style macros. Version 1.1.}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 % bussproofs.sty. Version 1.1
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 % (c) 1994,1995,1996,2004,2005,2006, 2011.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 % Copyright retained by Samuel R. Buss.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 % ==== Legal statement: ====
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 % This work may be distributed and/or modified under the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 % conditions of the LaTeX Project Public License, either version 1.3
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 % of this license or (at your option) any later version.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 % The latest version of this license is in
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 % http://www.latex-project.org/lppl.txt.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 % and version 1.3 or later is part of all distributions of LaTeX
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 % version 2005/12/1 or later.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 % This work has the LPPL maintenance status 'maintained'.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 % The Current Maintainer of the work is Sam Buss.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 % This work consists of bussproofs.sty.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 % =====
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 % Informal summary of legal situation:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 % This software may be used and distributed freely, except that
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 % if you make changes, you must change the file name to be different
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 % than bussproofs.sty to avoid compatibility problems.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 % The terms of the LaTeX Public License are the legally controlling terms
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 % and override any contradictory terms of the "informal situation".
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 % Please report comments and bugs to sbuss@ucsd.edu.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 % Thanks to Felix Joachimski for making changes to let these macros
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 % work in plain TeX in addition to LaTeX. Nothing has been done
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 % to see if they work in AMSTeX. The comments below mostly
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 % are written for LaTeX, however.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 % July 2004, version 0.7
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 % - bug fix, right labels with descenders inserted too much space.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 % Thanks to Peter Smith for finding this bug,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 % see http://www.phil.cam.ac.uk/teaching_staff/Smith/LaTeX/
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 % March 2005, version 0.8.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 % Added a default definition for \fCenter at Denis Kosygin's
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 % suggestion.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 % September 2005, version 0.9.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 % Fixed some subtle spacing problems, by adding %'s to the end of
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 % few lines where they were inadvertantly omitted. Thanks to
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 % Arnold Beckmann for finding and fixing this problem.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 % April 2006, version 0.9.1. Updated comments and testbp2.tex file.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 % No change to the actual macros.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 % June 2006, version 1.0. The first integer numbered release.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 % New feature: root of proof may now be at the bottom instead of
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 % at just the top. Thanks to Alex Hertel for the suggestion to implement
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 % this.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 % June 2011, version 1.1.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 % New feature: 4-ary and 5-ary inferences. Thanks to Thomas Strathmann
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 % for taking the initiative to implement these.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 % Four new commands: QuaternaryInf(C) and QuinaryInf(C).
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 % Bug fix: \insertBetweenHyps now works for proofs with root at top and
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 % three or more hypotheses..
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 % A good exposition of how to use bussproofs.sty (version 0.9) has been written
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 % by Peter Smith and is available on the internet.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 % The comments below also describe the features of bussproofs.sty,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 % including user-modifiable parameters.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 % bussproofs.sty allows the construction of proof trees in the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 % style of the sequent calculus and many other proof systems
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 % One novel feature of these macros is they support the horizontal
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 % alignment according to some center point specified with the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 % command \fCenter. This is the style often used in sequent
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 % calculus proofs.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 % Proofs are specified in left-to-right traversal order.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 % For example a proof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 % A B
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 % -----
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 % D C
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 % ---------
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 % E
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 % if given in the order D,A,B,C,E. Each line in the proof is
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 % specified according to the arity of the inference which generates
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 % it. Thus, E would be specified with a \BinaryInf or \BinaryInfC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 % command.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 % The above proof tree could be displayed with the commands:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 % \AxiomC{D}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 % \AxiomC{A}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 % \AxiomC{B}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 % \BinaryInfC{C}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 % \BinaryInfC{E}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 % \DisplayProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 % Inferences in a proof may be nullary (axioms), unary, binary, or
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 % trinary.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 % IMPORTANT: You must give the \DisplayProof command to make the proof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 % be printed. To display a centered proof on a line by itself,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 % put the proof inside \begin{center} ... \end{center}.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 % There are two styles for specifying horizontal centering of
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 % lines (formulas or sequents) in a proof. One format \AxiomC{...}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 % just centers the formula {...} in the usual way. The other
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 % format is \Axiom$...\fCenter...$. Here, the \fCenter specifies
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 % the center of the formula. (It is permissable for \fCenter to
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 % generate typeset material; in fact, I usually define it to generate
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 % the sequent arrow.) In unary inferences, the \fCenter
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 % positions will be vertically aligned in the upper and lower lines of
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 % the inference. Unary, Binary, Trinary inferences are specified
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 % with the same format as Axioms. The two styles of centering
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 % lines may be combined in a single proof.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 % By using the optional \EnableBpAbbreviations command, various
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 % abbreviated two or three letter commands are enabled. This allows,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 % in particular:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 % \AX and \AXC for \Axiom and \AxiomC, (resp.),
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 % \DP for \DisplayProof,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 % \BI and \BIC for \BinaryInf and \BinaryInfC,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 % \UI and \UIC for \UnaryInf and \UnaryInfC,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 % \TI and \TIC for \TrinaryInf and \TrinaryInfC,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 % \LL and \RL for \LeftLabel and \RightLabel.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 % See the source code below for additional abbreviations.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 % The enabling of these short abbreviations is OPTIONAL, since
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 % there is the possibility of conflicting with names from other
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 % macro packages.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 % By default, the inferences have single horizontal lines (scores)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 % This can be overridden using the \doubleLine, \noLine commands.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 % These two commands affect only the next inference. You can make
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 % make a permanent override that applies to the rest of the current
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 % proof using \alwaysDoubleLine and \alwaysNoLine. \singleLine
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 % and \alwaysSingleLine work in the analogous way.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 % The macros do their best to give good placements of for the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 % parts of the proof. Several macros allow you to override the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 % defaults. These are \insertBetweenHyps{...} which overrides
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 % the default spacing between hypotheses of Binary and Trinary
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 % inferences with {...}. And \kernHyps{...} specifies a distance
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 % to shift the whole block of hypotheses to the right (modifying
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 % the default center position.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 % Other macros set the vertical placement of the whole proof.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 % The default is to try to do a good job of placement for inferences
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 % included in text. Two other useful macros are: \bottomAlignProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 % which aligns the hbox output by \DisplayProof according to the base
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 % of the bottom line of the proof, and \centerAlignProof which
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 % does a precise center vertical alignment.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 % Often, one wishes to place a label next to an inference, usually
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 % to specify the type of inference. These labels can be placed
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 % by using the commands \LeftLabel{...} and \RightLabel{...}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 % immediately before the command which specifies the inference.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 % For example, to generate
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 % A B
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 % --------- X
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 % C
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 % use the commands
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 % \AxiomC{A}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 % \AxiomC{B}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 % \RightLabel{X}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 % \BinaryInfC{C}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 % \DisplayProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 % The \DisplayProof command just displays the proof as a text
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 % item. This allows you to put proofs anywhere normal text
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 % might appear; for example, in a paragraph, in a table, in
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 % a tabbing environment, etc. When displaying a proof as inline text,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 % you should write \DisplayProof{} (with curly brackets) so that
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 % LaTeX will not "eat" the white space following the \DisplayProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 % command.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 % For displaying proofs in a centered display: Do not use the \[...\]
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 % construction (nor $$...$$). Instead use
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 % \begin{center} ... \DisplayProof\end{center}.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 % Actually there is a better construction to use instead of the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 % \begin{center}...\DisplayProof\end{center}. This is to
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 % write
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 % \begin{prooftree} ... \end{prooftree}.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 % Note there is no \DisplayProof used for this: the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 % \end{prooftree} automatically supplies the \DisplayProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 % command.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 % Warning: Any commands that set line types or set vertical or
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 % horizontal alignment that are given AFTER the \DisplayProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 % command will affect the next proof, no matter how distant.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 % Usages:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 % =======
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 % \Axiom$<antecedent>\fCenter<succedent>$
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 % \AxiomC{<whole sequent or formula}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 % Note that the use of surrounding {}'s is mandatory in \AxiomC and
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 % is prohibited in $\Axiom. On the other hand, the $'s are optional
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 % in \AxiomC and are mandatory in \Axiom. To typeset the argument
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 % to \AxiomC in math mode, you must use $'s (or \(...\) ).
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 % The same comments apply to the inference commands below.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 % \UnaryInf$<antecendent>\fCenter<succedent>$
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 % \UnaryInfC{<whole sequent or formula>}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 % \BinaryInf$<antecendent>\fCenter<succedent>$
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 % \BinaryInfC{<whole sequent or formula>}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 % \TrinaryInf$<antecendent>\fCenter<succedent>$
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 % \TrinaryInfC{<whole sequent or formula>}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 % \QuaternaryInf$<antecendent>\fCenter<succedent>$
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 % \QuaternaryInfC{<whole sequent or formula>}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 % \QuinaryInf$<antecendent>\fCenter<succedent>$
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 % \QuinaryInfC{<whole sequent or formula>}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 % \LeftLabel{<text>} - Puts <text> as a label to the left
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 % of the next inference line. (Works even if
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 % \noLine is used too.)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 % \RightLabel{<text>} - Puts <text> as a label to the right of the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 % next inference line. (Also works with \noLine.)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 % \DisplayProof - outputs the whole proof tree (and finishes it).
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 % The proof tree is output as an hbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 % \kernHyps{<dimen>} - Slides the upper hypotheses right distance <dimen>
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 % (This is similar to shifting conclusion left)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 % - kernHyps works with Unary, Binary and Trinary
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 % inferences and with centered or uncentered sequents.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 % - Negative values for <dimen> are permitted.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 % \insertBetweenHyps{...} - {...} will be inserted between the upper
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 % hypotheses of a Binary or Trinary Inferences.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 % It is possible to use negative horizontal space
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 % to push them closer together (and even overlap).
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 % This command affects only the next inference.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 % \doubleLine - Makes the current (ie, next) horizontal line doubled
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 % \alwaysDoubleLine - Makes lines doubled for rest of proof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 % \singleLine - Makes the current (ie, next) line single
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 % \alwaysSingleLine - Undoes \alwaysDoubleLine or \alwaysNoLine.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 % \noLine - Make no line at all at current (ie next) inference.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 % \alwaysNoLine - Makes no lines for rest of proof. (Untested)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 % \solidLine - Does solid horizontal line for current inference
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 % \dottedLine - Does dotted horizontal line for current inference
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 % \dashedLine - Does dashed horizontal line for current inference
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 % \alwaysSolidLine - Makes the indicated change in line type, permanently
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 % \alwaysDashedLine until end of proof or until overridden.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 % \alwaysDottedLine
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 % \bottomAlignProof - Vertically align proof according to its bottom line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 % \centerAlignProof - Vertically align proof proof precisely in its center.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 % \normalAlignProof - Overrides earlier bottom/center AlignProof commands.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 % The default alignment will look good in most cases,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 % whether the proof is displayed or is
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 % in-line. Other alignments may be more
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 % appropriate when putting proofs in tables or
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 % pictures, etc. For custom alignments, use
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 % TeX's raise commands.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 % \rootAtTop - specifies that proofs have their root a the top. That it,
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 % proofs will be "upside down".
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 % \rootAtBottom - (default) Specifies that proofs have root at the bottom
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 % The \rootAtTop and \rootAtBottom commands apply *only* to the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 % current proof. If you want to make them persistent, use one of
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 % the next two commands:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 % \alwaysRootAtTop
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 % \alwaysRootAtBottom (default)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 % Optional short abbreviations for commands:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 \def\EnableBpAbbreviations{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 \let\AX\Axiom
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 \let\AXC\AxiomC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 \let\UI\UnaryInf
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 \let\UIC\UnaryInfC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 \let\BI\BinaryInf
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 \let\BIC\BinaryInfC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 \let\TI\TrinaryInf
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 \let\TIC\TrinaryInfC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 \let\QI\QuaternaryInf
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 \let\QIC\QuaternaryInfC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 \let\QuI\QuinaryInf
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 \let\QuIC\QuinaryInfC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 \let\LL\LeftLabel
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 \let\RL\RightLabel
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 \let\DP\DisplayProof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 % Parameters which control the style of the proof trees.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 % The user may wish to override these parameters locally or globally.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 % BUT DON'T CHANGE THE PARAMETERS BY CHANGING THIS FILE (to avoid
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 % future incompatibilities). Instead, you should change them in your
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 % TeX document right after including this style file in the
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 % header material of your LaTeX document.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 \def\ScoreOverhang{4pt} % How much underlines extend out
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 \def\ScoreOverhangLeft{\ScoreOverhang}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 \def\ScoreOverhangRight{\ScoreOverhang}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 \def\extraVskip{2pt} % Extra space above and below lines
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 \def\ruleScoreFiller{\hrule} % Horizontal rule filler.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 \def\dottedScoreFiller{\hbox to4pt{\hss.\hss}}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 \def\dashedScoreFiller{\hbox to2.8mm{\hss\vrule width1.4mm height0.4pt depth0.0pt\hss}}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 \def\defaultScoreFiller{\ruleScoreFiller} % Default horizontal filler.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 \def\defaultBuildScore{\buildSingleScore} % In \singleLine mode at start.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 \def\defaultHypSeparation{\hskip.2in} % Used if \insertBetweenHyps isn't given
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 \def\labelSpacing{3pt} % Horizontal space separating labels and lines
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 \def\proofSkipAmount{\vskip.8ex plus.8ex minus.4ex}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 % Space above and below a prooftree display.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 \def\defaultRootPosition{\buildRootBottom} % Default: Proofs root at bottom
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 %\def\defaultRootPosition{\buildRootTop} % Makes all proofs upside down
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 \ifx\fCenter\undefined
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 \def\fCenter{\relax}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 \fi
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 % End of user-modifiable parameters.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 % Here are some internal paramenters and defaults. Not really intended
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 % to be user-modifiable.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 \def\theHypSeparation{\defaultHypSeparation}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 \def\alwaysScoreFiller{\defaultScoreFiller} % Horizontal filler.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 \def\alwaysBuildScore{\defaultBuildScore}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 \def\theScoreFiller{\alwaysScoreFiller} % Horizontal filler.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 \def\buildScore{\alwaysBuildScore} %This command builds the score.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 \def\hypKernAmt{0pt} % Initial setting for kerning the hypotheses.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 \def\defaultLeftLabel{}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 \def\defaultRightLabel{}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 \def\myTrue{Y}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 \def\bottomAlignFlag{N}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 \def\centerAlignFlag{N}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 \def\defaultRootAtBottomFlag{Y}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 \def\rootAtBottomFlag{Y}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 % End of internal parameters and defaults.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 \expandafter\ifx\csname newenvironment\endcsname\relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 % If in TeX:
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 \message{\BPmessage}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 \def\makeatletter{\catcode`\@=11\relax}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 \def\makeatother{\catcode`\@=12\relax}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 \makeatletter
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 \def\newcount{\alloc@0\count\countdef\insc@unt}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 \def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 \def\newskip{\alloc@2\skip\skipdef\insc@unt}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 \def\newbox{\alloc@4\box\chardef\insc@unt}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 \makeatother
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 \else
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 % If in LaTeX
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 \typeout{\BPmessage}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 \newenvironment{prooftree}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 {\begin{center}\proofSkipAmount \leavevmode}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 {\DisplayProof \proofSkipAmount \end{center} }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 \fi
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 \def\thecur#1{\csname#1\number\theLevel\endcsname}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 \newcount\theLevel % This counter is the height of the stack.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 \global\theLevel=0 % Initialized to zero
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 \newcount\myMaxLevel
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 \global\myMaxLevel=0
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 \newbox\myBoxA % Temporary storage boxes
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 \newbox\myBoxB
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 \newbox\myBoxC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390 \newbox\myBoxD
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 \newbox\myBoxLL % Boxes for the left label and the right label.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 \newbox\myBoxRL
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 \newdimen\thisAboveSkip %Internal use: amount to skip above line
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394 \newdimen\thisBelowSkip %Internal use: amount to skip below line
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395 \newdimen\newScoreStart % More temporary storage.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 \newdimen\newScoreEnd
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 \newdimen\newCenter
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 \newdimen\displace
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 \newdimen\leftLowerAmt% Amount to lower left label
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 \newdimen\rightLowerAmt% Amount to lower right label
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401 \newdimen\scoreHeight% Score height
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 \newdimen\scoreDepth% Score Depth
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 \newdimen\htLbox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 \newdimen\htRbox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 \newdimen\htRRbox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 \newdimen\htRRRbox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 \newdimen\htAbox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 \newdimen\htCbox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410 \setbox\myBoxLL=\hbox{\defaultLeftLabel}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 \setbox\myBoxRL=\hbox{\defaultRightLabel}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 \def\allocatemore{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 \ifnum\theLevel>\myMaxLevel%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 \expandafter\newbox\curBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 \expandafter\newdimen\curScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 \expandafter\newdimen\curCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 \expandafter\newdimen\curScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 \global\advance\myMaxLevel by1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 \def\prepAxiom{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 \advance\theLevel by1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 \edef\curBox{\thecur{myBox}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 \edef\curScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427 \edef\curCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 \edef\curScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 \allocatemore%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 \def\Axiom$#1\fCenter#2${%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 % Get level and correct names set.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 \prepAxiom%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 % Define the boxes
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 \setbox\myBoxA=\hbox{$\mathord{#1}\fCenter\mathord{\relax}$}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437 \setbox\myBoxB=\hbox{$#2$}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438 \global\setbox\curBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 \hbox{\hskip\ScoreOverhangLeft\relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 \unhcopy\myBoxA\unhcopy\myBoxB\hskip\ScoreOverhangRight\relax}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 % Set the relevant dimensions for the boxes
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 \global\curScoreStart=0pt \relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
443 \global\curScoreEnd=\wd\curBox \relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 \global\curCenter=\wd\myBoxA \relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 \global\advance \curCenter by \ScoreOverhangLeft%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 \def\AxiomC#1{ % Note argument not in math mode
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 % Get level and correct names set.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 \prepAxiom%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452 % Define the box.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 \setbox\myBoxA=\hbox{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 \global\setbox\curBox =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
455 \hbox{\hskip\ScoreOverhangLeft\relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
456 \unhcopy\myBoxA\hskip\ScoreOverhangRight\relax}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 % Set the relevant dimensions for the boxes
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
458 \global\curScoreStart=0pt \relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
459 \global\curScoreEnd=\wd\curBox \relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
460 \global\curCenter=.5\wd\curBox \relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 \global\advance \curCenter by \ScoreOverhangLeft%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
462 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
463 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
464
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465 \def\prepUnary{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 \ifnum \theLevel<1
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
467 \errmessage{Hypotheses missing!}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
468 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
469 \edef\curBox{\thecur{myBox}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
470 \edef\curScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
471 \edef\curCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 \edef\curScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
473 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
475 \def\UnaryInf$#1\fCenter#2${%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
476 \prepUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
477 \buildConclusion{#1}{#2}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478 \joinUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
479 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
480 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
481 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
482
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
483 \def\UnaryInfC#1{
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
484 \prepUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
485 \buildConclusionC{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
486 %Align and join the curBox and the new box into one vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
487 \joinUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
488 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
489 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
490 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
491
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
492 \def\prepBinary{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
493 \ifnum\theLevel<2
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
494 \errmessage{Hypotheses missing!}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
495 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
496 \edef\rcurBox{\thecur{myBox}}% Set up names of right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
497 \edef\rcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
498 \edef\rcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
499 \edef\rcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
500 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
501 \edef\lcurBox{\thecur{myBox}}% Set up names of left hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
502 \edef\lcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
503 \edef\lcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 \edef\lcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
506
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
507 \def\BinaryInf$#1\fCenter#2${%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
508 \prepBinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
509 \buildConclusion{#1}{#2}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
510 \joinBinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
511 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
512 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
513 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
514
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
515 \def\BinaryInfC#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
516 \prepBinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
517 \buildConclusionC{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
518 \joinBinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
519 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
521 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
522
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
523 \def\prepTrinary{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
524 \ifnum\theLevel<3
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 \errmessage{Hypotheses missing!}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
526 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
527 \edef\rcurBox{\thecur{myBox}}% Set up names of right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
528 \edef\rcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
529 \edef\rcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
530 \edef\rcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
531 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
532 \edef\ccurBox{\thecur{myBox}}% Set up names of center hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
533 \edef\ccurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
534 \edef\ccurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
535 \edef\ccurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
536 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
537 \edef\lcurBox{\thecur{myBox}}% Set up names of left hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
538 \edef\lcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
539 \edef\lcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
540 \edef\lcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
541 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
542
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
543 \def\TrinaryInf$#1\fCenter#2${%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
544 \prepTrinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
545 \buildConclusion{#1}{#2}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
546 \joinTrinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
547 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
548 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
549 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
550
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
551 \def\TrinaryInfC#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
552 \prepTrinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
553 \buildConclusionC{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
554 \joinTrinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
555 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
556 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
557 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
558
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
559 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
560 \def\prepQuaternary{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
561 \ifnum\theLevel<4
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
562 \errmessage{Hypotheses missing!}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
563 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
564 \edef\rrcurBox{\thecur{myBox}}% Set up names of very right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
565 \edef\rrcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
566 \edef\rrcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
567 \edef\rrcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
568 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
569 \edef\rcurBox{\thecur{myBox}}% Set up names of right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
570 \edef\rcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
571 \edef\rcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
572 \edef\rcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
573 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
574 \edef\ccurBox{\thecur{myBox}}% Set up names of center hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 \edef\ccurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
576 \edef\ccurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
577 \edef\ccurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
578 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
579 \edef\lcurBox{\thecur{myBox}}% Set up names of left hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
580 \edef\lcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
581 \edef\lcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
582 \edef\lcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
583 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
584
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
585 \def\QuaternaryInf$#1\fCenter#2${%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
586 \prepQuaternary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
587 \buildConclusion{#1}{#2}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
588 \joinQuaternary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
589 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
590 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
591 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
592
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
593 \def\QuaternaryInfC#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
594 \prepQuaternary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
595 \buildConclusionC{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
596 \joinQuaternary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
597 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
598 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
599 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
600
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
601 \def\joinQuaternary{% Construct the quarterary inference into a vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
602 % Join the four hypotheses's boxes into one hbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
603 \setbox\myBoxA=\hbox{\theHypSeparation}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
604 \lcurScoreEnd=\rrcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
605 \advance\lcurScoreEnd by\wd\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
606 \advance\lcurScoreEnd by\wd\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 \advance\lcurScoreEnd by\wd\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
608 \advance\lcurScoreEnd by3\wd\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 \displace=\lcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
610 \advance\displace by -\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
611 \lcurCenter=.5\displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
612 \advance\lcurCenter by\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
613 \ifx\rootAtBottomFlag\myTrue%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
614 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
615 \hbox{\box\lcurBox\unhcopy\myBoxA\box\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
616 \unhcopy\myBoxA\box\rcurBox
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
617 \unhcopy\myBoxA\box\rrcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
618 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
619 \htLbox = \ht\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
620 \htAbox = \ht\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 \htCbox = \ht\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
622 \htRbox = \ht\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 \htRRbox = \ht\rrcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
624 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
625 \hbox{\lower\htLbox\box\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
626 \lower\htAbox\copy\myBoxA\lower\htCbox\box\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
627 \lower\htAbox\copy\myBoxA\lower\htRbox\box\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
628 \lower\htAbox\copy\myBoxA\lower\htRRbox\box\rrcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
629 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
630 % Adjust center of upper hypotheses according to how much
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
631 % the lower sequent is off-center.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
632 \displace=\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
633 \advance\displace by -.5\newScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
634 \advance\displace by -.5\newScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
635 \advance\lcurCenter by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
636 %Align and join the curBox and the two hypotheses's box into one vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
637 \edef\curBox{\lcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
638 \edef\curScoreStart{\lcurScoreStart}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
639 \edef\curScoreEnd{\lcurScoreEnd}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
640 \edef\curCenter{\lcurCenter}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
641 \joinUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
642 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
643
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
644 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
645 \def\prepQuinary{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
646 \ifnum\theLevel<5
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
647 \errmessage{Hypotheses missing!}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
648 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
649 \edef\rrrcurBox{\thecur{myBox}}% Set up names of very very right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
650 \edef\rrrcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
651 \edef\rrrcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
652 \edef\rrrcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
653 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
654 \edef\rrcurBox{\thecur{myBox}}% Set up names of very right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
655 \edef\rrcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
656 \edef\rrcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
657 \edef\rrcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
658 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
659 \edef\rcurBox{\thecur{myBox}}% Set up names of right hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
660 \edef\rcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
661 \edef\rcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
662 \edef\rcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
663 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
664 \edef\ccurBox{\thecur{myBox}}% Set up names of center hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
665 \edef\ccurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
666 \edef\ccurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
667 \edef\ccurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
668 \advance\theLevel by-1%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
669 \edef\lcurBox{\thecur{myBox}}% Set up names of left hypothesis
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
670 \edef\lcurScoreStart{\thecur{myScoreStart}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
671 \edef\lcurCenter{\thecur{myCenter}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
672 \edef\lcurScoreEnd{\thecur{myScoreEnd}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
673 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
674
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
675 \def\QuinaryInf$#1\fCenter#2${%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
676 \prepQuinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
677 \buildConclusion{#1}{#2}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
678 \joinQuinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
679 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
680 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
681 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
682
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
683 \def\QuinaryInfC#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
684 \prepQuinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
685 \buildConclusionC{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
686 \joinQuinary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
687 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
688 \ignorespaces%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
689 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
690
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
691 \def\joinQuinary{% Construct the quinary inference into a vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
692 % Join the five hypotheses's boxes into one hbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
693 \setbox\myBoxA=\hbox{\theHypSeparation}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
694 \lcurScoreEnd=\rrrcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
695 \advance\lcurScoreEnd by\wd\rrcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
696 \advance\lcurScoreEnd by\wd\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
697 \advance\lcurScoreEnd by\wd\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
698 \advance\lcurScoreEnd by\wd\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
699 \advance\lcurScoreEnd by4\wd\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
700 \displace=\lcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
701 \advance\displace by -\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
702 \lcurCenter=.5\displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
703 \advance\lcurCenter by\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
704 \ifx\rootAtBottomFlag\myTrue%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
705 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
706 \hbox{\box\lcurBox\unhcopy\myBoxA\box\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
707 \unhcopy\myBoxA\box\rcurBox
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
708 \unhcopy\myBoxA\box\rrcurBox
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
709 \unhcopy\myBoxA\box\rrrcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
710 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
711 \htLbox = \ht\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
712 \htAbox = \ht\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
713 \htCbox = \ht\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
714 \htRbox = \ht\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
715 \htRRbox = \ht\rrcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
716 \htRRRbox = \ht\rrrcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
717 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
718 \hbox{\lower\htLbox\box\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
719 \lower\htAbox\copy\myBoxA\lower\htCbox\box\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
720 \lower\htAbox\copy\myBoxA\lower\htRbox\box\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
721 \lower\htAbox\copy\myBoxA\lower\htRRbox\box\rrcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
722 \lower\htAbox\copy\myBoxA\lower\htRRRbox\box\rrrcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
723 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
724 % Adjust center of upper hypotheses according to how much
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
725 % the lower sequent is off-center.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
726 \displace=\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
727 \advance\displace by -.5\newScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
728 \advance\displace by -.5\newScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
729 \advance\lcurCenter by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
730 %Align and join the curBox and the two hypotheses's box into one vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
731 \edef\curBox{\lcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
732 \edef\curScoreStart{\lcurScoreStart}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
733 \edef\curScoreEnd{\lcurScoreEnd}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
734 \edef\curCenter{\lcurCenter}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
735 \joinUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
736 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
737
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
738 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
739
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
740 \def\buildConclusion#1#2{% Build lower sequent w/ center at \fCenter position.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
741 % Define the boxes
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
742 \setbox\myBoxA=\hbox{$\mathord{#1}\fCenter\mathord{\relax}$}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
743 \setbox\myBoxB=\hbox{$#2$}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
744 % Put them together in \myBoxC
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
745 \setbox\myBoxC =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
746 \hbox{\hskip\ScoreOverhangLeft\relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
747 \unhcopy\myBoxA\unhcopy\myBoxB\hskip\ScoreOverhangRight\relax}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
748 % Calculate the center of the \myBoxC string.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
749 \newScoreStart=0pt \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
750 \newCenter=\wd\myBoxA \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
751 \advance \newCenter by \ScoreOverhangLeft%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
752 \newScoreEnd=\wd\myBoxC%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
753 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
754
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
755 \def\buildConclusionC#1{% Build lower sequent w/o \fCenter present.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
756 % Define the box.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
757 \setbox\myBoxA=\hbox{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
758 \setbox\myBoxC =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
759 \hbox{\hbox{\hskip\ScoreOverhangLeft\relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
760 \unhcopy\myBoxA\hskip\ScoreOverhangRight\relax}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
761 % Calculate kerning to line up centers
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
762 \newScoreStart=0pt \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
763 \newCenter=.5\wd\myBoxC \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
764 \newScoreEnd=\wd\myBoxC%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
765 \advance \newCenter by \ScoreOverhangLeft%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
766 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
767
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
768 \def\joinUnary{%Align and join \curBox and \myBoxC into a single vbox
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
769 \global\advance\curCenter by -\hypKernAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
770 \ifnum\curCenter<\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
771 \displace=\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
772 \advance \displace by -\curCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
773 \kernUpperBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
774 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
775 \displace=\curCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
776 \advance \displace by -\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
777 \kernLowerBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
778 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
779 \ifnum \newScoreStart < \curScoreStart %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
780 \global \curScoreStart = \newScoreStart \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
781 \ifnum \curScoreEnd < \newScoreEnd %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
782 \global \curScoreEnd = \newScoreEnd \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
783 % Leave room for the left label.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
784 \ifnum \curScoreStart<\wd\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
785 \global\displace = \wd\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
786 \global\advance\displace by -\curScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
787 \kernUpperBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
788 \kernLowerBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
789 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
790 % Draw the score
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
791 \buildScore%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
792 % Form the score and labels into a box.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
793 \buildScoreLabels%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
794 % Form the new box and its dimensions
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
795 \ifx\rootAtBottomFlag\myTrue%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
796 \buildRootBottom%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
797 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
798 \buildRootTop%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
799 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
800 \global \curScoreStart=\newScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
801 \global \curScoreEnd=\newScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
802 \global \curCenter=\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
803 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
804
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
805 \def\buildRootBottom{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
806 \global \setbox \curBox =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
807 \vbox{\box\curBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
808 \vskip\thisAboveSkip \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
809 \nointerlineskip\box\myBoxD%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
810 \vskip\thisBelowSkip \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
811 \nointerlineskip\box\myBoxC}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
812 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
813
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
814 \def\buildRootTop{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
815 \global \setbox \curBox =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
816 \vbox{\box\myBoxC%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
817 \vskip\thisAboveSkip \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
818 \nointerlineskip\box\myBoxD%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
819 \vskip\thisBelowSkip \relax%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
820 \nointerlineskip\box\curBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
821 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
822
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
823 \def\kernUpperBox{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
824 \global\setbox\curBox =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
825 \hbox{\hskip\displace\box\curBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
826 \global\advance \curScoreStart by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
827 \global\advance \curScoreEnd by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
828 \global\advance\curCenter by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
829 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
830
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
831 \def\kernLowerBox{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
832 \global\setbox\myBoxC =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
833 \hbox{\hskip\displace\unhbox\myBoxC}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
834 \global\advance \newScoreStart by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
835 \global\advance \newScoreEnd by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
836 \global\advance\newCenter by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
837 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
838
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
839 \def\joinBinary{% Construct the binary inference into a vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
840 % Join the two hypotheses's boxes into one hbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
841 \setbox\myBoxA=\hbox{\theHypSeparation}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
842 \lcurScoreEnd=\rcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
843 \advance\lcurScoreEnd by\wd\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
844 \advance\lcurScoreEnd by\wd\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
845 \displace=\lcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
846 \advance\displace by -\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
847 \lcurCenter=.5\displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
848 \advance\lcurCenter by\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
849 \ifx\rootAtBottomFlag\myTrue%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
850 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
851 \hbox{\box\lcurBox\unhcopy\myBoxA\box\rcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
852 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
853 \htLbox = \ht\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
854 \htAbox = \ht\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
855 \htRbox = \ht\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
856 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
857 \hbox{\lower\htLbox\box\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
858 \lower\htAbox\box\myBoxA\lower\htRbox\box\rcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
859 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
860 % Adjust center of upper hypotheses according to how much
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
861 % the lower sequent is off-center.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
862 \displace=\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
863 \advance\displace by -.5\newScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
864 \advance\displace by -.5\newScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
865 \advance\lcurCenter by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
866 %Align and join the curBox and the two hypotheses's box into one vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
867 \edef\curBox{\lcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
868 \edef\curScoreStart{\lcurScoreStart}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
869 \edef\curScoreEnd{\lcurScoreEnd}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
870 \edef\curCenter{\lcurCenter}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
871 \joinUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
872 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
873
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
874 \def\joinTrinary{% Construct the trinary inference into a vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
875 % Join the three hypotheses's boxes into one hbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
876 \setbox\myBoxA=\hbox{\theHypSeparation}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
877 \lcurScoreEnd=\rcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
878 \advance\lcurScoreEnd by\wd\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
879 \advance\lcurScoreEnd by\wd\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
880 \advance\lcurScoreEnd by2\wd\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
881 \displace=\lcurScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
882 \advance\displace by -\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
883 \lcurCenter=.5\displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
884 \advance\lcurCenter by\lcurScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
885 \ifx\rootAtBottomFlag\myTrue%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
886 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
887 \hbox{\box\lcurBox\unhcopy\myBoxA\box\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
888 \unhcopy\myBoxA\box\rcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
889 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
890 \htLbox = \ht\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
891 \htAbox = \ht\myBoxA%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
892 \htCbox = \ht\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
893 \htRbox = \ht\rcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
894 \setbox\lcurBox=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
895 \hbox{\lower\htLbox\box\lcurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
896 \lower\htAbox\copy\myBoxA\lower\htCbox\box\ccurBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
897 \lower\htAbox\copy\myBoxA\lower\htRbox\box\rcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
898 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
899 % Adjust center of upper hypotheses according to how much
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
900 % the lower sequent is off-center.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
901 \displace=\newCenter%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
902 \advance\displace by -.5\newScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
903 \advance\displace by -.5\newScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
904 \advance\lcurCenter by \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
905 %Align and join the curBox and the two hypotheses's box into one vbox.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
906 \edef\curBox{\lcurBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
907 \edef\curScoreStart{\lcurScoreStart}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
908 \edef\curScoreEnd{\lcurScoreEnd}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
909 \edef\curCenter{\lcurCenter}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
910 \joinUnary%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
911 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
912
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
913 \def\DisplayProof{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
914 % Display (and purge) the proof tree.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
915 % Choose the appropriate vertical alignment.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
916 \ifnum \theLevel=1 \relax \else%x
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
917 \errmessage{Proof tree badly specified.}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
918 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
919 \edef\curBox{\thecur{myBox}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
920 \ifx\bottomAlignFlag\myTrue%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
921 \displace=0pt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
922 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
923 \displace=.5\ht\curBox%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
924 \ifx\centerAlignFlag\myTrue\relax
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
925 \else%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
926 \advance\displace by -3pt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
927 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
928 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
929 \leavevmode%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
930 \lower\displace\hbox{\copy\curBox}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
931 \global\theLevel=0%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
932 \global\def\alwaysBuildScore{\defaultBuildScore}% Restore "always"
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
933 \global\def\alwaysScoreFiller{\defaultScoreFiller}% Restore "always"
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
934 \global\def\bottomAlignFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
935 \global\def\centerAlignFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
936 \resetRootPosition
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
937 \resetInferenceDefaults%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
938 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
939 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
940
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
941 \def\buildSingleScore{% Make an hbox with a single score.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
942 \displace=\curScoreEnd%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
943 \advance \displace by -\curScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
944 \global\setbox \myBoxD =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
945 \hbox to \displace{\expandafter\xleaders\theScoreFiller\hfill}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
946 %\global\setbox \myBoxD =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
947 %\hbox{\hskip\curScoreStart\relax \box\myBoxD}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
948 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
949
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
950 \def\buildDoubleScore{% Make an hbox with a double score.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
951 \buildSingleScore%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
952 \global\setbox\myBoxD=%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
953 \hbox{\hbox to0pt{\copy\myBoxD\hss}\raise2pt\copy\myBoxD}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
954 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
955
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
956 \def\buildNoScore{% Make an hbox with no score (raise a little anyway)
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
957 \global\setbox\myBoxD=\hbox{\vbox{\vskip1pt}}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
958 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
959
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
960 \def\doubleLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
961 \gdef\buildScore{\buildDoubleScore}% Set next score to this type
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
962 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
963 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
964 \def\alwaysDoubleLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
965 \gdef\alwaysBuildScore{\buildDoubleScore}% Do double for rest of proof.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
966 \gdef\buildScore{\buildDoubleScore}% Set next score to be double
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
967 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
968 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
969 \def\singleLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
970 \gdef\buildScore{\buildSingleScore}% Set next score to be single
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
971 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
972 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
973 \def\alwaysSingleLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
974 \gdef\alwaysBuildScore{\buildSingleScore}% Do single for rest of proof.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
975 \gdef\buildScore{\buildSingleScore}% Set next score to be single
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
976 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
977 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
978 \def\noLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
979 \gdef\buildScore{\buildNoScore}% Set next score to this type
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
980 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
981 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
982 \def\alwaysNoLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
983 \gdef\alwaysBuildScore{\buildNoScore}%Do nolines for rest of proof.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
984 \gdef\buildScore{\buildNoScore}% Set next score to be blank
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
985 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
986 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
987 \def\solidLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
988 \gdef\theScoreFiller{\ruleScoreFiller}% Use solid horizontal line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
989 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
990 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
991 \def\alwaysSolidLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
992 \gdef\alwaysScoreFiller{\ruleScoreFiller}% Do solid for rest of proof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
993 \gdef\theScoreFiller{\ruleScoreFiller}% Use solid horizontal line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
994 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
995 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
996 \def\dottedLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
997 \gdef\theScoreFiller{\dottedScoreFiller}% Use dotted horizontal line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
998 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
999 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1000 \def\alwaysDottedLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1001 \gdef\alwaysScoreFiller{\dottedScoreFiller}% Do dotted for rest of proof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1002 \gdef\theScoreFiller{\dottedScoreFiller}% Use dotted horizontal line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1003 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1004 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1005 \def\dashedLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1006 \gdef\theScoreFiller{\dashedScoreFiller}% Use dashed horizontal line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1007 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1008 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1009 \def\alwaysDashedLine{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1010 \gdef\alwaysScoreFiller{\dashedScoreFiller}% Do dashed for rest of proof
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1011 \gdef\theScoreFiller{\dashedScoreFiller}% Use dashed horizontal line.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1012 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1013 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1014 \def\kernHyps#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1015 \gdef\hypKernAmt{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1016 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1017 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1018 \def\insertBetweenHyps#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1019 \gdef\theHypSeparation{#1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1020 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1021 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1022
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1023 \def\centerAlignProof{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1024 \def\centerAlignFlag{Y}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1025 \def\bottomAlignFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1026 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1027 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1028 \def\bottomAlignProof{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1029 \def\centerAlignFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1030 \def\bottomAlignFlag{Y}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1031 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1032 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1033 \def\normalAlignProof{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1034 \def\centerAlignFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1035 \def\bottomAlignFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1036 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1037 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1038
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1039 \def\LeftLabel#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1040 \global\setbox\myBoxLL=\hbox{{#1}\hskip\labelSpacing}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1041 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1042 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1043 \def\RightLabel#1{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1044 \global\setbox\myBoxRL=\hbox{\hskip\labelSpacing #1}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1045 \ignorespaces
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1046 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1047
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1048 \def\buildScoreLabels{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1049 \scoreHeight = \ht\myBoxD%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1050 \scoreDepth = \dp\myBoxD%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1051 \leftLowerAmt=\ht\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1052 \advance \leftLowerAmt by -\dp\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1053 \advance \leftLowerAmt by -\scoreHeight%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1054 \advance \leftLowerAmt by \scoreDepth%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1055 \leftLowerAmt=.5\leftLowerAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1056 \rightLowerAmt=\ht\myBoxRL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1057 \advance \rightLowerAmt by -\dp\myBoxRL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1058 \advance \rightLowerAmt by -\scoreHeight%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1059 \advance \rightLowerAmt by \scoreDepth%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1060 \rightLowerAmt=.5\rightLowerAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1061 \displace = \curScoreStart%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1062 \advance\displace by -\wd\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1063 \global\setbox\myBoxD =%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1064 \hbox{\hskip\displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1065 \lower\leftLowerAmt\copy\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1066 \box\myBoxD%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1067 \lower\rightLowerAmt\copy\myBoxRL}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1068 \global\thisAboveSkip = \ht\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1069 \global\advance \thisAboveSkip by -\leftLowerAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1070 \global\advance \thisAboveSkip by -\scoreHeight%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1071 \ifnum \thisAboveSkip<0 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1072 \global\thisAboveSkip=0pt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1073 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1074 \displace = \ht\myBoxRL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1075 \advance \displace by -\rightLowerAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1076 \advance \displace by -\scoreHeight%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1077 \ifnum \displace<0 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1078 \displace=0pt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1079 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1080 \ifnum \displace>\thisAboveSkip %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1081 \global\thisAboveSkip=\displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1082 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1083 \global\thisBelowSkip = \dp\myBoxLL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1084 \global\advance\thisBelowSkip by \leftLowerAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1085 \global\advance\thisBelowSkip by -\scoreDepth%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1086 \ifnum\thisBelowSkip<0 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1087 \global\thisBelowSkip = 0pt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1088 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1089 \displace = \dp\myBoxRL%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1090 \advance\displace by \rightLowerAmt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1091 \advance\displace by -\scoreDepth%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1092 \ifnum\displace<0 %
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1093 \displace = 0pt%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1094 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1095 \ifnum\displace>\thisBelowSkip%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1096 \global\thisBelowSkip = \displace%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1097 \fi%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1098 \global\thisAboveSkip = -\thisAboveSkip%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1099 \global\thisBelowSkip = -\thisBelowSkip%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1100 \global\advance\thisAboveSkip by\extraVskip% Extra space above line
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1101 \global\advance\thisBelowSkip by\extraVskip% Extra space below line
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1102 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1103
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1104 \def\resetInferenceDefaults{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1105 \global\def\theHypSeparation{\defaultHypSeparation}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1106 \global\setbox\myBoxLL=\hbox{\defaultLeftLabel}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1107 \global\setbox\myBoxRL=\hbox{\defaultRightLabel}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1108 \global\def\buildScore{\alwaysBuildScore}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1109 \global\def\theScoreFiller{\alwaysScoreFiller}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1110 \gdef\hypKernAmt{0pt}% Restore to zero kerning.
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1111 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1112
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1113
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1114 \def\rootAtBottom{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1115 \global\def\rootAtBottomFlag{Y}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1116 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1117
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1118 \def\rootAtTop{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1119 \global\def\rootAtBottomFlag{N}%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1120 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1121
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1122 \def\resetRootPosition{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1123 \global\edef\rootAtBottomFlag{\defaultRootAtBottomFlag}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1124 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1125
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1126 \def\alwaysRootAtBottom{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1127 \global\def\defaultRootAtBottomFlag{Y}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1128 \rootAtBottom
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1129 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1130
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1131 \def\alwaysRootAtTop{%
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1132 \global\def\defaultRootAtBottomFlag{N}
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1133 \rootAtTop
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1134 }
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1135
9800586284e1 Writing expression ...
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1136