
70 4. Theory Reasoning in Connection Calculi
control the amount of search in the background reasoner. If in the suggested
scenario the foreground calculi guesses a key set which admits no solution
(substitution), or a solution which cannot lead to the closure of the whole
tableau under construction, a lot of fruitless search will be performed by the
background reasoner. Due to the undecidability of the underlying problem
3
it is unclear when to interrupt the proof attempt of the background rea-
soner. Further, if the background reasoner has no state information, a lot of
potentially useful information derived in that proof search will be lost.
For illustration consider again the theory SO and clause set M
n
from
Example 4.1.1. Suppose the refutation starts with ¬(a
1
<a
n
), and further
suppose that the key sets are guessed by increasing size, which seems to be a
plausible strategy. Then Σ
n
i=0
n
i
=2
n
calls to the background reasoner will
result, and only the very last one with M
n
as key set is successful. Even worse,
a backtracking oriented proof procedure, which forgets during backtracking
the generated tableau, will possibly repeatedly solve this key set, even if the
final tableau contains only one instance of the problem.
I speculate that calculi with saturating proof procedures, such as reso-
lution, are advantageous if total theory steps are complex, because then at
least the re-computations caused by backtracking are avoided.
This assessment should not imply that total theory reasoning cannot be
done in an efficient way, in particular for tableau calculi. Instead it should only
be pointed out that there are considerations which let the pure “black box
approach” look problematic. This problem was also recognized in
[
Beckert
and Pape, 1996
]
. They offer a solution for the case of equality, using incre-
mental mixed rigid/universal unification and preserving state information of
the unification algorithm when branches are extended.
Partial Theory Reasoning. Another framework to solve these problems is
partial theory reasoning. Instead of having to discover a contradictory set in
one single “big” total step, the contradictory set is tried to be discovered in
a sequence of better manageable, decidable, smaller steps. In order to realize
this, the result of such a step is stored as a new proof obligation, called the
“residue”
4
. Hopefully, the residue marks an advance in the computation of
the contradictory set. It can also be seen as an “interrupted” total step, whose
current state is stored in the residue. Semantically, the negated residue states
a condition under which the key set becomes contradictory.
In the example, the background reasoner might be passed a key set con-
sisting of the branch literal a<b, the leaf literal b<ctogether with the
literals c<dand d<etaken from input clauses; then it computes the
residue a<eand returns it to the foreground reasoner (Figure 4.3). The
3
Namely, the existence of a T -refuter for a given literal set, cf. Note 4.2.2.
4
In fact, we will later define (Def. 4.3.1) the residue to consist of a clause and
a substitution, where the substitution is to be applied to the resulting tableau.
This generalizes the concept of T -refuters from above.