A Non-clausal Connection Calculus

Jens Otten

Institut für Informatik, University of Potsdam August-Bebel-Str. 89, 14482 Potsdam-Babelsberg, Germany

                      jeotten@cs.uni-potsdam.de

Abstract. A non-clausal connection calculus for classical first-order logic is presented that does not require the translation of input formulae into any clausal form. The definition of clauses is generalized, which may now also contain (sub-) matrices. Copying of appropriate (sub-)clauses in a dynamic way, i.e. during the actual proof search, is realized by a generalized extension rule. Thus, the calculus combines the advantage of a non-clausal proof search in tableau calculi with the more efficient goal-oriented proof search of clausal connection calculi. Soundness, completeness, and (relative) complexity results are presented as well as some optimization techniques.

1 Introduction

Connection calculi are a well-known basis to automate formal reasoning in classical first-order logic. Among these calculi are the connection method [3, 4], the connection tableau calculus [9] and the model elimination calculus [10]. The main idea of connection calculi is to connect two atomic formulae P and ¬P with the same predicate symbol but different polarity. The set {P, ¬P } is called a connection and corresponds to a closed branch in the tableau framework [6] or an axiom in the sequent calculus [5]. As the proof search is guided by connections it is more goal-oriented compared to the proof search in sequent calculi or (standard) analytic tableau calculi.

The clausal connection calculus works for first-order formulae in disjunctive normal form or clausal form. Formulae that are not in this form have to be translated into clausal form. The standard transformation translates a first-order formula F into clausal form by applying the distributivity laws. In the worst case the size of the resulting formula grows exponentially with respect to the size of the original formula F. This increases the search space significantly when searching for a proof of F in the connection calculus.

A structure-preserving translation into clausal form, e.g. [14], introduces definitions for subformulae. Tests show that even such an optimized translation introduces a significant overhead for the proof search [12] as additional formulae are introduced. Both clausal form translations modify the structure of the original formula, making it more difficult to translate a found proof back into a more human-oriented form, e.g. [5]. For some logics, e.g. intuitionistic logic, these translations do not preserve logical validity.

A non-clausal connection calculus that works directly on the structure of the original formula does not have these disadvantages. There already exist a few descriptions of non-clausal connection calculi [1, 4, 7, 8]. But the cores of these calculi do not add any copies of quantified subformulae to the original formulae, i.e. they are only complete for ground formulae. To deal with first-order logic, e.g., copies of subformulae need to be added iteratively [8]. But this introduces a large amount of redundancy as copies of subformulae that are not required for a proof are still used during the proof search. Implementations of this approach, e.g. [16], show a rather modest performance. For a more effective non-clausal proof search, clauses have to be added carefully and dynamically during the proof search, in a way similar to the approach used for copying clauses in clausal connection calculi. To this end, the existing clausal connection calculus has to be generalized and its rules have to be carefully extended.

The rest of the paper is structured as follows. In Section 2 the standard clausal connection calculus is presented. Section 3 introduces the main ideas of a non-clausal proof search before the actual non-clausal calculus is described in Section 4. Section 5 contains correctness, completeness and complexity results. Some optimizations and extensions are presented in Section 6, before Section 7 concludes with a short summary.

2 The Clausal Connection Calculus

The reader is assumed to be familiar with the language of classical first-order logic, see, e.g., [4]. In this paper the letters P, Q, R are used to denote predicate symbols, f to denote function symbols, a, b, c to denote constants and x to denote variables. Terms are denoted by t and are built from functions, constants and variables. Atomic formulae, denoted by A, are built from predicate symbols and terms. The connectives ¬, ∧, ∨, ⇒ denote negation, conjunction, disjunction and implication, respectively. A (first-order) formula, denoted by F, G, H, consists of atomic formulae, the connectives and the existential and universal quantifiers, denoted by ∀ and ∃, respectively. A literal, denoted by L, has the form A or ¬A. The complement \overline{L} of a literal L is A if L is of the form ¬A, and ¬A otherwise. A clause, denoted by C, is of the form L_{1} ∧ … ∧ L_{n} where L_{i} is a literal. A formula in disjunctive normal form or clausal form has the form ∃x_{1} … ∃x_{n}(C_{1} ∨…∨C_{n}) where each C_{i} is a clause. For classical logic every formula F can be translated into a validity-preserving formula F′ in clausal form. A clause can be written as a set of literals {L_{1}, …, L_{n}}. A formula in clausal form can be written as a set of clauses {C_{1}, …, C_{n}} and is called a matrix, denoted by M. In the graphical representation of a matrix, its clauses are arranged horizontally, while the literals of each clause are arranged vertically. A polarity is used to represent negation in a matrix, i.e. literals of the form A and ¬A are represented by A^{0} and A^{1}, respectively.

Example 1 (Matrix in Clausal Form). Let F_{1} be the formula (∀x( (¬P (x)∨Q(f(x))) ⇒ (Q(x)∧(Q(a) ⇒ R(b))∧¬R(x)) )∧Q(f(b))) ⇒ P (a) . The matrix M_{1} of the formula F_{1} is

{ {P^{0}(a)}, {P^{1}(x), Q^{1}(x)}, {P^{1}(x), Q^{0}(a), R^{1}(b)}, {P^{1}(x), R^{0}(x)}, {Q^{0}(f(x)), Q^{1}(x)}, {Q^{0}(f(x)), Q^{0}(a), R^{1}(b)}, {Q^{0}(f(x)), R^{0}(x)}, {Q^{1}(f(b))} } . The graphical representation of M_{1} (with some variables renamed) is shown in Figure 1.

A connection is a set of the form {A^{0}, A^{1}}. A path through M = {C_{1}, …, C_{n}} is a set of literals that contains one literal from each clause C_{i} ∈ M, i.e. ∪_{i=1}^{n}{L′_{i}} with L′_{i} ∈ C_{i}. A term substitution σ is a mapping from the set of variables to the set of terms. In σ(L) all variables of the literal L are substituted according to their mapping in σ. A[x\t] denotes the formula in which all free occurrences of x in A are replaced by t.

[[ P^{0}(a) ] [ P^{1}(x′) ; Q^{1}(x′) ] [P^{1}(x̄) ; Q^{0}(a) ; R^{1}(b)] [\begin{matrix}P^{1}(x) \\ R^{0}(x) \end{matrix}] [\begin{matrix}Q^{0}(f(x)) \\ Q^{1}(x) \end{matrix}] [\begin{matrix}Q^{0}(f(x)) \\ Q^{0}(a) \\ R^{1}(b) \end{matrix}] [ Q^{0}(f(x̂)) ; R^{0}(x̂) ]^{[Q^{1}(f(b))]}]

1.  2.  3. 4.  5.  6.

Fig. 1. Proof search in the connection calculus using the graphical matrix representation

Example 2 (Connection, Path, Term Substitution). Consider the matrix M_{1} of Example 1.{P^{0}(a), P^{1}(x)} and {R^{0}(x), R^{1}(b)} are connections, {P^{0}(a), P^{1}(x), Q^{0}(f(x)), R^{0}(x), Q^{1}(f(b))} is a path through M_{1}, and σ(x) = a is a term substitution.

The matrix characterization [4] of validity is the underlying basis of the connection calculus and used for the proof in Section 5.1. The notion of multiplicity is used to encode the number of clause copies used in a connection proof. It is a function μ: C → IN, where C is the set of clauses in M, that assigns each clause in M a natural number specifying how many copies of this clause are considered in a proof. In the copy of a clause C all variables in C are replaced by new variables. M^{μ} is the matrix that includes these clause copies. A connection \{L_{1}, L_{2}\} with σ(L_{1}) = σ(\overline{L_{2}}) is called σ-complementary.

Theorem 1 (Matrix Characterization). A matrix M is classically valid iff there exist a multiplicity μ, a term substitution σ and a set of connections S, such that every path through M^{μ} contains a σ-complementary connection {L_{1}, L_{2}} ∈ S.

See [4] for a proof of Theorem 1. The connection calculus uses a connection-driven search strategy in order to calculate an appropriate set of connections S. Proof search in the connection calculus starts by selecting a start clause. Afterwards connections are successively identified in order to make sure that all paths through the matrix contain a σ-complementary connection for some term substitution σ. This process is guided by an active path, a subset of a path through M.

Example 3 (Proof Search in the Clausal Connection Calculus). Consider the matrix M_{1} of Example 1. The six steps required for a proof in the connection calculus for M_{1}, using the graphical matrix representation, are depicted in Figure 1. The literals of each connection are connected with a line. The literals of the active path are boxed. In the start step the first clause {P^{0}(a)} is selected as start clause (step 1). While the extension step connects to a literal in a copy of a clause (steps 2, 3, 5 and 6), the reduction step connects to a literal of the active path (step 4). x′, x̄ and x̂ are fresh variables. With the term substitution σ(x′) = a, σ(x̄) = a and σ(x̂) = b all paths through the matrix M_{1} contain a σcomplementary connection from the set {{P^{0}(a), P^{1}(x′)}, {Q^{1}(x′), Q^{0}(a)}, {P^{1}(x̄), P^{0}(a)}, {R^{1}(b), R^{0}(x̂)}, {Q^{0}(f(x̂)), Q^{1}(f(b))}}. Therefore, M_{1} and F_{1} are valid.

The proof search is now specified more precisely by a formal calculus [4, 12, 13].

Definition 1 (Clausal Connection Calculus). The axiom and the rules of the clausal connection calculus are given in Figure 2. The words of the calculus are tuples of the form “C, M, P ath”, where M is a matrix, C and P ath are sets of literals or ε. C is called the subgoal clause and P ath is called the active path. C_{1} and C_{2} are clauses, σ is a term substitution, and {L_{1}, L_{2}} is a σ-complementary connection. The substitution σ is global (or rigid), i.e. it is applied to the whole derivation.

Axiom (A) \overline{\{\}, M, P ath}
Start (S) \frac{C_{2}, M, \{\}}{ε, M, ε} and C_{2} is copy of C_{1}∈M

Reduction (R) \frac{C, M, P ath∪\{L_{2}\}}{C∪\{L_{1}\}, M, P ath∪\{L_{2}\}} with σ(L_{1})=σ(\overline{L_{2}})

Extension (E) \frac{C_{2}\\{L_{2}\}, M, P ath∪\{L_{1}\} C, M, P ath}{C∪\{L_{1}\}, M, P ath} and C_{2} is a copy of C_{1}∈M and L_{2}∈C_{2}

with σ(L_{1})=σ(\overline{L_{2}})

Fig. 2. The clausal connection calculus

An application of the start, reduction or extension rule is called a start, reduction, or extension step, respectively. A derivation for C, M, P ath with the term substitution σ, in which all leaves are axioms, is called a clausal connection proof for C, M, P ath. A clausal connection proof for the matrix M is a clausal connection proof for ε, M, ε.

Theorem 2 (Correctness and Completeness). A matrix M is valid in classical logic iff there is a clausal connection proof for M.

The proof is based on the matrix characterization and can be found in [4]. Proof search in the clausal connection calculus is carried out by applying the rules of the calculus in an analytic way, i.e. from bottom to top. During the proof search backtracking might be required, i.e. alternative rules need to be considered if the chosen rule does not lead to a proof. Alternative applications of rules occur whenever more than one rule or more than one instance of a rule can be applied, e.g. when choosing the clause C_{1} in the start and extension rule or the literal L_{2} in the reduction and extension rule. No backtracking is required when choosing the literal L_{1} in the reduction or extension rule as all literals in C are considered in subsequent proof steps anyway. The term substitution σ is calculated, step by step, by one of the well-known algorithms for term unification, e.g. [15], whenever a reduction or extension rule is applied.

Example 4 (Clausal Connection Calculus). Consider the matrix M_{1} of Example 1. A derivation for M_{1} in the clausal connection calculus with σ(x′) = a, σ(x̄) = a and σ(x̂) = b is given in Figure 3 (some parentheses are omitted). Since all leaves are axioms it represents a clausal connection proof and therefore M_{1} and F_{1} are valid.

\begin{matrix}\begin{matrix}\{\}, M_{1}, \{P^{0}a, Q^{1}x′, R^{1}b, Q^{0}fx̂\} A & \{\},M_{1},\{P^{0}a, Q^{1}x′, R^{1}b\} A \\ \{Q^{0}fx̂\}, M_{1}, \{P^{0}a, Q^{1}x′, R^{1}b\} \end{matrix} ; E & \{\},M_{1},\{P^{0}a, Q^{1}x′\} A \\ \{R^{1}b\},M_{1},\{P^{0}a, Q^{1}x′\} \end{matrix} ; E ; \{P^{1}x̄, R^{1}b\},M_{1},\{P^{0}a, Q^{1}x′\} ; R ; \{\},M_{1},\{P^{0}a\} A \{Q^{1}x′\}, M_{1}, \{P^{0}a\} E {}, M_{1}, {} A

{P^{0}a}, M_{1}, {} E

ε, M_{1}, ε S

Fig. 3. A proof in the clausal connection calculus

type F^{p}  M(F^{p})
atomic A^{0}  {{A^{0}}}
A^{1}  {{A^{1}}}
α (¬G)^{0} M(G^{1})
(¬G)^{1}  M(G^{0})
(G ∧ H)^{1} {{M(G^{1})}, {M(H^{1})}}
(G ∨ H)^{0} {{M(G^{0})}, {M(H^{0})}}
(G ⇒ H)^{0} {{M(G^{1})}, {M(H^{0})}}

type F^{p} M(F^{p})_{β (G ∧ H)^{0} {{M(G^{0}), M(H^{0})}}}_{(G ∨ H)^{1} {{M(G^{1}), M(H^{1})}}}_{(G ⇒ H)^{1} {{M(G^{0}), M(H^{1})}}}_{γ (∀xG)^{1} M(G[x\x^{∗}]^{1})}_{(∃xG)^{0} M(G[x\x^{∗}]^{0})}_{δ (∀xG)^{0} M(G[x\t^{∗}]^{0})}_{(∃xG)^{1} M(G[x\t^{∗}]^{1})}

Table 1. Matrix of a formula F^{p}

3 Non-Clausal Proof Search

In this section the definitions of matrices and paths are generalized and the main ideas of the non-clausal connection calculus are illustrated with an introductory example.

3.1 Non-Clausal Matrices

First of all, the definition of matrices is generalized to arbitrary first-order formulae.

Definition 2 (Matrix). A (non-clausal) matrix is a set of clauses, in which a clause is a set of literals and matrices. Let F be a formula and p be a polarity. The matrix of F^{p}, denoted by M(F^{p}), is defined inductively according to Table 1. The matrix of F is the matrix M(F^{0}). x^{∗} is a new variable, t^{∗} is the Skolem term f^{∗}(x_{1}, …, x_{n}) in which f^{∗} is a new function symbol and x_{1}, …, x_{n} are the free variables in ∀xG or ∃xG.

In the graphical representation of a matrix, its clauses are arranged horizontally, while the literals and (sub-)matrices of each clause are arranged vertically. A matrix M can be simplified by replacing matrices and clauses of the form {{X_{1}, ..., X_{n}}} within M by X_{1}, ..., X_{n}. Whereas the definition of paths needs to be generalized to non-clausal matrices, all other concepts used for clausal matrices, e.g. the definitions of connections and term substitutions and the matrix characterization, remain unchanged.

Definition 3 (Path). A path through a matrix M (or a clause C) is inductively defined as follows. The (only) path through a literal L is {L}. If p_{1}, …, p_{n} are paths through the clauses C_{1}, …, C_{n}, respectively, then p_{1} ∪ … ∪ p_{n} is a path through the matrix M = {C_{1}, …, C_{n}}. If p_{1}, …, p_{n} are paths through the matrices/literals M_{1}, …, M_{n}, respectively, then p_{1}, …, p_{n} are also paths through the clause C = {M_{1}, …, M_{n}}.

Example 5 (Matrix, Path). Consider the formula F_{1} of Example 1. The simplified (nonclausal) matrix M_{1}^{∗} of F_{1} is {{P^{0}(a)}, {{{P^{1}(x)}, {Q^{0}(f(x))}}, {{Q^{1}(x)}, {Q^{0}(a), R^{1}(b)}, {R^{0}(x)}}}, {Q^{1}(f(b))}}. Its graphical representation is shown in Figure 4. {P^{0}(a), Q^{1}(x), Q^{0}(a), R^{0}(x), Q^{1}(f(b))} is one of the three paths through M_{1}^{∗}.

3.2 An Introductory Example

In order to carry out proof search for non-clausal matrices the rules of the clausal connection calculus need to be adapted. The following example illustrates the main ideas.

[[P^{0}(a)][ [ [P^{1}(x)][Q^{0}(f(x))] ] ; \begin{matrix}[ \\ [Q^{1}(x)] & [\begin{matrix}Q^{0}(a) \\ R^{1}(b) \end{matrix}] & [R^{0}(x)] \\ ] \end{matrix}][Q^{1}(f(b))]]

Fig. 4. Graphical representation of M_{1}^{∗}

Example 6 (Proof Search Using Non-clausal Matrices). Consider the first-order formula F_{1} of Example 1 and its graphical matrix representation in Figure 4. The nonclausal connection proof is depicted in Figure 5. Again, the proof search is guided by an active path, whose literals are boxed. Literals of connections are connected with a line. In the first step the start clause {P^{0}(a)} is selected. The second proof step is an extension step and connects P^{0}(a) with P^{1}(x′) applying the substitution σ(x′) = a. Variables of the clause used for the extension step are always renamed. Next, all remaining paths through the second matrix of the second clause have to be investigated. To this end, the next extension step connects Q^{1}(x′) with Q^{0}(a) of the clause {Q^{0}(a), R^{1}(b)}. Now, all paths containing the literals P^{0}(a), Q^{1}(x′), and R^{1}(b) still need to be investigated. The fourth proof step connects R^{1}(b) with R^{0}(x̂) contained in a copy of the second clause, as a connection to R^{0}(x′) with σ(x′) = a is not possible. The clauses in the copied clause occurring next to R^{0}(x̂), i.e. {Q^{1}(x̂)} and {Q^{0}(a), R^{1}(b)}, are deleted, as all paths through these two clauses contain the σ-complementary connection {R^{1}(b), R^{0}(x̂)} with σ(x̂) = b as well. The fifth and last (extension) step connects Q^{0}(f(x̂)) with Q^{1}(f(b)). This concludes the proof and every path through the shown matrix contains a σ-complementary connection. Hence, F_{1} is valid. The proof uses only four connections compared to five connections required in the clausal connection proof.

The study of the previous example suggests the following. The axiom as well as the start and reduction rules are the same for the clausal and the non-clausal calculus. The extension rule connects a literal L_{1} of the subgoal clause to a literal L_{2} occurring in a copy C_{2} of an extension clause C_{1}. {L_{1}, L_{2}} need to be σ-complementary for some σ and L_{1} is added to the active path. Either C_{1} contains a literal of the active path (fourth step in Example 6); or there is a path that contains the active path and L_{2}, and if C_{1} has a parent clause, it contains a literal of the active path (third step). All literals of the new subgoal clause of C_{2} that occur besides L_{2}, i.e. in a common path with L_{2}, are deleted from the new subgoal clause (fourth step). Finally, if a subgoal clause contains a matrix M, the proof search continues with a clause C ∈ M (third step). Alternative clauses C′ ∈ M have to be considered on backtracking.

[^{[P^{0}(a)]} [ [ [P^{1}(x′)][Q^{0}(f(x′))] ] ; \begin{matrix}[ \\ [ Q^{1}(x′) ] & [ Q^{0}(a) ; R^{1}(b) ] & [R^{0}(x′)] \\ ] \end{matrix}] [\begin{matrix}[ & [P^{1}(x̂)][ Q^{0}(f(x̂)) ] & ] \\ [ & [R^{0}(x̂)] & ] \end{matrix}] [Q^{1}(f(b))]]

1.  2.  3.  4.  5.

Fig. 5. Proof search in the non-clausal connection calculus using the graphical representation

4 The Non-Clausal Connection Calculus

This section introduces basic concepts and the formal non-clausal connection calculus.

4.1 Basic Concepts

The term α-related is used to express the fact that a clause occurs besides a literal in a matrix. Furthermore, the definitions of free variables and clause copies have to be generalized to cover non-clausal matrices.

Definition 4 (α-Related Clause). Let C be a clause in a matrix M and L be a literal in M. C is α-related to L, iff M contains (or is equal to) a matrix {C_{1}, …, C_{n}} such that C = C_{i} or C_{i} contains C, and C_{j} contains L for some 1 ≤ i, j ≤ n with i ≠ j. C is α-related to a set of literals L, iff C is α-related to all literals L ∈ L.

Definition 5 (Free Variables). Let M be a matrix and C be a clause in M. The free variables of C are all variables that do only occur in C and (possibly) in literals L such that C is α-related to L.

In the non-clausal calculus copies of clauses could be simply added to the matrix. As this would widen the search space, clauses are replaced by their copies instead.

Definition 6 (Copy of Clause). Let M be a matrix and C be a clause in M. In the copy of the clause C, all free variables in C are replaced by new variables. M[C_{1}\C_{2}] denotes the matrix M, in which the clause C_{1} is replaced by the clause C_{2}.

As explained in Section 3.2 an appropriate clause C_{1} has to be used when the extension rule is applied. Either C_{1} has to contain an element of the active path, then it was already used before, or C_{1} needs to be α-related to all literals of the active path and it has to contain all subgoals that still need to be investigated. This is the case if C_{1} has no parent clause or its parent clause contains a literal of the active path. The parent clause of a clause C is the smallest clause that contains C.

Definition 7 (Parent Clause). Let M be a matrix and C be a clause in M. The clause C′= {M_{1}, …, M_{n}} in M is called the parent clause of C iff C ∈ M_{i} for some 1 ≤ i ≤ n.

Definition 8 (Extension Clause). Let M be a matrix and P ath be a set of literals. Then the clause C in M is an extension clause of M with respect to P ath, iff either C contains a literal of P ath, or C is α-related to all literals of P ath occurring in M and if C has a parent clause, it contains a literal of P ath.

In the extension rule of the clausal connection calculus (see Section 2) the new subgoal clause is C_{2} \ {L_{2}}. In the non-clausal connection calculus the extension clause C_{2} might contain clauses that are α-related to L_{2} and do not need to be considered for the new subgoal clause. Hence, these clauses can be deleted from the subgoal clause. The resulting clause is called the β-clause of C_{2} with respect to L_{2}. Definition 9 (β-Clause). Let C = {M_{1}, …, M_{n}} be a clause and L be a literal in C. The β-clause of C with respect to L, denoted by β-clause_{L}(C), is inductively defined:

β-clause_{L}(C) := \{ \begin{matrix}C \ \{L\} & ifL ∈ C, \\ \{M_{1}, …, M_{i−1}, \{C^{β}\}, M_{i+1}, …, M_{n}\} & otherwise, \end{matrix}

where C′ ∈ M_{i} contains L and C^{β} := β-clause_{L}(C′).

4.2 The Calculus

The non-clausal connection calculus has the same axiom, start rule, and reduction rule as the clausal connection calculus. The extension rule is slightly modified and a decomposition rule is added that splits subgoal clauses into their subclauses.

Definition 10 (Non-Clausal Connection Calculus). The axiom and the rules of the non-clausal connection calculus are given in Figure 6. The words of the calculus are tuples “C, M, P ath”, where M is a matrix, C is a clause or ε and P ath is a set of literals or ε. C is a called the subgoal clause. C_{1}, C_{2}, and C_{3} are clauses, σ is a term substitution, and {L_{1}, L_{2}} is a σ-complementary connection. The substitution σ is rigid, i.e. it is applied to the whole derivation.

Axiom (A) \overline{\{\}, M, P ath}
Start (S) \frac{C_{2}, M, \{\}}{ε, M, ε} and C_{2} is copy of C_{1}∈M

Reduction (R) \frac{C, M, P ath∪\{L_{2}\}}{C∪\{L_{1}\}, M, P ath∪\{L_{2}\}} with σ(L_{1})=σ(\overline{L_{2}})

Extension (E)  \frac{C_{3}, M[C_{1}\C_{2}], P ath∪\{L_{1}\} C, M, P ath}{C∪\{L_{1}\}, M, P ath}

and C_{3}:=β-clause_{L_{2}}(C_{2}), C_{2} is copy of C_{1}, C_{1} is an extension clause

of M wrt. P ath ∪ \{L_{1}\}, C_{2} contains L_{2} with σ(L_{1}) = σ(\overline{L_{2}})
Decomposition (D) \frac{C ∪ C_{1}, M, P ath}{C∪\{M_{1}\}, M, P ath} with C_{1}∈M_{1}

Fig. 6. The non-clausal connection calculus

An application of the start, reduction, extension or decomposition rule is called start, reduction, extension, or decomposition step, respectively. Observe that the nonclausal calculus reduces to the clausal calculus for matrices that are in clausal form.

Definition 11 (Non-Clausal Connection Proof). Let M be a matrix, C be a clause, and P ath be a set of literals. A derivation for C, M, P ath with the term substitution σ in the non-clausal connection calculus, in which all leaves are axioms, is called a (non-clausal) connection proof for C, M, P ath. A (non-clausal) connection proof for M is a non-clausal connection proof for ε, M, ε.

Proof search in the non-clausal connection calculus is carried out in the same way as in the clausal connection calculus (see Section 2), i.e. the rules of the calculus are applied in an analytic way. Additional backtracking might be required when choosing the clause C_{1} in the decomposition rule. No backtracking is required when choosing the matrix M_{1} in the decomposition rule as all matrices (and literals) in C are considered in subsequent proof steps anyway. The term substitution σ is calculated by one of the well-known algorithms for term unification, e.g. [15].

\begin{matrix}\{\}, M̂, \{P^{0}a, Q^{1}x′, R^{1}b, Q^{0}fx̂\} A & \{\}, M̂, \{P^{0}a, Q^{1}x′, R^{1}b\} A \\ \{Q^{0}fx̂\}, M̂, \{P^{0}a, Q^{1}x′, R^{1}b\} \end{matrix} ; E ; \{\{\{P^{1}x̂\}, \{Q^{0}fx̂\}\}\}, M̂, \{P^{0}a, Q^{1}x′, R^{1}b\} ; D ; \{\}, M′, \{P^{0}a, Q^{1}x′\} A ; \{R^{1}b\}, M′, \{P^{0}a, Q^{1}x′\} ; E \{\}, M′, \{P^{0}a\} A \{Q^{1}x′\}, M′, \{P^{0}a\} E

{{{Q^{1}x′}, {Q^{0}a, R^{1}b}, {R^{0}x′}}}, M′, {P^{0}a} D {}, M_{1}^{∗}, {} A

{P^{0}a}, M_{1}^{∗}, {} E

ε, M_{1}^{∗}, ε S

Fig. 7. A proof in the non-clausal connection calculus

Example 7 (Non-Clausal Connection Calculus). Consider the matrix M_{1}^{∗} of Example 5. A derivation for M_{1}^{∗} in the non-clausal connection calculus with σ(x′) = a, σ(x̂) = b, M′ = { {P^{0}(a)}, {{{P^{1}(x′)}, {Q^{0}(f(x′))}}, {{Q^{1}(x′)}, {Q^{0}(a), R^{1}(b)}, {R^{0}(x′)}}}, {Q^{1}(f(b))} } and M̂={ {P^{0}(a)}, {{{P^{1}(x̂)}, {Q^{0}(f(x̂))}}, {{Q^{1}(x̂)}, {Q^{0}(a), R^{1}(b)}, {R^{0}(x̂)}}}, {Q^{1}(f(b))} } is given in Figure 7. Since all leaves are axioms it represents a (non-clausal) connection proof and, therefore, M_{1}^{∗} and F_{1} are valid. This proof corresponds to the graphical proof representation given in Figure 5.

5 Correctness, Completeness and Complexity

In this section it is shown that the non-clausal connection calculus is sound and complete. Furthermore, its complexity is compared to the clausal connection calculus.

5.1 Correctness

Definition 12 (Superset Path through Clause). Let p be a set of literals. p is a superset path through C, denoted by C⊑p, iff there is path p′ through {C} with p′ ⊆ p.

Lemma 1 (Correctness of the Non-Start Rules). If there is a connection proof for C, M, P ath with the term substitution σ, then there is a multiplicity μ such that every path p through M^{μ} with P ath ⊆ p and C⊑p contains a σ-complementary connection.

Proof. The proof is by structural induction on the construction of connection proofs. Induction hypothesis (IH): If P roof is a connection proof for C, M, P ath with σ, then there is a μ such that every path p through M^{μ} with P ath ⊆ p and C⊑p contains a σ-complementary connection.

1. Axiom: Let \overline{\{\}, M, P ath} be a connection proof. Let μ ≡ 1 and σ(x) = x for all x. Then {}⊑p holds for no path p through M^{μ}. Thus, IH follows.

2. Reduction: Let \frac{P roof}{C, M, P ath∪\{L_{2}\}} be a connection proof for C, M, P ath∪\{L_{2}\} for some σ. According to IH there is a μ such that every p through M^{μ} with P ath ∪ {L_{2}} ⊆ p and C⊑p contains a σ-complementary connection. Then the derivation {P roof \atop C, M, P ath∪\{L_{2}\}} ; C∪\{L_{1}\}, M, P ath∪\{L_{2}\} ^{R} with τ(σ(L_{1})) = τ(σ(\overline{L_{2}})) for some term substitution τ is a connection proof for C∪\{L_{1}\}, M, P ath∪{L_{2}}. Let μ′:= μ and σ′:= τ ∘ σ. Every path p′ through M^{μ′} with P ath ∪ {L_{2}} ⊆ p′ and C ∪ \{L_{1}\}⊑p′ contains a σ′-complementary connection as well, since σ′(L_{1}) = σ′(\overline{L_{2}}).

3. Extension: Let \frac{P roof_{1}}{C_{3}, M[C_{1}\C_{2}], P ath∪\{L_{1}\}} and \frac{P roof_{2}}{C, M, P ath} be connection proofs for C_{3}, M[C_{1}\C_{2}], P ath∪{L_{1}} and C, M, P ath, respectively, for some σ, with C_{3}:=β-clause_{L_{2}}(C_{2}), C_{2} is a copy of C_{1}, C_{1} is an extension clause of M wrt. P ath ∪ {L_{1}}, and C_{2} contains the literal L_{2} with τ(σ(L_{1})) = τ(σ(\overline{L_{2}})) for some substitution τ. According to IH there is a μ_{1} such that every path p through (M[C_{1}\C2])^{μ_{1}} with P ath ∪ {L_{1}} ⊆ p and C_{3}⊑p contains a σcomplementary connection, and there is a μ_{2} such that every p through M^{μ_{2}} with P ath ⊆ p and

C⊑p contains a σ-complementary connection. Then \begin{matrix}{P roof_{1} \atop C_{3}, M[C_{1}\C_{2}], P ath∪\{L_{1}\}} & {P roof_{2} \atop C, M, P ath} \\ C∪\{L_{1}\}, M, P ath \end{matrix} ^{E}

is a connection proof for C∪{L_{1}}, M, P ath. This last extension step is illustrated below. It has to be shown that there is a multiplicity μ′ and a substitution σ′ such that every path p′ through M^{μ′} with P ath ⊆ p′ and C ∪ {L_{1}}⊑p′ contains a σ′-complementary connection. Let M′ be the matrix M in which the (sub-)matrix {…, C_{1}, …} that contains C_{1} is replaced by the matrix {…, C_{1}, C_{2}, …}, i.e. the clause C_{2} is added to M as shown below.

[_{…} [ L_{1} ; ⋮ ; C ; ⋮ ] _{…} [ [^{…}\underbrace{[ ⋮ ; [ . . . . . . . . . ] ; ⋮ ]}_{C_{1}} \underbrace{\overbrace{[ [_{…} L_{2} _{…} ]_{⋮}^{⋮} ]}^{C_{3}}}_{C_{2}}^{…} ]^{:} ] _{…} ]

According to Def. 8 the following cases for the extension clause C_{1} need to be considered:

1. If the extension clause C_{1} contains a literal of P ath, then every path p′ through M′ with P ath ∪ {L_{1}} ⊆ p′ is a superset path through C_{2} as well, i.e. C_{2}⊑p′.

2. Otherwise, C_{1} is α-related to all literals in P ath ∪ {L_{1}} occurring in M′.

(a) If C_{1} has no parent clause, then for every p′ through M′ C_{1}⊑p′ holds. Then for every p′ through M′ with P ath ∪ {L_{1}} ⊆ p′ it is C_{1}⊑p′ and hence C_{2}⊑p′.

(b) Otherwise, the parent clause of C_{1} contains an element of P ath ∪ {L_{1}}. As C_{1} is αrelated to P ath∪{L_{1}}, there is a Ĉ containing a literal of P ath∪{L_{1}} with C_{1}, Ĉ ∈M̂. Therefore, for every p′ through M′ with P ath ∪ {L_{1}} ⊆ p′ it is C_{1}⊑p′ and thus C_{2}⊑p′.

C_{3} is the β-clause of C_{2} with respect to L_{2}, i.e. L_{2} and all clauses that are α-related to L_{2} are deleted from C_{2}. According to Def. 9 the only element deleted from a clause is the literal L_{2}. Therefore, for all p′ through M′ with P ath ∪ {L_{1}} ⊆ p′ it is C_{3}⊑p′ or {L_{2}}⊑p′. The same holds if copies of clauses are added to M′. Let μ′ be the multiplicity where all copies according to μ_{1} and μ_{2} as well as the clause copy C_{2} are considered. Let σ′:= τ ∘ σ. Then C_{3}⊑p′ or L_{2} ∈ p′ holds for every p′ through M^{μ′} with P ath ∪ {L_{1}} ⊆ p′. As there is a proof for C_{3}, M[C_{1}\C_{2}], P ath ∪ {L_{1}} with σ, every p through (M[C_{1}\C_{2}])^{μ_{1}}, and hence through M^{μ′}, with P ath ∪ {L_{1}} ⊆ p and C_{3}⊑p contains a σ-complementary, and hence a σ′- complementary connection. Furthermore, every p′ with P ath ∪ {L_{1}} ⊆ p′ that includes L_{2} contains a σ′-complementary connection as σ′(L_{1}) = σ′(\overline{L_{2}}). Therefore, every p′ through M^{μ′} with P ath ∪ {L_{1}} ⊆ p′ contains a σ′-complementary connection. Then every p′ through M^{μ′}, with P ath ⊆ p′ and {L_{1}}⊑p′ contains a σ′-complementary connection. As there is a proof for C, M, P ath with σ, every p through M^{μ_{2}}, and thus through M^{μ′}, with P ath ⊆ p and C⊑p contains a σ-complementary, and hence a σ′-complementary, connection. Then every p′ through M^{μ′}, with P ath ⊆ p′ and C ∪ {L_{1}}⊑p′ contains a σ′-complementary connection.

4. Decomposition: Let \frac{P roof}{C ∪ C_{1}, M, P ath} be a connection proof for C ∪ C_{1}, M, P ath for some σ. According to IH there is a μ such that every p through M^{μ} with P ath ⊆ p and C ∪ C_{1}⊑p contains a σ-complementary connection. Then {P roof \atop C ∪ C_{1}, M, P ath} ; C∪\{M_{1}\}, M, P ath ^{D} with C_{1} ∈ M_{1} is a con-

nection proof for C∪{M_{1}}, M, P ath. Let μ′:= μ and σ′:= σ. Every p′ through M^{μ′} with P ath ⊆ p′ and C ∪ {M_{1}}⊑p′ contains a σ′-complementary connection as well, since C_{1} ∈ M_{1} and thus for all p′ the following holds: if C ∪ {M_{1}}⊑p′ then C ∪ C_{1}⊑p′. ⊓ ⊔

Theorem 3 (Correctness of the Non-Clausal Connection Calculus). A formula F is valid in classical logic, if there is a non-clausal connection proof for its matrix M.

Proof. Let M be the matrix of F. If there is a non-clausal connection proof for ε, M, ε,

it has the form {: \atop C_{2}, M, \{\}} ; ε, M, ε ^{S} in which the clause C_{2} is a copy of C_{1} ∈ M. There has to

be a proof for C_{2}, M, {} for some σ. According to Lemma 1 there is a μ such that every path p through M^{μ} with {} ⊆ p and C_{2}⊑p contains a σ-complementary connection. As {} ⊆ p and C_{2}⊑p hold for all p through M^{μ}, every path through M^{μ} contains a σ-complementary connection. According to Theorem 1 the formula F is valid. ⊓ ⊔

5.2 Completeness

Definition 13 (Vertical Path Through Clause). Let X be a matrix, clause, or literal. A vertical path p through X, denoted by p∥X, is a set of literals of X and inductively defined as follows: {L}∥L for literal L; p∥M for matrix M where p∥C for some C ∈ M; p∥C for clause C ≠ {} where p = ⋃_{M_{i}∈C} p_{i} and p_{i}∥M_{i}; {}∥C for clause C = {}.

Lemma 2 (Clauses and Vertical Paths). Let M be the (non-clausal) matrix of a firstorder formula F and M′ be the matrix of the standard translation of F into clausal form (see Example 1). Then for every clause C′ ∈ M′ there is an “original” clause C ∈ M with C′∥C. If there is a connection proof for C′, M, P ath, then there is also a connection proof for C, M, P ath. This also holds if the clauses D′:= C′ \ {L} and D:= β-clause_{L}(C) are used, for some literal L, instead of C′ and C, respectively.

Proof. The existence of a clause C ∈ M for every C′ ∈ M′ with C′∥C follows from Def. 2 and Def. 13. C, M, P ath can be derived from C′, M, P ath by several decomposition steps. In D the literal L and all clauses that are α-related to L, i.e. that do not contain literals of D′, are deleted from C. Therefore, it is D′∥D and D, M, P ath can be derived from D′, M, P ath as well. ⊓ ⊔

Lemma 3 (Completeness of the Non-Start Rules). Let M be the matrix of a firstorder formula F and M′ be the matrix of the standard translation of F into clausal form. If there is a clausal connection proof for C, M′, P ath with the term substitution σ, then there exists a non-clausal connection proof for C, M, P ath with σ.

Proof. The idea is to translate a clausal connection proof for M′ into a non-clausal connection proof for M. The proof is by structural induction on the construction of a clausal connection proof. Induction hypothesis: If there is a clausal connection proof for C, M′, P ath with the term substitution σ, then there exists a non-clausal connection proof for C, M, P ath with the substitution σ. For the induction start the (only) axiom of the calculus is considered. For the induction step reduction and extension rules are considered. The axiom and reduction rule are essentially identical for the clausal and non-clausal calculus. For the extension rule Lemma 2 has to be applied. The details of the (straightforward) proof are left to the interested reader. ⊓ ⊔

Theorem 4 (Completeness of the Non-Clausal Connection Calculus). If a formula F is valid in classical logic, there is a non-clausal connection proof for its matrix M.

Proof. Let F be a valid formula, M be the non-clausal matrix of F and M′ its matrix in clausal form. According to Theorem 2 there exists a clausal connection proof for M′ and for ε, M′, ε. Let C′_{2}, M′, ε be the premise of the start step in which C′_{2} is a copy of C′_{1} ∈ M′. According to Lemma 3 there is a non-clausal proof for C′_{2}, M, ε. Let C_{1} be the original clause of C′_{1} in M. According to Lemma 2 there is a non-clausal proof for C_{2}, M, ε where C_{2} is a copy of C_{1}. Thus, there is a proof for ε, M, ε and for M. ⊓ ⊔

5.3 Complexity

Definition 14 (Size of Connection Proof). The size of a (clausal or non-clausal) connection proof is the number of proof steps in the connection proof.

Theorem 5 (Linear Simulation of Clausal Calculus). Let M be the matrix of a formula F and M′ be the matrix of the standard translation of F into clausal form. Furthermore, let n be the size of a clausal connection proof for M′ and m be the size of its largest subgoal clause. Then there is a non-clausal proof for M with size O(m · n).

Proof. The same technique used for the proof of Lemma 3 can be used to translate a clausal proof for M′ into a non-clausal proof for M. Reduction steps can be directly translated without any modifications. Every start or extension step is translated into one start or extension step and a number of decomposition steps in the non-clausal proof, respectively. The number of decomposition steps is limited by twice the size of the subgoal clause in the clausal proof. ⊓ ⊔

Theorem 6 (No Polynomial Simulation of Non-Clausal Calculus). Let M be the matrix of a formula F and M′ be the matrix of the standard translation of F into clausal form. There is a class of formulae for which there is no clausal proof for M′ with size O(n^{k}) for a fixed k ∈ IN, where n is the size of a non-clausal proof for M.

Proof. Consider the (valid) formula class ((∀x_{1}P_{1}x_{1}) ⇒ P_{1}c_{1})) ∧ … ∧ ((∀x_{m}P_{m}x_{m}) ⇒ P_{m}c_{m})) for some m ∈ IN and the graphical representation of its matrix M shown below. The non-clausal connection proof for M with the term substitution σ(x_{i}) = c_{i}, for 1 ≤ i ≤ m, has the following (simplified) graphical matrix representation

[ [ [ [P_{1}^{1}x_{1}] [P_{1}^{0}c_{1}] ] ; ⋮ ; [ [P_{m}^{1}x_{m}] [P_{m}^{0}c_{m}] ] ] ]

and consists of one start step, m decomposition steps, and m extension steps. Therefore, the size of the non-clausal connection proof is n = 2m + 1. The clausal matrix M′ has the form {{P_{1}^{1}x_{1}, …, P_{m}^{1}x_{m}}, {P_{1}^{1}x_{1}, …, P_{m}^{0}c_{m}}, …, {P_{1}^{0}c_{1}, …, P_{m}^{0}c_{m}}, {P_{1}^{0}c_{1}, …, P_{m}^{0}c_{m}}} and consists of m · 2^{m} literals. In a clausal proof for M′ every clause of M′ has to be considered, i.e. every literal of M′ has to be an element of at least one connection. Therefore, m · 2^{m−1} is the minimal number of connections and the minimal size of every clausal connection proof for M′. Hence, there is no clausal connection proof for M′ with size O(n^{k}) for some fixed k ∈ IN. ⊓ ⊔

Theorem 6 holds for the structure-preserving translation into clausal form introduced in [12] as well. An example for an appropriate problem class is given in [2].

6 Optimizations and Extensions

In this section the connection calculus is further simplified. Some optimizations techniques and an extension of the calculus to some non-classical logics are described.

6.1 A Simplified Connection Calculus

If the matrices that are used in the non-clausal connection calculus are slightly modified, the start and reduction rule are subsumed by the decomposition and extension rule.

Definition 15 (Simplified Connection Calculus). The simplified connection calculus consists only of the axiom, the extension rule and the decomposition rule of the nonclausal connection calculus (see Definition 10). It is shown in Figure 8.

Axiom (A)  \overline{\{\}, M, P ath}
Extension (E)  \frac{C_{3}, M[C_{1}\C_{2}], P ath∪\{L_{1}\} C, M, P ath}{C∪\{L_{1}\}, M, P ath}

and C_{3}:=β-clause_{L_{2}}(C_{2}), C_{2} is copy of C_{1}, C_{1} is an extension clause

of M wrt. P ath ∪ \{L_{1}\}, C_{2} contains L_{2} with σ(L_{1}) = σ(\overline{L_{2}})
Decomposition (D) \frac{C ∪ C_{1}, M, P ath}{C∪\{M_{1}\}, M, P ath} with C_{1}∈M_{1}

Fig. 8. The simplified connection calculus

Theorem 7 (Correctness & Completeness of the Simplified Connection Calculus). Let F be a first-order formula and M its matrix. Let M^{∗} be the matrix M, in which all literals L ∈ C with |C| > 1 in M are replaced by the matrix {{L}}. Then F is valid in classical logic iff there is a simplified connection proof for {M^{∗}}, M^{∗}, {}.

Proof. The start rule and the reduction rule are subsumed by the decomposition rule and the extensions rule, respectively. As the remaining rules of the calculus are not modified, the simplified connection calculus is correct and complete. ⊓ ⊔

6.2 Optimizations

Positive Start Clause. As for the clausal connection calculus, the start clause of the non-clausal connection calculus can be restricted to positive clauses.

Definition 16 (Positive Clause). A clause C is a positive clause iff there is a vertical path p through C, i.e. C∥p, that contains only literals with polarity 0.

Lemma 4 (Positive Start Clause). The non-clausal connection calculus remains correct and complete, if the clause C_{1} of the start rule is restricted to positive clauses and all clauses in C_{2} that are not positive are deleted from C_{2}.

Proof. Correctness is preserved. Completeness follows from the fact that every connection proof for M has to use all literals (within connections) from a vertical path p through some clause C ∈ M such that p contains only literals with polarity 0. ⊓ ⊔ Regularity. Regularity is an effective technique for pruning the search space in clausal connection calculi [9]. It can be used for the non-clausal calculus as well.

Definition 17 (Regularity). A connection proof is regular iff there are no two literals L_{1}, L_{2} in the active path with σ(L_{1}) = σ(L_{2}).

The regularity condition is integrated into the calculus of Figure 6 by adding a restriction to the reduction and extension rule: ∀L′ ∈ C ∪ {L_{1}} : σ(L′) ∉ σ(P ath).

Lemma 5 (Regularity). M is valid iff there is a regular connection proof for M.

Proof. Regularity preserves correctness. Completeness follows from the fact that the clausal connection calculus with regularity is complete [9] and that it can be simulated by the non-clausal calculus with regularity (see Section 5.2). ⊓ ⊔

Restricted Backtracking. Proof search in the (clausal and non-clausal) connection calculus is not confluent, i.e. it might end up in dead ends. To achieve completeness backtracking is required (see remarks in Section 2 and 4.2), i.e. alternative rules or rule instances need to be considered. The main idea of restricted backtracking [12] is to cut off any so-called non-essential backtracking that occurs after a literal is solved. Even though this strategy is incomplete, it is very effective [12]. It can be used straight away to prune the search space in the non-clausal connection calculus as well.

6.3 Non-Classical Logics

The matrix characterization of classical validity (see Theorem 1) can be extended to some non-classical logics, such as modal and intuitionistic logic [18]. To this end a prefix, i.e. a string consisting of variables and constants, which essentially encodes the Kripke world semantics, is assigned to each literal. For a σ-complementary connection {L_{1} : p_{1}, L_{2} : p_{2}} not only the terms of both literals need to unify under a term substitution σ, i.e. σ(L_{1}) = σ(\overline{L_{2}}), but also the corresponding prefixes p_{1} and p_{2} are required to unify under a prefix substitution σ′, i.e. σ′(p_{1}) = σ′(p_{2}). Therefore, by adding prefixes to the presented non-clausal connection calculus, it can be used for some non-classical logics as well [8]. For the proof search an additional prefix unification algorithm [11, 17] is required that unifies the prefixes of the literals in every connection.

7 Conclusion

A formal non-clausal connection calculus has been introduced that can be used for proof search in classical and some non-classical first-order logics. It does not require the translation of the input formula into any clausal form but preserves its structure. The calculus generalizes the clausal connection calculus by modifying the extension rule and adding a decomposition rule. Copying of clauses is done in a dynamic way and significant redundancy is removed by considering only β-clauses for new subgoal clauses. Thus, the calculus combines the advantages of a non-clausal proof search in tableau calculi [6] with the more goal-oriented search of clausal connection calculi [4].

In [7] a technique similar to β-clauses is used to prove completeness for non-clausal connection tableaux. But this technique is not used explicitly within the tableau calculus itself. Furthermore, only ground formulae are considered and a more general regularity condition is used, which is not restricted to literals of the active path.

This paper provides the formal basis for a planned competitive implementation of a non-clausal connection calculus in an elegant and compact style [12, 13]. Future work includes the development of further non-clausal optimization techniques.

Acknowledgements. The author would like to thank Wolfgang Bibel for his helpful comments on a preliminary version of this paper.

References

1. Andrews, P.B.: Theorem Proving via General Matings. Journal of the ACM 28, 193–214 (1981).

2. Antonsen, R., Waaler, A.: Liberalized Variable Splitting. Journal of Automated Reasoning 38, 3–30 (2007).

3. Bibel, W.: Matings in Matrices. Communications of the ACM 26, 844–852 (1983).

4. Bibel, W.: Automated Theorem Proving. Vieweg, Wiesbaden (1987).

5. Gentzen, G.: Untersuchungen über das logische Schließen. Mathematische Zeitschrift 39. 176–210, 405–431 (1935).

6. Hähnle, R.: Tableaux and Related Methods. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 100–178. Elsevier, Amsterdam (2001).

7. Hähnle, R., Murray, N.V., Rosenthal, E.: Linearity and Regularity with Negation Normal Form. Theoretical Computer Science 328, 325–354 (2004).

8. Kreitz, C., Otten, J.: Connection-based Theorem Proving in Classical and Non-classical Logics. Journal of Universal Computer Science 5, 88–112 (1999).

9. Letz, R., Stenz, G.: Model Elimination and Connection Tableau Procedures. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 2015–2114. Elsevier, Amsterdam (2001).

10. Loveland, D.: Mechanical Theorem-Proving by Model Elimination. Journal of the ACM 15, 236–251 (1968).

11. Otten, J.: Clausal Connection-Based Theorem Proving in Intuitionistic First-Order Logic. In: Beckert, B. (ed.) TABLEAUX 2005. LNAI, vol. 3702, pp. 245–261. Springer, Heidelberg (2005).

12. Otten, J.: Restricting Backtracking in Connection Calculi. AI Communications 23, 159–182 (2010).

13. Otten, J., Bibel, W.: leanCoP: Lean Connection-based Theorem Proving. Journal of Symbolic Computation 36, 139–161 (2003).

14. Plaisted, D., Greenbaum, S.: A Structure-preserving Clause Form Translation. Journal of Symbolic Computation 2, 293–304 (1986).

15. Robinson, A.: A Machine-oriented Logic Based on the Resolution Principle. Journal of the ACM 12, 23–41 (1965).

16. Schmitt, S., Lorigo, L., Kreitz, C., Nogin, A.: JProver: Integrating Connection-based Theorem Proving into Interactive Proof Assistants. In: Goré, R., Leitsch, A., Nipkow, T. (eds.) IJCAR 2001. LNAI, vol. 2083, pp. 421–426. Springer, Heidelberg (2001).

17. Waaler, A.: Connections in Nonclassical Logics. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 1487–1578. Elsevier, Amsterdam (2001).

18. Wallen, L.: Automated Deduction in Nonclassical Logics. MIT Press, Cambridge (1990).