<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>randoCoP: Randomizing the Proof Search Order in the Connection Calculus</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thomas Raths</string-name>
          <email>traths@cs.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jens Otten</string-name>
          <email>jeotten@cs.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institut fu ̈r Informatik, University of Potsdam August-Bebel-Str.</institution>
          <addr-line>89, 14482 Potsdam-Babelsberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>94</fpage>
      <lpage>102</lpage>
      <abstract>
        <p>We present randoCoP, a theorem prover for classical firstorder logic, which integrates randomized search techniques into the connection prover leanCoP 2.0. By randomly reordering the axioms of the problem and the literals within its clausal form, the incomplete search variants of leanCoP 2.0 can be improved significantly. We introduce details of the implementation and present comprehensive practical results by comparing the performance of randoCoP with leanCoP and other theorem provers on the TPTP library and problems involving large theories.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Connection calculi, such as the connection calculus [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], the connection tableau
calculus [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], or the model elimination calculus [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], are in contrast to standard
tableau or saturation-based calculi not proof confluent. Therefore a large amount
of backtracking is required during the proof search. By restricting this
backtracking the performance of connection-based proof search procedures can be
improved significantly [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. leanCoP 2.0 [
        <xref ref-type="bibr" rid="ref14 ref15">15, 14</xref>
        ] is a theorem prover for classical
first-order logic based on the connection calculus. A shell script consecutively
runs different variants of the core prover with different options, which control
the proof search. The most successful variants use restricted backtracking.
      </p>
      <p>The downside of restricted backtracking is the loss of completeness. Whereas
proofs for some formulae can be found very quickly, it might be impossible to
find proofs for other formulae anymore. Since restricted backtracking cuts off
alternative connections, the benefit of this approach strongly depends on the
proof search order. The proof search order, in turn, usually depends on the order
of clauses and literals in the given formula. Whereas the proof search procedure
quickly finds a proof for one order, another order of the same clauses might result
in an incomplete proof search order, i.e. no proof is found at all. By reordering
the clauses, the downside of restricted backtracking can be minimized.</p>
      <p>randoCoP extends the leanCoP 2.0 implementation by repeatedly reordering
the axioms and literals of a given problem at random. This increases the chance
to find a proof, in particular for the incomplete prover variants. In Section 2 we
present experimental results of several reordering techniques and details of the
implemented reordering strategy. In Section 3 the performance of randoCoP is
compared with current state-of-the-art theorem provers.</p>
    </sec>
    <sec id="sec-2">
      <title>Randomizing the Proof Search Order</title>
      <p>We first describe the basic motivation behind the randomized reordering
technique. Afterwards we present a detailed practical analysis, which determines the
specific reordering strategy that is used within randoCoP.
2.1</p>
      <p>Motivation
leanCoP searches for connections in the order of the given input clauses.
Connections to clauses at the beginning of the input clauses are considered first, before
(on backtracking) clauses at the end are examined. Therefore reordering clauses
is a simple way of modifying the proof search order. But the effect of reordering
clauses is limited for complete search strategies (see Section 2.2), since every
clause is considered sooner or later anyway.</p>
      <p>
        leanCoP 2.0 has the option to restrict backtracking by cutting off alternative
connections in branches that have already been closed before [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. With this
incomplete search technique some clauses might not be considered anymore and
the reordering of clauses has a significant effect. It makes it possible to find proofs
for problems that could not be solved before. Figure 1 illustrates this fact. The
triangle represents the search space, the crosses mark the solutions, and the grey
shaded area is the search space that can be traversed within a certain time limit
and is roughly the same for all three triangles.
      </p>
      <p>The complete search strategy (left hand side), does not reach the proof depth
required for a solution. The search with restricted backtracking (in the middle),
reaches the depth of the solutions but not the required breadth. Only the search
strategy with restricted backtracking and repeatedly reordering the clauses (right
hand side) is able to find a proof.</p>
      <p>Clauses can be reordered in several ways, e.g. by rotating or shifting clauses.
leanCoP 2.0 already contains an option for reordering clauses that uses a simple
perfect shuffle algorithm. But the effect on the proof search is small, since the
generated clause orders are not sufficiently diverse. A random reordering mixes
the order of clauses more thoroughly. Therefore instead of the built-in reordering
technique a randomized reordering should be used. Since the outcome of the
proof search needs to be reproducible, a deterministic pseudo-random reordering
needs to be implemented.
2.2</p>
      <sec id="sec-2-1">
        <title>Evaluation and Analysis</title>
        <p>Our practical experiments have shown that a reordering of the axioms of a given
problem is more effective than the reordering of clauses after the clausal form
translation has been applied. These experiments also showed that reordering the
literals within the clauses has a positive effect on the proof search as well.</p>
        <p>The proof search order is randomly modified in the following way. Let A1 ∧
A2 ∧ . . . An∧ ⇒ C be the given formula where A1, A2, . . . , An are the axioms
and C is the conjecture of the problem. Let πm : {1, . . . , m} → {1, . . . , m} be a
(pseudo-)random permutation.
1. Reordering of axioms: The following formula is generated: Aπn(1) ∧ Aπn(2) ∧
. . . ∧ Aπn(n) ⇒ C. Let C1, C2, . . . , Cm be this formula in clausal form.
2. Reordering of literals: For each clause Ci={L1, . . . , Lk} the reordered clause
Ci0={Lπk(1), . . . , Lπk(k)} is generated. C10, . . . , Ck0 is the final set of clauses.</p>
        <p>
          We first want to find the options of the leanCoP 2.0 core prover that are most
suited for our randomized reordering approach. A variant of the leanCoP 2.0
Prolog core prover is determined by a set of options that control the proof search
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The following options can be used:
1. nodef/def: The standard/definitional translation into clausal form is done.
        </p>
        <p>
          If none of these options is given the standard translation is used for the
axioms whereas the definitional translation is used for the conjecture [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
2. conj: The conjecture clauses are used as start clauses. If this option is not
given the positive clauses are used as start clauses.
3. scut: Backtracking is restricted for alternative start clauses [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
4. cut: Backtracking is restricted for alternative reduction/extension steps [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
5. comp(I): Restricted backtracking is switched off when iterative deepening
exceeds the active path length I.
        </p>
        <p>The option conj is complete only for formulae with a provable conjecture,
and the options scut and cut are only complete if used in combination with the
option comp(I).</p>
        <p>
          The following tests were performed on all 3644 non-clausal problems (FOF
division) of the TPTP library [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] version 3.3.0. The left side of Table 1 shows
the number of proved problems without reordering using a time limit of 180
seconds. The right side displays the number of proved problems with repeated
reordering. The allotted time limit for each order is 3 seconds with an overall
time limit of 180 seconds allowing around 60 reorderings for each problem.
        </p>
        <p>The prover variants using restricted backtracking (options cut and scut)
benefit most from the randomized reordering technique. The greatest advance
is made for the variant using the default clausal form translation and both of
the options cut and scut. The variants using a full definitional (def) or the
standard (nodef) clausal form translation and no restricted backtracking show a
lower performance. The most successful variants using reordering use the options
{cut}, {cut,scut}, {conj,cut}, and {conj,cut,scut}.</p>
        <p>We have tested the most successful variants again using different time limits
for each order of the axioms/literals. Table 2 shows the results using an overall
time limit of 180 seconds and a time limit of 2 seconds, 3 seconds and 4 seconds
for proving each order allowing around 90, 60 and 45 reorderings, respectively.
The difference in the number of proved problems is rather small with a slight
advantage for a time limit of 3 seconds.</p>
        <p>Further evaluations have shown that the most number of problems are proved
by repeatedly running the two variants {cut,scut} and {def,conj,cut} each for
a time limit of 3 seconds and 2 seconds on each axiom/literal order, respectively.</p>
        <p>In order to prove and refute a large number of problems within the first few
seconds, the proof process is started by running the most successful complete
prover variant using the options cut and comp(7) once for 5 seconds. A complete
prover variant using the option def only is invoked at the end of the proof process
for at least 10 seconds.
2.3</p>
        <p>The Implementation
randoCoP uses the random library of ECLiPSe Prolog, which contains the
predicate rand_perm/2 that randomly permutes a list, and randomise/1 to seed and
initialize the random generator, which allows the same sequence of permutations
to be generated, and thus makes the result reproducible.</p>
        <p>randoCoP consists of a shell script that calls the leanCoP 2.0 core prover
extended by a few predicates realizing the reordering of axioms and literals.
This shell script is called with an argument that determines the overall time
limit and invokes the prover variants according to Section 2.2.</p>
        <p>Let T otalT ime be this given time limit in seconds. Then the shell script
invokes the following variants of the core prover in the following order:
1. Prover variant {cut,comp(7)} for 5 seconds
2. Repeated reordering step, (T otalT ime − 15)/5 times:
(a) Reordering of axioms and literals
(b) Prover variant {cut,scut} for 3 seconds
(c) Prover variant {def,conj,cut} for 2 seconds
3. Prover variant {def} for 10 seconds</p>
        <p>If, for example, T otalT ime is set to 600 seconds, then (600-15)/5=117
reordering steps are done and after each reordering the two prover variants are
run for 3 seconds and 2 seconds, respectively.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Performance</title>
      <p>To evaluate the performance we tested randoCoP on all non-clausal problems
in the TPTP library, and the problems of the MPTP challenge. All tests were
done on a system with a 3 GHz Xeon processor and 4 Gbyte of memory running
Linux and ECLiPSe Prolog 5.8. We compare the performance of randoCoP with
the current state-of-the-art provers.
3.1</p>
      <sec id="sec-3-1">
        <title>The TPTP Library</title>
        <p>
          For the tests all 3644 problems of version 3.3.0 of the TPTP library [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] that are
in non-clausal form (FOF division) are considered. In order to solve satisfiable
or unsatisfiable problems — i.e., those problems without a conjecture — these
problems are negated. Equality is dealt with by adding the equality axioms. The
time limit for all problems is 600 seconds.
        </p>
        <p>
          In Table 3 the performance of randoCoP is compared with the following
theorem provers: Otter 3.3 [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], version ”20070805r009” of SNARK [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], leanCoP 2.0
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], version ”Dec-2007” of Prover91 [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], iProver 0.2 [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], Equinox 1.2 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], SPASS
3.0 [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], E 0.999 [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], and Vampire 9.0 [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The rating and the percentage of
proved problems for some rating intervals are given. FNE, FEQ and PEQ are
problems without, with and containing only equality, respectively. Furthermore,
the number of proved problems for each domain (see [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]) that contains at least
10 problems is shown.
        </p>
        <p>
          randoCoP proves more problems than Equinox, iProver, Prover9, leanCoP 2.0,
SNARK and Otter. It solves more problems in the SEU domain than any other
prover. The SEU domain contains problems from set theory taken from the
MPTP [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] (see also Section 3.2). Including the equality axioms, these problems
contain up to 1100 axioms, of which not all are required to prove the conjecture.
For the SEU domain randoCoP also shows the biggest improvement compared
to leanCoP 2.0, with 491 proved problems compared to 296 problems proved by
leanCoP 2.0. A notable improvement is also made for the domains NUM and
SWC. 96 of all proved problems have the highest rating of 1.0.
1 The most recent version ”2008-04A” of Prover9 has a significant lower performance.
proved
        </p>
        <p>[%]
0s to 1s
1s to 10s
10s to 100s
100s to 600s
rating 0.0
rating &gt;0.0
rating 1.0
0.00...0.24
0.25...0.49
0.50...0.74
0.75...1.00</p>
        <p>FNE
FEQ
PEQ
AGT
ALG
CSR
GEO
GRA
KRS
LCL
MED
MGT
NLP
NUM
PUZ
SET
SEU
SWC
SWV</p>
        <p>SYN
refuted
time out
gave up
errors
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>The MPTP Challenge</title>
        <p>
          The MPTP challenge is a set of problems from the Mizar library translated into
first-order logic [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. There are two divisions, bushy and chainy, each containing
252 problems. Whereas the bushy division contains only the relevant axioms and
lemmata required to prove the main theorem, the chainy division contains all
axioms and lemmata that were available at the time of proving the main theorem
of the challenge. The time limit for each problem is 300 seconds.
        </p>
        <p>The result of randoCoP on the bushy and chainy division is shown in Table 4
and Table 5, respectively. Again, equality axioms are added, which results in
formulae with a total of up to 1700 axioms. The performance is compared with
the theorem provers mentioned in Section 3.1.
randoCoP shows a decent performance in both division. The time complexity
is better compared to the other provers, as many problems are (still) proved
after 10 seconds. We have not tested the provers MaLARea 0.1, SRASS 0.1, and
Fampire 1.3, which prove 187/142, 171/127, and 191/126 of the problems in the
bushy/chainy division, respectively (according to the MPTP challenge web site).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Related Work</title>
      <p>We have presented randoCoP, a theorem prover for classical first-order logic,
which integrates a random proof search strategy into the connection prover
leanCoP 2.0. Repeatedly reordering the axioms of the problem and the literals
within its clausal form improves performance of leanCoP 2.0 significantly.</p>
      <p>Some incomplete strategies of leanCoP 2.0 effectively restrict backtracking
and increase the depth of the search space that can be investigated within a
certain amount of time. But they might cut off specific proof search orders
required to find a proof. randoCoP partly compensates for this disadvantage and
the loss of completeness by increasing again the breadth of the explored search
space. The combination of restricted backtracking and randomized reordering is
highly effective, in particular for hard problems containing many axioms.</p>
      <p>The core prover of randoCoP and leanCoP 2.0 consists only of a few lines of
Prolog code. This indicates that tens to hundreds of thousands of lines in, e.g.,
C and low-level optimizations are not needed to succeed in automated theorem
proving. Instead it shows that good heuristics for traversing the vast search are
important in automated reasoning research.</p>
      <p>
        The RCTHEO system [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] randomly reorders clause instances. It is a an
ORparallel version of SETHEO [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], where each node executes one instance of the
sequential prover SETHEO. The performance is similar to PARTHEO, a parallel
version of SETHEO.
      </p>
      <p>The SETHEO system offers a dynamic subgoal reordering option. The
reordering is not at random but prefers subgoals with the highest probability to
fail, in order to reduce the search space. Syntactic criteria, such as the number
of variables, are used to determine the specific order. The subgoal order is then
determined dynamically whenever the next subgoal is selected.</p>
      <p>We have tested SETHEO without and with subgoal reordering on all
nonclausal problems of the TPTP library (see Section 3.1). Without subgoal
reordering SETHEO proves 1192 out of the 3644 problems. With subgoal reordering
(using the option -dynsgreord 2) it only solves 1185 problems, i.e. the
performance does not really improve. This confirms our own testing with reordering
on several variants of the leanCoP 2.0 core prover (see Section 2.2). The effect of
reordering axioms (or clauses) and literals is limited when a complete search in
connection calculi is done. In this case the performance can even get worse. On
the other hand the incomplete variants of the leanCoP 2.0 core prover benefit
significantly from the randomized reordering technique.</p>
      <p>
        Further research includes the adaption of randoCoP to other (non-classical)
logics — such as intuitionistic logic [
        <xref ref-type="bibr" rid="ref12 ref14">12, 14</xref>
        ] or modal logic [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] — for which matrix
characterisations exist (see also [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ]). It is also worth investigating approaches
that randomize, e.g., the order of the conjecture clauses, or dynamically reorders
clauses and/or literals during the proof search. And finally we plan to (slightly)
extend the leanCoP 2.0 core prover so that a compact connection proof is
returned. A readable proof is then output by a separate prover component.
      </p>
      <p>The source code of randoCoP can be obtained at the leanCoP website at
http://www.leancop.de.
Acknowledgements. The authors would like to thank the referees for their
useful comments, which have helped to improve this paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>W.</given-names>
            <surname>Bibel</surname>
          </string-name>
          .
          <article-title>Matings in matrices</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>26</volume>
          :
          <fpage>844</fpage>
          -
          <lpage>852</lpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>W.</given-names>
            <surname>Bibel</surname>
          </string-name>
          .
          <source>Automated Theorem Proving. Vieweg, second edition</source>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>K.</given-names>
            <surname>Classen</surname>
          </string-name>
          .
          <article-title>Equinox, a new theorem prover for full first-order logic with equality</article-title>
          .
          <source>In Dagstuhl Seminar 05431 on Deduction and Applications</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>W.</given-names>
            <surname>Ertel</surname>
          </string-name>
          .
          <article-title>OR-parallel theorem proving with random competition</article-title>
          . In A. Voronkov, Ed.,
          <source>LPAR'92, LNAI 624</source>
          , pp.
          <fpage>226</fpage>
          -
          <lpage>237</lpage>
          . Springer,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Korovin</surname>
          </string-name>
          .
          <article-title>Implementing an instantiation-based theorem prover for first-order logic</article-title>
          . In C. Benzmueller,
          <string-name>
            <given-names>B.</given-names>
            <surname>Fischer</surname>
          </string-name>
          , G.
          <source>Sutcliffe IWIL-6</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>C.</given-names>
            <surname>Kreitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          .
          <article-title>Connection-based theorem proving in classical and nonclassical logics</article-title>
          .
          <source>Journal of Universal Computer Science</source>
          ,
          <volume>5</volume>
          :
          <fpage>88</fpage>
          -
          <lpage>112</lpage>
          , Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>R.</given-names>
            <surname>Letz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schumann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bayerl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Bibel</surname>
          </string-name>
          .
          <article-title>SETHEO: a high-performance theorem prover</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>8</volume>
          :
          <fpage>183</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>R.</given-names>
            <surname>Letz</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Stenz Model elimination and connection tableau procedures</article-title>
          .
          <source>Handbook of Automated Reasoning</source>
          , pp.
          <fpage>2015</fpage>
          -
          <lpage>2114</lpage>
          , Elsevier,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>D.</given-names>
            <surname>Loveland</surname>
          </string-name>
          .
          <article-title>Mechanical theorem proving by model elimination</article-title>
          .
          <source>JACM</source>
          ,
          <volume>15</volume>
          :
          <fpage>236</fpage>
          -
          <lpage>251</lpage>
          ,
          <year>1968</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. W.
          <source>McCune. Otter 3</source>
          .
          <article-title>0 reference manual and guide</article-title>
          .
          <source>Technical Report ANL94/6</source>
          , Argonne National Laboratory,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>W.</given-names>
            <surname>McCune</surname>
          </string-name>
          .
          <source>Release of Prover9. Mile High Conference on Quasigroups, Loops and Nonassociative Systems</source>
          , Denver, Colorado,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          .
          <article-title>Clausal connection-based theorem proving in intuitionistic first-order logic</article-title>
          .
          <source>TABLEAUX</source>
          <year>2005</year>
          , LNAI
          <volume>3702</volume>
          , pages
          <fpage>245</fpage>
          -
          <lpage>261</lpage>
          , Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          .
          <article-title>Restricting backtracking in connection calculi</article-title>
          .
          <source>Technical report, Institut fu¨r Informatik</source>
          , University of Potsdam,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. J.
          <source>Otten. leanCoP 2.0 and ileanCoP 1</source>
          .
          <article-title>2: high performance lean theorem proving in classical and intuitionistic logic</article-title>
          .
          <source>IJCAR</source>
          <year>2008</year>
          . LNCS, Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>J. Otten</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Bibel</surname>
          </string-name>
          . leanCoP:
          <article-title>lean connection-based theorem proving</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>36</volume>
          :
          <fpage>139</fpage>
          -
          <lpage>161</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>A.</given-names>
            <surname>Riazanov</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Voronkov.</surname>
          </string-name>
          <article-title>The design and implementation of Vampire</article-title>
          .
          <source>AI Communications</source>
          <volume>15</volume>
          (
          <issue>2-3</issue>
          ):
          <fpage>91</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulz. E -</surname>
          </string-name>
          <article-title>a brainiac theorem prover</article-title>
          .
          <source>AI Communications</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <fpage>111</fpage>
          -
          <lpage>126</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. G. Sutcliffe,
          <string-name>
            <given-names>C.</given-names>
            <surname>Suttner</surname>
          </string-name>
          .
          <source>The TPTP problem library - CNF release v1.2.1. Journal of Automated Reasoning</source>
          ,
          <volume>21</volume>
          :
          <fpage>177</fpage>
          -
          <lpage>203</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>M. Stickel</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Waldinger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lowry</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Pressburger</surname>
            ,
            <given-names>I. Underwood.</given-names>
          </string-name>
          <article-title>Deductive composition of astronomical software from subroutine libraries</article-title>
          . In A. Bundy, Ed.,
          <source>CADE-12, LNCS 814</source>
          , pp.
          <fpage>341</fpage>
          -
          <lpage>355</lpage>
          , Springer,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. J.
          <source>Urban. MPTP 0</source>
          .
          <article-title>2: design, implementation, and initial experiments</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>37</volume>
          :
          <fpage>21</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>A.</given-names>
            <surname>Waaler</surname>
          </string-name>
          .
          <article-title>Connections in nonclassical logics</article-title>
          .
          <source>Handbook of Automated Reasoning</source>
          , pp.
          <fpage>1487</fpage>
          -
          <lpage>1578</lpage>
          , Elsevier,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>L.</given-names>
            <surname>Wallen</surname>
          </string-name>
          .
          <source>Automated deduction in nonclassical logic</source>
          . MIT Press,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>C. Weidenbach</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Hillenbrand</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Rusev</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Topic</surname>
          </string-name>
          .
          <article-title>System description: SPASS version 3.0</article-title>
          . In F. Pfenning, Ed.,
          <source>CADE-21 , LNCS 4603</source>
          , pp.
          <fpage>514</fpage>
          -
          <lpage>520</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>