Theorem proving and the connection method

Rend. Sem. Mat. Univ. Poi. Torino
Fascicolo Speciale 1987
Logic and Computer Sciences (1986)
Elmar Eder
THEOREM PROVING AND THE CONNECTION METHOD
THE STATE OF THE ART
1. Introduction
In this paper an outline is given of the present state of the art of the connection method. The connection method is a method of automated theorem
proving inventèd by W. Bibel.
The goals of automated theorem proving can roughly be devided into
three parts:
1.
2.
3.
to formalize logicai reasoning
to implement it on a computer
to do this efficiently.
The problem of formalization of logicai reasoning has been solved by logicians at the end of the last century and early in this century. Ali the formai
systems used in theorem provers today for first order predicate logie can
be proved to be equivalent in expressive power to ali of these early solutions
to the problem or to parts thereof.
Given a formalization of logicai reasoning it is not a great problem to
obtain some implementation of a sound and complete theorem prover.
The problem is to be efficient in terms of the amount of time and memory
required by the system as well as the user-friendlyness and the information
94
which the system provides to the user. This depends heavily upon which
formalization has been chosen.
The formai calculus for logicai reasoning used by most theorem provers
implemented so far is the calculus of resolution. It is very easy to formulate and to implement in its simplest version since it has only two rufes resolution and factorization. Yet it is a powerful tool for theorem proving.
However, its search space fans out tremendously so that a good strategy is
essential for a resolution theorem prover to be efficient enough to be useful.
Unfortunately, the resolution calculus does not give us much evidence for
a strategy that might help to reduce the search space.
Other methods used for automated theorem proving are the tableau calculus and the connection method which is closely related to it. The connection method which is presented in this paper yields a more restricted search
space and offers more guidance to the search process than resolution. Moreover, it is easier for the system to provide information to the user in the connection method than in resolution.
Finally, we want to mention some of the many applications of automated
theorem proving. In ali of the follo wing types of software systems a logicai
reasoning component is used as an essential part:
Knowledge based systems (expert systems).
Automated program synthesis
Program verification
Logic Programming, PROLOG.
2. What is an Automatic Theorem Prover?
In this section we try to give a definition of what we mean by an automatic
theorem prover.
In order be able to speak about theorem proving in general and about automated theorem proving in special we have to assume that we are given some
formai system of logie with its syntax and semantics. We assume that the
following three concepts are given.
A language L , i.e., as set of words built from characters of some
given alphabet. We cali the elements of this language formulas. In
95
general we can assume that it is decidable whether some word is a
formula or not. An example of such a language is the set of formulas
of first order predicate logie, and it is essentially this set or a subset
thereof which we shall consider in this paper as our language of
formulas.
A semantic concept of validity of a formula. We assume that a subset of the set of ali formulas is somehow defined the elements of
which are called valid formulas. The exact meaning of the word "semantic" is not cruciai for our purposes, and so we shall make no
attempt to give a precise definitiòn of it. In our example of first order
predicate logie we take the usuai definitiòn of validity of a formula.
A formai concept of a derivation of a formula. The semantic concept
of validity does not, in general, suggest any obvious way for deciding
whether a given formula is valid or not. The way this problem is solved
in mathematical logie is to consider derivations of formulas. These
derivations can be considered as (or coded into) words over some
alphabet. We assume that it is decidable whether a given such word
is a derivation of a given formula. If there is a derivation of a formula
we say the formula is derivable. The concept of derivation is said to
be sound if every derivable formula is valid and it is said to be complete
if every valid formula is derivable. In order for a concept of derivation
to be useful it should be at least sound.
Definitiòn
An automatic theorem prover is an algorithm with the following properties
Its input is an arbitrary formula F
If it terminates then its output is either a derivation of F (then we
say the output is positive) or some string indicating that the formula
is not valid (output negative) or some string indicating just that the
formula could not be derived (output indefinite).
The theorem prover is said to be sound if for every formula
F
If output to the input F is positive then F is valid.
If output to the input F is negative then F is not valid.
it holds
96
The theorem prover is said to be complete if for every formula
holds
F
it
If F is valid then the output to the input F is positive.
Clearly, a theorem prover based on a sound derivation concept is sound.
3.. Resolution
As an example of the concepts defined here we give the resolution calculus.
We take, as the formulas, the formulas of first order predicate logie.
In order to derive some formula
have to
F
with the resolution method we
transform the negation of F to its conjunctive normal form and
build the set S of clauses corresponding to it
apply the resolution (and factorization) rule to
until the empty clause is obtained.
S
repeatedly
The repeated application of the resolution and factorization rules is coded
as a derivation of F .
We shall not give the definition of the resolution calculus here but refer
the reader to the literature. We only give a simple example from propositional logie.
Let F bet the formula -i[/V(C/AK)VnW.
The conjunctive normal form G of the negation of F is the formula
U A (-. U V -i V) A W. Its clauses are
{U}
{W}
By resolving the first and the second clause we obtain the resolvent {-i V }.
Now no new clauses can be obtained by applying any other resolution or
factorization steps. In particular, the empty clause cannot be obtained.
97
So F
is not derivable in the resolution calculus.
THE CONNECTION METHOD
4. The Connection Method in the Case of Formulas of
Propositional Logic in Dsjunctive Normal Form
We start the presentation of the connection method with formulas of
propositional logie in disjunctive normal form since some of the main aspeets
of the method are already present in this restricted domain and the connection method in the general case of first order predicate logie can be founded
on this simple case.
As opposed to resolution, the connection method is a direct proof method,
Le., we do not negate the given formula and then refute its negation, but we
work directly with the given formula itself. This is not a matter that affeets
thè proof algorithm in principle but can be regarded just as a matter of terminology.
One main difference to resolution is that we do not generate new clauses
that differ in structure from the given clauses. Ali operations that are done
in the connection method are defined on the set of clauses, or the structure
tree, of the given formula and on structures built on top of it.
The formulas that we consider in this section are disjunctions of conjunctions of literals. Each of the conjunctions of literals can be represented by
the set of its conjunets, called a clause. The formula itself is represented as
the set of its clauses. To depict the structure of the formula on a two-dimensional piece of paper we use a matrix representation with the clauses represented as vertical columns. As an example we take the same formula
-»l/ V (U/\V) V-» W that we considered for resolution. Its matrix representation is
U
V
representing the three clauses {-il/}, {U, V} , and
{-iW).
Before we explain the connection method we need a few concepts.
98
Definition
A path through a matrix is a set of occurrences of literals, exactly one from
each clause.
In our example there are exactly two paths, namely
{-il/, V,->W}.
{•-» U, U, -i W} and
Remarle
For sake of brevity we represent occurrences of literals by the (representations of) the literals themselves here if there is no source of confusion.
Definition
A connection in a matrix is an unordered pair of occurrences of complementary literals, i.e., of literals X and -»X. A path is said to be complementary iff it contains a connection.
In the example above the path
the path {-.£/, V, -^W} is not.
{-»1/, U, ~\W}
is complementary but
Theorem
A formula of propositional logie in disjunctive normal form is valid iff
every path through its matrix representation is complementary.
This theorem is obvious if you consider transforming the formula to its
conjuntive normal form. Then the formula is valid iff ali the conjuncts are
valid. But each of the conjuncts is a disjunction of the literals of some path
and vice-versa. Such a disjunction is valid iff it contains a complementary
pair of literals.
Definition
A set of connections in a matrix is said to be spanning iff every path
through the matrix contains at least one of the connections belonging to
this set.
99
Then the theorem above is equivalent to saying that a formula of propositional logie in disjunctive normal form is valid iff the set of ali connections
in its matrix is spanning.
Now, the connection method systematically checks ali paths through a
given matrix for complementarity. If it finds ali paths to be complementary
then the formula is proved to be valid. If, on the other hand, it finds some
path which is not complementary then the formula is proved not to be
valid. Moreover, in this case, an interpretation of the propositional variables
can be given explicitly that makes ali literals of that particular path false.
Then this same interpretation makes the whole formula false. So a failure
automatically yields a counterexample.
We shall not give a formai definition of the connection calculus here
but merely show the way it works with an example. Consider the formula
(U/\V/\^W)\/(UAw/\^X)V^UV
XV-^V
Its matrix representation is
U
V
U
W
~^U
X
^V
The procedure starts by collecting one of the clauses as its start clause,
say the clause {-•• U} . We indicate this in the figure below by interchangin the clauses so that the starting clause is the leftmost clause in the matrix.
This does not mean, however, that a similar step of interchanging the clauses
is done in an implementation. In the picture we draw a small arrow pointing
at the first literal of the starting clause indicating that ali paths passing through
this literal or any literal below it (in our example there is no literal below
it) have stili to be checked for complementarity.
-i U^
U
V
~>w
U
W
X
-. V
-,x
The next step is an extension step. We try to find an occurrence of a literal
that is complementary to the one pointed at by the arrow. In our example
100
we take the literal
U of the second clause. We draw a connection between
the two occurrences of literals, and we mark the set {-• 17-} as the current
path, indicating that we are just now trying to prove the complementarity
of ali extensions of the current path through whole matrix. The extensions
of the current path that go through the occurence of the literal
U in the
second clause are complementary because of the connection
{-> U, U} .
Therefore V is the next literal to be checked for the complementarity
of ali extensions of the current path passing through it, and it is marked
with an arrow. We say that the literal V and the literal -i W below
it are unsolved subgoals.
/ ^
"U
U
In another extension step we draw a connection from the literal V of
the second clause to the literal ~» V of the last clause. To indicate that
the last clause is the next one to be chosen we moveit to the third place in
our picture (again, not in an implementation). The new current path is
{-• U, V}. Ali extensions of the current. path pass through the literal -i V,
contain the connection {V, -* V} and hence are complementary. So there
are no more unsolved subgoals in the clause {-» V} , Le., no more extensions
of the current path to be checked for complementarity, and we let the arrow
point to a place below the literal — V
u
U
V
V
w
+~.
U
W
X
—t X
The next step is a truncatton step. We retract the current path from the
second clause obtaining the new current path
{-i U} . Now the literals
U and V of the second clause are solved subgoals and —• W is its only
unsolved subgoal.
- V
w,
U
W
~^X
X
101
The next step is an extension step again. The new current path is {-il/, —\W }
and we choose as the clause to which we make the extension the clause
{U, W, ~i X}. This clause has two literals, U and W , which are complementary to literals of the new current path. Therefore we have two new
connections in this case and the clause {U, W, -i X } has only one unsolved
subgoal ~» X . As before, we interchanged the clauses to right of the new
current path in the figure so that the clause {U, W, ~-i X} is the leftmost
among these clauses.
Another extension step yields
By truncation we obtàin
and two more truncation steps finally result in
where the current path is empty and there are no more unsolved subgoals.
This completes the deduction in the connection method.
Reductions and Improvements of Efficieny
As we have seen, it is not necessary to check each single path through
102
the matrix for complementarity separately. Instead, the connection method
checks a whole set of paths containing one particular connection in one
(extension) step. This idea can be pushed further to obtain the concept of
Factorization
Consider a matrix containing, among other clauses, two clauses {U, V, W}
and {-i U, V, X}. Assume that the clause {U, V, W} has been chosen
as the start clause and that an extension step has been made to the clause
{~,U,V,X}.
v
v^
W
X
Let P be the set of paths passing through both, the occurrence of U
in the first clause and the occurrence of V in the second clause, and let
Q be the set of paths passing through both occurrences of V in the first
two clauses. Then the next thing that the simplest version of the connection
method does is to check the paths of P for complementarity. In a later
step the paths of Q have to be checked for complementarity. But every
path of P , considered as a set of literals, is a superset of some path of Q.
Therefore, if ali paths of Q are complementary then so are ali paths of
P . This means we need not check the paths of P for complementarity
if we make sure that we check ali paths of Q for complementarity. This
is expressed in the connection method by considering the subgoal V of the
second clause as solved due to a factorization link between the two occurrences of V in the first two clauses.
W
XK
There are also reductions of the set of clauses itself well known from resolution such as the elimination of clauses containing a pure literal or the
subsumption.
There are further rules for reducing the search space such as avoidance
103
of circuits or elimination of redundant clauses. But we shall not go into the
details of any of these reductions here.
5. Propositional Logic, Genaral Case
The connection method can also be applied directly to formulas which
are not in disjunctive normal form. In this case the elements of the clauses
do not have to be literals but they may themselves be matrices built up from
many clauses. A path through a matrix is then obtained by choosing exactly
one element from each of its clauses, choosing one path through each of the
chosen elements, and building the union of ali chosen paths. As an example
we give the matrix representation of the formula
-i K V [(((K VM) AN) V (-. N A?)) A I ] V (-1? A / ) V (-.j A L AR)
and a path through this matrix.
- K—-M
—' "
P
N
L
R
Again, a formula is valid iff every path through its matrix representation is
complementary. The connection method here works in a similar way as for
disjunctive normal form.
6. The Connection Method for First Order Predicate Logic
in Disjunctive Normal Form
In this section we assume that we are given a formula
predicate logie in disjunctive normal form,
3 * ! ... xr
where each of the formulas
rise to clauses cx,..., cn .
F
of first order
(Cj V ...V Cn)
Ch ..., Cn
is a conjunction of literals, giving
104
As an example consider the formula
F0.=
Pa A Vx(Px-+Pfx)^>Pfa .
Let F be the normal form of F0 :
F : = 3x(-^PaV(Px/\
~*Pfx)VPfa).
In the figure below we depict the matrix representation of this formula
together with a spanning set of connections
^^Px
~^Pa
Pfa
^Pfx^
The substitution a : = {x +- a} replacing the variable x with the Constant a unifies both ofthese connections, i.e.,
a (Pa) = a (Px) and a (Pfx) = a (Pfa).
Thus the formula F is valid.
In general, a formula of first order logie in normal form is valid if its matrix
representation has a unifiable spanning set of connections.
So the connection method works, for this example, the same way as for
propositional logie with the one differenee that ali the connections occurring
must be simultaneously unifiable.
Variants of clauses
As another example we take the very similar formula
Fb :=Pa\
Its matrix representation is
Vx(Px-+Pfx)^>Pffa.
105
The two connections indicated in the figure are not simultaneously unifiable.
We say, these connections are not compatible. The remedy we have to use
in this case is to take two variants of the second clause:
-»Pa
/S
~^Pfx1
^-—pffa
~*Pfx2
Now there is a simultaneous unifier of ali three connections indicated in
this figure, namely {xt <- a, x2 «- fa}.
Herbrand's Theorem
Definition
An instance of a clause is the result of applying a substitution to it. An
instance that does not contain any variables is called a ground instance. A
compound instance of a finite set S of clauses (or of the formula corresponding to this set of clauses) is a finite set of instances of clauses of S .
A variant of a clause e is a clause obtained from e by applying a renaming of variables, i.e., a substitution that is a permutation of variables, to it.
A compound instance of a finite set S of clauses can be obtained by
applying a substitution to a finite set of variants of clauses of S (such
as the four variants of clauses in the example above).
Herbrand's Theorem
A formula F of first order predicate logie in disjunctive normal form
is valid iff there is a compound ground instance of F that is valid.
Since any compound ground instance can be regarded as a formula of
propositional logie Herbrand's theorem shows us how we can use the methods
of theorem proving in propositional logie in the case of first order logie.
106
Main differences between the connection method in propositional and first
order logie.
The main differences are the following.
In propositional logie
the extension is always done to one of the clauses of the given matrix
always ali connections from literals of the current path to the newly
chosen clause are chosen
the procedure always terminates
In first order logie
the extension is done to a possibly new variant of a clause
the connections must be compatible, and it is necessary to keep track
of the most general unifier of the set of connections. In particular,
in general a subset of the set of ali connections to the newly chosen
clause must be chosen. Backtracking is necessary since it cannot be
decided whether a particular choice of this subset will succeed.
there is no bound on the number of variants of clauses that have to
to be chosen in general, and the procedure does not terminate for
ali input formulas.
7. First Order Predicate Logic, Non-Norma! Form
The connection method for first order predicate logie in the general case
is based on the Gentzen-Schùtte calculus whose axioms are ali disjunctions
containing two complementary literals as disjuncts,
G^ Ptx ... tnVG2W^Pt1
... tnVG3
where Glt G2 , and G 3 may themselves be disjunctions (we consider the
operation of building a disjunction as associative here).
Its inference rules are
GVF^H
....
GVFnVH
GV(FjA ... A F )VH
107
GMFVH
GVvyt...ynFVH
if the variables y\,--,yn
donotoccurin
G and H
GV{x1<-tl,...,xu4-tn}F\/
3xì...xnFVH
GV 3xl ... xm FVH
if the variables in tlt ..., t
are not bound by quantifiers of F .
The connection method essentially applies these rules backwards where the
last rule corresponds to taking a new variant of a clause in the case of normal
form. Of course, the terms tl} ..., t
are not totally instanciated in the
connection method as they are in the Gentzen-Schùtte calculus but they are
only partially instanciated by unification. The axioms of the Gentzen-Schùtte
calculus are reflected in the connection method by connections between two
complementary literals. We shall not go beyond these vague hints here because
there is an efficient way of reducing the problem of theorem proving in full
first order predicate logie to theorem proving for normal form formulas, as
we shall see presently.
The Definitional Form
In an implementation of the connection method we use an efficient reduction of any given formula F of full first order logie to a formula F' in
disjunctive normal form that has the following properties
F' is in normal form
F' is valid iff F is valid
The syntactic structure of the formula F is stili visible in F'
The length of F' and the time needed to compute it grow slowly
(of the order of the product of the length of F and the maximal
depth of nesting of quantifiers of F) with the length of F
There is a stepwise correspondence between a connection proof of
F and a connection proof of F' and vice-versa.
108
The last property implies that a connection prover for normal form (for
F' ) can simulate a connection proof of the formula F.
We show the idea of the construction of F' (which has been known to
logicians for a long time but seems to be very little known to researchers in
theorem proving) with an example.
Consider the formula
F= 3x(Rx*>
V yRy).
Now, we construct, for each subformula G of F an atomic formula
that has the same free variables as G , by introducing a new predicate symbol
each time and taking, as its arguments, the free variables of G . This atomic
formula will serve as a kind of abbreviation of G , i.e., we shall consider
interpretations where this atomic formula is equivalent to G . In our example,
P0
«* 3x (Rx *>VyRy)
Pxx *>
(RxoVyRy)
P2x *> Rx
P3
o
VyRy
P4y «• Ry
These equivalences can be viewed as definitions of the predicates denoted
by Po, •••, P* • Then P 0 is the assertion we want to prove.
Let D 0 ,..., D4
D0 =
be the following formulas
PQ
DJ = Vx(Ptx
O
*>
3XPXX
(P2x^P3))
D2 = Vx (P2x <* Rx)
D3=
P3
D4 = Vy (P4y
<* VyP4y
»
Ry)
and let
F* = D0A D, A D2A D 3 A D 4 ^P0 .
Then F is valid iff F* is valid.
109
F* is already close to normal form and can be transformed to its normal
form F' in the usuai way by applying the laws for the propositional connectives and by Skolemization. In particular, non exponential increaseof thelegth
of the formula is encountered.
Finally, a number of reductions is applied to the formula F' yielding a
formula whose number of literals is at most 6n — 5 (on 4» — 3 if F
does not contain any equivalence signs or exclusive or's) where n is the
number of subformulas of F.
The Use of Lemmata
In the resolution calculus a resolvent can be considered as a lemma that
has been derived from its parent clauses (or of some of its ancestors). Such
a lemma can be used independently in several places for further deduction.
As an example let us consider a formula stating that there is a fourth Fibonacci
number.
Fib (0,1) A
Fib (1,1) A
Vn, f, g (Fib (», f) A Fib (n + l , g ) ^ Fib (n 4- 2 , / + g)) -•
Ex Fib (4, x)
The meaning of Fib (n, f) here is "/ is the n-th fibonacci number".
We assume that the unification can cope properly with + .
The clauses are
Fib (0,1)
Fib (1,1)
Fib(« + 2 , / + g) -.Fib ( » , / ) - F i b ( « + l,g)
-> Fib (4, x)
A resolution theorem prover could prove Fib (2,2) first. When it then
tries to prove Fib (3,3) it can use Fib (2,2) as a lemma (or it starts by
proving Fib (3,3) in the course of which it also has to prove Fib (2,2)
which it can use as a lemma later). Of course, a resolution theorem prover
will be abìe to make use of lemmata in a reasonable way only if it has a suitable strategy. A PROLOG system, for example, never detects a lemma.
110
The connection method in its simplest version does not have the possibility
of lemma generation. We have, hpwever, already encountered one refinement
of the connection method that allows limited use of lemmata, namely factorization.
In an, implementation of the connection method we use explicit lemma
generation to extend the limited possibilities that are offered by factorization.
The lemmata generated here are of the form of universally quantified clauses
similar to the resolvents occurring in resolution. They are generated and
selected according to a heuristics that tries to estimate the usefulness of the
lemma and gives a preference to short clauses.
Splitting
Another way of introducing lemmata in the proof process is the feature
of splitting. As an example we consider the formula
Vx (PxVPfx)-*Ey (Py/\ Pffy)
with the matrix
->Px
Py
- Pfic
Pffy
The shortest compound instance that yields a connection proof is the following
-
~
^Pxt—Py,
^ - Pfiti Pffy!
-
Py*
•~»PX2
->Pfx2
^S2J*fx3
Pffy*
^
We observe that the submatrix consisting of the last three clauses is just a
variant of the submatrix consisting of the first three clauses (the two boxes
in the figure). Also, the connections within thése submatrices are the sàme.
Merely the connections to the fourth clause differ for the two submatrices.
Therefore is suffices to represent just one of these submatrices as in the
following figure.
Ili
The horizontal bar between the two literals of the fourth clause indicates
that the connections from the first of these litterals have to be considered
as going into another variant of the rest of the matrix than the connections
from the second literal (splitting of the fourth clause). This fact is reflected in
a more liberal condition of unifiability of the connections. The connections
starting from the first literal of the fourth clause are not required to be (and,
in fact, are not) compatible with the connections starting from the second
literal of the fourth clause.
Splitting can also be applied in a nested way with several levels of splitting
represented in a tree-like structure. There is not enough space here to go into
any details of this.
Splitting can be combined with factorization. For the example above we
then obtain the compound instance
Of course, for ali these compound instances it is not necessary to actually
represent ali of the variants in a computer. One index (subscript) and a poin-,
ter to the clause of the originai matrix (or pointers to its literals) are enough.
Extensions of First Order Predicate Logic
It is a widely accepted opinion (based on practical experience) that a theorem
prover that is to be useful in practical application should not be just a theorem
prover for first order predicate logie but it should be specialized to some
particular field of application.
One such example is that some of the function symbols are assumed to
112
obey certain laws, for example associativity or commutativity. Such assumptions can be brought into a proof calculus such as the resolution or the
connection method by replacing the concept of unification by the concept
of unification modulo these laws (theory unification).
Equality is handled in resolution by the paramodulation rule. In the
connection method a new kind of connections, equality-connections, is
introduced. A similar approach has been used to handle induction. The
connection method is also suitable for theorem provihg in higher order logie.
However, the problem of unification is undecidable in this case.
Parallelism
There are several possibilities for exploting parallelism in the connection
method.
One obvious way is to view the process of finding a deduction in the
connecton method as an and-or-tree with each and-node corresponding to
the choice of a literal within a clause and each or-node corresponding to the
choice of the next clause for extension. In the case of and-nodes the substitutions obtained for the subtrees corresponding to this node must be compatible.
Another way of exploiting parallelism is to choose small subsets of the
set of ali clauses of the matrix and to determine the set of non-complementary paths through each of these subsets in parallel and to stepwise increase
these subsets by suitably combining the corresponding sets of paths until
a characterization of the set of non-complementary paths of the whole
matrix is obtained.
For both of these there exist experimental implementations in Munich in
the frame of an ESPRIT project in the course of which a parallel theoremprover is being implemented as a simulation on a sequential machine and then
on a multiprocessor system.
Conclusions
The connection method has more complicated rules that the resolution
method which has just the rules of resolution and factorization. However,
113
this variety of rules gives the connection method the advantage that the
proof process is more structured. Also, there is the simplest version of the
connection calculus which by itself is not efficient enough but can serve
as a guide for a strategy for the more efficient extensions we have discussed
in this paper. It is stili not yet clear in detail which extensions of the simplest
version are necessary, for example to get exactly the potential strength, in
terms of length of shortest deductions, as the resolution method. This is
one topic for future research. Some of the newer developments of implementations have been indicated in the paper. Parallel implementations is
a working field of the Munich group.
LITERATURE
P.B. Andrews, Theorem Proving Via General Matings. J. ACM 28, 193-214 (1981)
W. Bibel, Automated Theorem Proving, Vieweg (1982)
W. Bibel, Matings in Matrices. C. ACM 26, Nov. 1983, 844-852
C. L. Chang, R. C. T. Lee, Symbolìc Logic and Mechanical Theorem Proving. Academic
Press, New York (1973).
D.W. Loveland, Automated Theorem Proving, A Logicai Bases. North-Holland, Amsterdam (1978)
J.A. Robinson, A Machine-Oriented Logic Based on the Resolution Principle. J. ACM
12,23-41(1965)
Stickel, Automated Deduction by Theory Resolution
L. Wos, R. Overbeek, E. Lusk, J. Boyle, Automated Reasoning. Prentice Hall, Englewood
Cliffs, N. J. (1984)
114
E. Eder, Properties of Substitutions and Unifications-, Journal of Symbolic Computation
Voi. 1 (1985).
E. Eder, An Implementation of a Theorem Prover Based on the Connection_method\
Art. Intell. (W. Bibel, B. Petkoff, eds.); North-Holland, Amsterdam, pp. 121-128
(1985).
S. Bayerl, E. Eder, F. Kurfej3, R. Letz, J. Schumann, An implementation of a PROLOGlike Theorem Prover based on the Connection Method-, Art. Intell. II, Ph. Jorrand. V.
Sgurev, (eds.), Proc. Sec. Int. Conf. on Artificial Intelligence: Methodology, Systems,
Applications (AIMSA 86), North-Hplland, Amesterdam, p. 29-36 (1987).
B. Fronhòfer, On réftnements of the connection method. In: Algebra, Combinatorics and
Logic in Computer Science, (J. Demetrovics, G. Katona, A. Salomas, eds.), Colloquia
Mathematica Soc. J. Bolyal, Voi. 42, North-Holland, Amsterdam 1985, pp. 391-401.
S. Bayerl, R. Letz, J. Schumann, SETHEO/1 Sequential Theorem prover based on the
connection method for full first order logie - Deliverable D 11 - ESPRIT 415 F DeliverableDll (1987).
W. Bibel, R. Letz, J. Schumann: Bottom-up Enhancements of Deductive Systems-, Conference on Artificial Intelligence and Information-Control Systems of Robots, NorthHolland, Amsterdam (1987).
E. EDER - Fachbercich Informatile, Universitàt Dortmund, D - 4600, Dortmund 50,
F.R. Germany.