next up previous contents
Next: Rules dealing with equality Up: Proof semantics Previous: The assumption base   Contents


Rule applications

Perhaps the simplest inference rule of NDL is claim, a unary ``reiteration'' rule which takes one formula \bgroup\color{red}$F$\egroup as its sole argument. If the argument \bgroup\color{red}$F$\egroup is in the current assumption base, then claim simply returns \bgroup\color{red}$F$\egroup (i.e., it reiterates \bgroup\color{red}$F$\egroup). Otherwise, if \bgroup\color{red}$F$\egroup is not in the assumption base, then claim reports an error. Suppose, for example, that the current assumption base contains the formula male(joe) but does not contain the formula female(ann). Then the deduction claim male(joe) will succeed, eliciting the reply

\begin{displaymath}\bgroup\color{red}\mbox{\tt Theorem:}\;\mbox{\tt male(joe)}\egroup\end{displaymath}

By contrast, the deduction \bgroup\color{red}$ \mbox{\tt claim female(ann)}$\egroup will fail, generating an error message of the form:
Evaluation error at line 3, position 27: 
the claim female(ann) is not in the assumption base.
So the first claim succeeds, but the second fails. Note that NDL reports the precise position of the failed claim (say, line 3, column 27 for this hypothetical example). Also note that NDL pronounces the successful claim a theorem. In fact every time a proof is successfully evaluated at the top level, NDL reports the resulting formula as a theorem. There is a reason for this: It can be proved rigorously that if any NDL proof successfully produces a formula \bgroup\color{red}$F$\egroup in the context of an assumption base \bgroup\color{red}$\beta$\egroup, then \bgroup\color{red}$F$\egroup is a logical consequence of \bgroup\color{red}$\beta$\egroup. This is the main soundness guarantee provided by NDL, and it is the sense in which the result of a proof is understood to be a theorem. One question about claim that comes up sometimes is this: If a formula \bgroup\color{red}$F$\egroup is in the assumption base and we try to claim \bgroup\color{red}$F'$\egroup, where \bgroup\color{red}$F'$\egroup is a variant of \bgroup\color{red}$F$\egroup that is logically equivalent to \bgroup\color{red}$F$\egroup but is not itself in the assumption base, will the claim succeed? The answer is no. An application claim \bgroup\color{red}$F$\egroup will succeed if and only if \bgroup\color{red}$F$\egroup itself, as a syntactic object, is in the assumption base. For instance, suppose that \bgroup\color{red}$F$\egroup is the formula male(joe) and \bgroup\color{red}$F'$\egroup is \bgroup\color{red}$\mbox{\tt true}\; \mbox{\tt\symbol{38}}\; \mbox{\tt male(joe)}$\egroup where \bgroup\color{red}$F$\egroup is in the assumption base but \bgroup\color{red}$F'$\egroup is not. Then claim \bgroup\color{red}$F$\egroup will succeed, but claim \bgroup\color{red}$F'$\egroup will fail, even though \bgroup\color{red}$F'$\egroup is logically equivalent to \bgroup\color{red}$F$\egroup. There is a reason for this too: The problem of deciding whether two formulas are logically equivalent is very difficult. If fact it is undecidable, meaning that there is no algorithm that could solve every instance the problem. However, claim, like all other NDL rules, determines formula identity up to alphabetic equivalence. For instance, if \bgroup\color{red}$F$\egroup is

\begin{displaymath}\bgroup\color{red}\mbox{\tt (forall x male(father(x)))}\egroup\end{displaymath}

and \bgroup\color{red}$F'$\egroup is

\begin{displaymath}\bgroup\color{red}\mbox{\tt (forall y male(father(y)))}\egroup\end{displaymath}

then claim \bgroup\color{red}$F$\egroup will succeed if and only if claim \bgroup\color{red}$F'$\egroup suceeds. All of the remaining inference rules can be can be classified either as introduction or as elimination rules for one of the sentential connectives or quantifiers. Consider, for instance, conjunctions of the form . There are two elimination rules for conjunctions, left-and and right-and. The former will produce \bgroup\color{red}$F_1$\egroup, the left part of the conjunction, while the latter will produce \bgroup\color{red}$F_2$\egroup, the right part. Specifically, if the conjunction \bgroup\color{red}$F_1$\egroup \bgroup\color{red}$F_2$\egroup is in the current assumption base, then the application \bgroup\color{red}$\mbox{\tt left-and } F_1 \; \mbox{\tt\symbol{38}}\; F_2$\egroup will produce the formula \bgroup\color{red}$F_1$\egroup as a result. If the conjunction is not in the assumption base, then the application will fail. The rule right-and works exactly like left-and, save that it produces the right component of the given conjunction. It is instructive to compare NDL's formulation of these inference rules with a more conventional presentation. For instance, the left conjunction elimination rule is usually depicted graphically as follows:
\bgroup\color{red}$\;\;$\egroup \bgroup\color{red}$\vdash\: F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup \bgroup\color{red}$\;$\egroup
\bgroup\color{red}$\;\:$\egroup
\bgroup\color{red}$\;\;$\egroup \bgroup\color{red}$\vdash\; F_1$\egroup \bgroup\color{red}$\;$\egroup
This says that if the premise \bgroup\color{red}$F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup above the horizontal line has already shown to be a theorem (where theoremhood is signified by the turnstile \bgroup\color{red}$\vdash\:$\egroup), then we may also derive \bgroup\color{red}$F_1$\egroup as a theorem. Or, more loosely, if we already know that \bgroup\color{red}$F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup holds then we may conclude \bgroup\color{red}$F_1$\egroup. In the case of NDL, `` \bgroup\color{red}$F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup holds'' boils down to no more and no less than it being in the assumption base. Therefore, the NDL semantics of left-and can be understood as saying that if \bgroup\color{red}$F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup is in the assumption base, then we may conclude \bgroup\color{red}$F_1$\egroup. The semantics of a proof form \bgroup\color{red}$D$\egroup can often be expressed succinctly with judgements of the form \bgroup\color{red}$\mbox{$\beta$}\vdash\, D \mbox{$\:\longrightarrow\;$}F$\egroup, which can be read as follows:

\begin{displaymath}\bgroup\color{red}\mbox{\em Evaluating $D$ in the context of ...
...ption base \mbox{$\beta$} produces
the conclusion $F$.}\egroup\end{displaymath}

For instance, the semantics of left-and can be captured by the following rule:
\begin{displaymath}
\mbox{$\beta$}\cup \{F_1 \; \mbox{\tt\symbol{38}} \; F_2\} ...
...\mbox{\tt\symbol{38}}\; F_2 \mbox{$\:\longrightarrow\;$}F_1
\end{displaymath} (+1.3)

which says that applying left-and to a conjunction of the form \bgroup\color{red}$F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup in any assumption base that contains this conjunction will produce the conclusion \bgroup\color{red}$F_1$\egroup. Rule (1.3) can be viewed as a pattern that can give rise to different rule instances depending on what particular values we choose to substitute for \bgroup\color{red}$\beta$\egroup, \bgroup\color{red}$F_1$\egroup, and \bgroup\color{red}$F_2$\egroup. For instance, both of the following are instances of (1.3):
\bgroup\color{red}$\{\mbox{\tt true}\;\, \mbox{\tt\symbol{38}}\;\,\mbox{\tt true...
...38}}\;\,\mbox{\tt true} \;\mbox{$\:\longrightarrow\;$}\; \mbox{\tt true}$\egroup
\bgroup\color{red}$\{\mbox{\tt true}, \,\mbox{\tt male(joe)}\: \; \mbox{\tt\symbol{38}}\: \; \mbox{\tt female(ann)}\}
\; \vdash \,$\egroup
\bgroup\color{red}$\mbox{\tt left-and } \mbox{\tt male(joe)}\: \; \mbox{\tt\symb...
...\tt female(ann)}
\: \mbox{$\:\longrightarrow\;$}\: \mbox{\tt male(joe)}$\egroup
The first is obtained from (1.3) via the substitution

\begin{displaymath}\bgroup\color{red}\beta \mapsto \emptyset, F_1 \mapsto \mbox{\tt true}, F_2 \mapsto \mbox{\tt true}\egroup\end{displaymath}

while the second is obtained through the substitution

\begin{displaymath}\bgroup\color{red}\beta \mapsto \{\mbox{\tt true}\}, F_1 \map...
...mbox{\tt male(joe)}, F_2 \mapsto \mbox{\tt female(ann)}.\egroup\end{displaymath}

The rule does not tell us what happens when the assumption base does not contain the premise \bgroup\color{red}$F_1 \; \mbox{\tt\symbol{38}} \; F_2$\egroup. We could explicitly introduce rules such as
\bgroup\color{red}$\mbox{$\beta$}\: \vdash \, \mbox{\tt left-and } F_1 \; \mbox{\tt\symbol{38}}\; F_2 \mbox{$\:\longrightarrow\;$}\;$\egroup error
whenever \bgroup\color{red}$(F_1 \; \mbox{\tt\symbol{38}}\; F_2) \not\in\mbox{$\beta$}$\egroup
but we will instead tacitly understand that in all such cases the result will be an error. We will follow that convention in the sequel when we come to state other similar rules. The semantics of rule applications are summarized below:

\begin{eqnarray*}
{} & \beta \cup \{F\} \mbox{$\:\vdash\:$}\mbox{\tt claim}\; 
...
...t true-intro} \mbox{$\:\longrightarrow\;$}\mbox{\tt true}
& {}
\end{eqnarray*}




next up previous contents
Next: Rules dealing with equality Up: Proof semantics Previous: The assumption base   Contents
2004-08-06