next up previous contents
Next: Proof semantics Up: Natural Deduction Language Previous: Formulas   Contents


Proof syntax

The following grammar describes the syntax of NDL proofs:

\begin{eqnarray*}
D & ::= & \mbox{\em RuleApp} \; \vert \; \; \mbox{\tt assume ...
...\mbox{\tt ,} ...\mbox{\tt ,} s_n \;\mbox{\tt\mbox{\tt =}}\; t_n
\end{eqnarray*}



where the syntax of inference rule applications is as follows:

\begin{eqnarray*}
\mbox{\em RuleApp\/} & ::= & \mbox{\tt modus-ponens } F \; \m...
...\tt =}}\; t_2\mbox{\tt ,} t_2\;\mbox{\tt\mbox{\tt =}}\; t_3 \\
\end{eqnarray*}



Proofs of the form \bgroup\color{red}$D_1$\egroup; \bgroup\color{red}$D_2$\egroup are called composite. Proofs of the form

\begin{displaymath}\bgroup\color{red}\mbox{\tt assume $F$ $D$}\egroup\end{displaymath}

are called conditional (or hypothetical) proofs. The formula \bgroup\color{red}$F$\egroup is called the hypothesis and the subproof \bgroup\color{red}$D$\egroup is called the body of the conditional proof. We say that the body \bgroup\color{red}$D$\egroup represents the scope of the hypothesis \bgroup\color{red}$F$\egroup. Proofs of the form suppose-absurd \bgroup\color{red}$F$\egroup \bgroup\color{red}$D$\egroup are called proofs by contradiction. As with conditional proofs, \bgroup\color{red}$F$\egroup is called the hypothesis and \bgroup\color{red}$D$\egroup--the scope of \bgroup\color{red}$F$\egroup--is called the body. Proofs of the form

\begin{displaymath}\bgroup\color{red} \mbox{\tt pick-any } x \;\: D\egroup\end{displaymath}

are called universal generalizations. We refer to the variable \bgroup\color{red}$x$\egroup as an eigenvariable. Proofs of the form

\begin{displaymath}\bgroup\color{red}\mbox{\tt pick-witness } w \;\; \mbox{\tt f...
...\;\, \mbox{\tt (exists } x \;\: F\mbox{\tt )} \;\: D \\ \egroup\end{displaymath}

are called existential specializations. We refer to the variable \bgroup\color{red}$w$\egroup as the witness variable; we also say that \bgroup\color{red}$w$\egroup is an eigenvariable. Proofs of the form

\begin{displaymath}\bgroup\color{red}\mbox{\tt specialize (forall $x$ $F$) with $t$}\egroup\end{displaymath}

are called universal specializations, while proofs of the form

\begin{displaymath}\bgroup\color{red} \mbox{\tt ex-generalize (exists $x$ $F$) from $t$}\egroup\end{displaymath}

are called existential generalizations. Proofs of the form \bgroup\color{red}$F \mbox{\tt BY } D$\egroup are called conclusion-annotated proofs. assume, suppose-absurd, pick-any, pick-witness, and BY all bind tighter than the composition operator ;. For example,

\begin{displaymath}\bgroup\color{red}\mbox{\tt assume A claim A; claim true}\egroup\end{displaymath}

is parsed as the composition of assume A claim A and claim true, not as the hypothetical proof with A as the hypothesis and the composition claim A; claim true as the body. The composition operator ; associates to the right, meaning that

\begin{displaymath}\bgroup\color{red}D_1\mbox{\tt ;} D_2 \mbox{\tt ;} D_3\egroup\end{displaymath}

is parsed as
\begin{displaymath}
D_1\mbox{\tt ;}(D_2 \mbox{\tt ;} D_3)
\end{displaymath} (+1.1)

and not as
\begin{displaymath}
(D_1\mbox{\tt ;}D_2 )\mbox{\tt ;} D_3
\end{displaymath} (+1.2)

This is an important convention, because proof composition in NDL is not associative--proofs (1.1) and (1.2) do not have the same semantics. This will become more clear in the sequel. These conventions can be overriden by using begin-end pairs. Finally, we note that pick-any and pick-witness are variable-binding constructs; they introduce variable scope. In particular, in a deduction of the form

\begin{displaymath}\bgroup\color{red} \mbox{\tt pick-any } x \;\: D\egroup\end{displaymath}

we say that the scope of the eigenvariable \bgroup\color{red}$x$\egroup is the deduction \bgroup\color{red}$D$\egroup. And in a deduction of the form

\begin{displaymath}\bgroup\color{red}\mbox{\tt pick-witness } w \;\; \mbox{\tt f...
...\;\, \mbox{\tt (exists } x \;\: F\mbox{\tt )} \;\: D \\ \egroup\end{displaymath}

we say that the scope of the witness variable \bgroup\color{red}$w$\egroup is \bgroup\color{red}$D$\egroup. Two deductions that only differ in the names of their bound eigenvariables are condidered identical. For instance, the two deductions
pick-any x
 pick-any y
   assume x = y
     swap x = y
and
pick-any foo1
 pick-any foo2
   assume foo1 = foo2
     swap foo1 = foo2
are considered identical. We can define a notion of substitution (free variable occurrence replacement) for deductions much as we do for formulas. Specifically, for any deduction \bgroup\color{red}$D$\egroup, variable \bgroup\color{red}$x$\egroup and term \bgroup\color{red}$t$\egroup, we define \bgroup\color{red}$\{x \mapsto t\}D$\egroup as the deduction obtained from \bgroup\color{red}$D$\egroup by replacing every free occurrence of \bgroup\color{red}$x$\egroup inside \bgroup\color{red}$D$\egroup by \bgroup\color{red}$t$\egroup, possibly renaming bound eigenvariables to avoid variable capture.
next up previous contents
Next: Proof semantics Up: Natural Deduction Language Previous: Formulas   Contents
2004-08-06