<!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>
      <journal-title-group>
        <journal-title>Prague, Czech Republic
∗Corresponding author.
$ clemens.eisenhofer@tuwien.ac.at (C. Eisenhofer); laura.kovacs@tuwien.ac.at (L. Kovács); michael@rawsons.uk
(M. Rawson)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Embedding the Connection Calculus in Satisfiability Modulo Theories</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Clemens Eisenhofer</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laura Kovács</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Rawson</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>TU Wien</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Austria</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>We investigate embedding a broad class of deduction systems in satisfiability solvers such as Z3. One such deduction system is the connection calculus. Using Z3's support for user-propagation, proofs in a user-specified calculus can be found automatically via Z3's internal satisfiability procedures. The approach places few constraints on the deduction system, yet allows for domain-specific optimisations if known. We discuss ramifications for proof search in the connection calculus.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Connection Calculus</kwd>
        <kwd>Sequent Calculus</kwd>
        <kwd>SMT</kwd>
        <kwd>User-Propagation</kwd>
        <kwd>Deduction System</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>AReCCa 2023</p>
      <p>
        CEUR-WS.org
Contributions. In contrast to model-based approaches that depend heavily on the semantics
of a specific logic [
        <xref ref-type="bibr" rid="ref10 ref11 ref6 ref8 ref9">8, 9, 10, 6, 11</xref>
        ], in this paper we suggest a completely syntactic approach to
proof, implemented via user-propagation. We search for derivations in a calculus for some logic
by reasoning over the space of all possible derivations. In other words, we advocate theorem
proving in arbitrary calculi via SMT solving. One such supported calculus, which is the focus
of our paper, is the connection calculus. Our approach, while unusual, brings the following
advantages in general and to connection calculus in particular:
1. The implementation burden with respect to SMT is significantly reduced, as the considered
meta-logic is classical in nature: either some postulate is provable or not.
2. With very few restrictions, a large number of calculi can be supported in a relatively
uniform manner.
3. Meta-logical properties, such as monotonicity or permutation of assumptions, can be
generically handled and exploited during proving in order to improve efficiency.
4. Even logics with no known semantics can be supported. Moreover, logics for which
decision procedures are not known (or are too complex) can be embedded.
5. Built-in theories can be supported within even non-classical logics, as long as theories
may behave classically.
6. Ordinary propositional SAT proofs generated by SMT solvers can be replaced by a wide
variety of proofs we can represent within our system.
      </p>
      <p>7. In some calculi, we can even extract explicit counterexamples if no proof exists.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>We assume a given calculus has a finite number of rules. Each rule makes exactly one conclusion
from a finite set of premises. For any given conclusion, there is a known finite, but possibly
empty set of applicable rules that form the conclusion from their premises. A derivation of a
certain conclusion is a rooted tree such as shown below:</p>
      <p>A</p>
      <p>B
C</p>
      <p>H</p>
      <p>D</p>
      <p>E
G</p>
      <p>R</p>
      <p>F</p>
      <p>
        I
where the root R concludes the theorem and leaves are axioms. Recall that axioms are rules
with no premises. Deductions like the above include a variety of calculi, including (but not
limited to) sequent calculi [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] such as that in Figure 1, the connection calculus [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] in Figure 2,
or other deduction systems such as Hindley-Milner type inference [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <sec id="sec-2-1">
        <title>2.1. Restrictions on Calculi</title>
        <p>While the aforementioned deduction formalism is extremely general, we do have some
requirements in order to support a calculus. We expect derivations to be as shown above: in particular,
there must be a finite branching factor, both in the number of applicable rules and in the number
of premises to rules. Infinite branching in a calculus can often be avoided by various kinds of
indirection.
¬-left :
∧-left :
∨-left :</p>
        <sec id="sec-2-1-1">
          <title>Perm-left :</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Weak -left :</title>
          <p>Γ1 ⊢ A; Δ1
¬A; Γ1 ⊢ Δ1
F1; F2; Γ1 ⊢ Δ1</p>
          <p>F1 ∧ F2; Γ1 ⊢ Δ1
F1; Γ1 ⊢ Δ1 F2; Γ1 ⊢ Δ1
F1 ∨ F2; Γ1 ⊢ Δ1
Γ1; F2; Γ2; F1; Γ3 ⊢ Δ1
Γ1; F1; Γ2; F2; Γ3 ⊢ Δ1</p>
          <p>Γ1; Γ2 ⊢ Δ1
Γ1; F1; Γ2 ⊢ Δ1
¬-right :
∧-right :
∨-right :</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Perm-right :</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>Weak -right :</title>
          <p>A; Γ1 ⊢ Δ1
Γ1 ⊢ ¬A; Δ1
Γ1 ⊢ F1; Δ1 Γ1 ⊢ F2; Δ1
Γ1 ⊢ F1 ∧ F2; Δ1
Γ1 ⊢ F1; F2; Δ1
Γ1 ⊢ F1 ∨ F2; Δ1
Γ1 ⊢ Δ1; F2; Δ2; F1; Δ3
Γ1 ⊢ Δ1; F1; Δ2; F2; Δ3</p>
          <p>Γ1 ⊢ Δ1; Δ2
Γ1 ⊢ Δ1; F1; Δ2</p>
          <p>
            Our approach proceeds “upwards” from a goal via backwards chaining. Therefore, for
any given conclusion, it must be possible to compute the set of applicable rules from the
conclusion alone. Furthermore, each conclusion in the calculus is considered independently:
note that this differs from systems like analytic tableaux [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] or the usual presentation of natural
deduction [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ], where context matters. Identical subgoals occurring at different locations in
proof search can be assumed to have the same proof.
          </p>
          <p>While soundness and completeness of a considered calculus is beneficial, neither property is
essential: a satisfiable result may not be valid if the calculus is unsound, whereas an unsatisfiable
result might not hold if the calculus is incomplete (as discussed later).</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. User-Propagation and a Theory of Goals</title>
        <p>
          User-propagation as implemented in Z3 allows asserting additional constraints to the solver in
response to solver decisions [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Justifications for the additional constraints are important such
that the solver can detect where to backjump to when conflicts arise. As an example, if our
theory contains a symmetric relation R and the solver decides R(s, t), we can propagate R(t, s),
justified by R(s, t), which we write R(s, t) ⊩ R(t, s). We use this mechanism to implement
our SMT solving approach via user-propagation.
        </p>
        <p>Our theory consists of a “goal” sort and a provability predicate ℱ . We write ℱ (G) to mean that
“G has a proof”, ℱ (C, G) for “G has a proof with immediate consequence C”, and ℱ (d, C, G)
for “G has a proof of depth at most d with immediate consequence C”. Visually, ℱ (d, C, G)
represents the following piece of information:
Axiom
{}; M ; P ath</p>
        <p>Start
C; M ; {}
ǫ; M ; ǫ
Extension
C′ \ {¬L}; M ; P ath ∪ {L}</p>
        <p>C ∪ {L}; M ; P ath</p>
        <p>Reduction</p>
        <p>C; M ; P ath ∪ {¬L}
C ∪ {L}; M ; P ath ∪ {¬L}
C; M ; P ath</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Theorem Proving in Arbitrary Calculi via SMT Solving</title>
      <p>
        We now describe our approach for syntactic theorem proving, in particular in the connection
calculus, via user-propagation in SMT solving. While our approach can be applied to any SMT
engine and deduction system, we discuss our work in the context of the Z3 SMT solver [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
and the sequent calculus LK.
      </p>
      <p>We begin by asserting that the goal is provable, and then propagate applicable rules for
this goal resulting in new expressions stating that some subgoals are provable. Exploiting the
internal satisfiability procedure of Z3, we already have a kind of idiosyncratic proof search, as
follows.</p>
      <p>Example 1 (Proof Search by Propagating Applicable Rules)
Suppose we use system LK from Figure 1 and Z3 assigns ℱ (A; B ∨ C ⊢ A) to true. We can then
apply weakening on both the left and right sides of the sequent, permutation on the left, or the
∨-left rule, and therefore propagate
ℱ (A; B ∨ C ⊢ A) ⊩ ℱ (B ∨ C ⊢ A)
ℱ (A ⊢ A)
ℱ (A; B ∨ C ⊢)
ℱ (B ∨ C; A ⊢ A)
We leave it up to the solver to handle backtracking search, but clearly the second disjunct leads to a
proof. Once Z3 assigns ℱ (A ⊢ A) to true, we can apply weakening or the axiom rule:
ℱ (A ⊢ A) ⊩ ℱ (⊢ A)
ℱ (A ⊢)
⊤
ℱ (ε; M ; ε) ⊩ ℱ ({A}; M ; ε)
ℱ ({¬A, B}; M ; ε)
ℱ ({¬B}; M ; ε).</p>
      <p>∨
∨
∨
∨
The last disjunct represents the lack of premises of the axiom rule, and therefore the whole
propagation is a tautology. If the goal was A; B ∨ C ⊢ A, then Z3 can report a model satisfying
ℱ (A; B ∨ C ⊢ A) ∧ ℱ (A ⊢ A), from which we can extract a proof in LK.</p>
      <p>Example 2 (Connection-Driven Proof Search)
Similarly, we can simulate the connection calculus. Consider Figure 3. We start with ℱ (ε; M ; ε)
and propagate all possible choices for the start clause
Supposing the solver decides to assign ℱ ({¬B}; M ; ε) to true, we can proceed by propagating
ℱ ({¬B}; M ; ε) ⊩ (ℱ ({¬A}; M ; {¬B}) ∧ ℱ ({}; M ; {})).</p>
      <p>Note that adding a connection to ¬A ∨ B is the only feasible step. As with LK, we consider local
goals like {¬A, B}; M ; ε atomically and implement them as constants of our “goal” sort.</p>
      <sec id="sec-3-1">
        <title>3.1. Preventing Cyclic Proofs</title>
        <p>Unfortunately, the intuitive encoding from Example 1 is unsound for some calculi, as it permits
cyclic derivations.</p>
        <p>Example 3 (Cyclic Proofs)
Suppose we use the system LK from Figure 1 with the goal A; B ⊢, which is not provable in LK.
From ℱ (A; B ⊢), we propagate a disjunction containing ℱ (B; A ⊢), and then propagate another
disjunction containing ℱ (A; B ⊢) once again. However, Z3 has already assigned ℱ (A; B ⊢) true
and hence reports a model, having discovered a cyclic “proof”.</p>
        <p>To avoid soundness issues due to cyclic derivations, we must perform a cyclicity check. We
introduce the binary form of ℱ , as it allows us to maintain during reasoning the transitive,
asymmetric relation “G has a proof containing an ancestor A”. More precisely, we consider the
relation graph of the binary relation induced by the propositional variables ℱ (C, G). In case
of a cycle, we eliminate it by propagating a conflict with respect to all propositional variables
involved in the cycle.
Example 4 (Preventing a Cyclic Proof)
Considering Example 3, the chain of propagated atoms includes ℱ (A; B ⊢, B; A ⊢) and
subsequently ℱ (B; A ⊢, A; B ⊢). However, we detect a cycle and prevent the cyclic “proof”, backtracking
from this branch and attempting another. Since the goal is not a theorem in LK and the search
space is finite, eventually the solver will indicate unsatisfiability.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Infinite Search Spaces</title>
        <p>Many useful calculi have large, redundant, but ultimately finite search spaces. Here the procedure
sketched for the propositional system LK is already complete. However, in the case of infinite
search spaces a wrong decision will cause the solver to get lost in barren space, from which it
may never return. Avoiding such scenarios is a challenging task.</p>
        <p>
          Iterative deepening, as used in connection systems [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], may be employed here: we use
the ternary form of ℱ to determine that there are no proofs of a certain size before trying
larger sizes, perhaps re-using this information elsewhere as in failure caching [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Another
option disables Z3’s support for relevancy propagation [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] and, assuming all atoms to be
true by default, explores all branches simultaneously and fairly. It may also be possible to use
complementary calculi to disprove a certain goal, causing a partial “restart” — see Section 4.5.
        </p>
        <p>
          As well as merely infinite search spaces, there is a special case in which the search space has
an infinite chain where only one rule is applicable, a well-known problem in tree search [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
In this case, even unit propagation in the solver will never terminate. In practice, this happens
relatively rarely, but solutions for infinite search spaces should take this into account.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Logic-Specific Optimization</title>
      <p>While we envision our approach to be widely applicable without special-purpose modifications,
there are some recurring themes among many calculi. In the sequel, we discuss our “box of
tricks” to be applied whenever their prerequisite properties are met by the calculus.</p>
      <sec id="sec-4-1">
        <title>4.1. Improving the Calculus</title>
        <p>
          In some cases, the proof calculus is extremely ill-suited to automation. While the system LK as
described initially by Gentzen [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] is not adequate for efficient, machine-supported theorem
proving, a few well-known tweaks to the calculus can result in significantly better performance.
Eliminating structural rules, treating each side of the sequent as a set, and strengthening the
axiom rules to be applicable regardless of extraneous formulae on either side helps enormously.
We also adapt our reasoning engine to reuse “goal” variables for elements that should be
equivalent, such as ℱ (A; A; B ⊢ ⊥) = ℱ (B; A ⊢ ⊥).
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Acyclic Calculi</title>
        <p>Notwithstanding the discussion in Section 3.1, some calculi either explicitly allow cyclic proofs,
or more often cannot generate cycles by virtue of their rules. In either case, we can forgo the
cycle-checking. For example, the system LK with incorporated structural optimizations as
described in Section 4.1 has this property and hence does not require tracking the ancestry of
a derivation. The presented connection calculus also has this property, by a short inductive
argument.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Monotonicity</title>
        <p>Sequent calculi very often have the monotonicity meta-logical property: that is, if A ⊢ C then
A, B ⊢ C, D. This can be exploited to improve performance. Consider the solver already
assigned ℱ (A ⊢ C) to true whereas ℱ (A; B ⊢ C; D) is assigned to false. By monotonicity, we
already have a conflict, but the solver will not detect this on its own without lengthy search.
We can also propagate monotonicity information. If we have ℱ (Γ ⊢ Δ), we propagate all
ℱ (Γ′ ⊢ Δ′) such that Γ ⊆ Γ and Δ ⊆ Δ . Naturally, we only propagate monotonicity
′ ′
information in case the respective atoms are already present in the search space, otherwise
there would be infinitely many propagations.</p>
        <p>An important special case is monotonicity with respect to the number of steps, which
resembles failure caching. In case ℱ (i, C, G) is true, we can also propagate ℱ (j, C, G) if j &gt; i.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Ordering</title>
        <p>
          Another common problem in theorem proving is that there might be several (similar) ways
to reach exactly the same proving state. Proof search can become highly symmetrical. To
break this symmetry, we can order rule applications, cf. ordered resolution [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] or matings
pruning [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
        </p>
        <p>Example 5 (Symmetric Rule Applications)
Consider the sequent A1 ∧ B1, . . . , An ∧ Bn ⊢ ⊥. There are n! possible derivations using the
∧-right rule, each failing in the same sequent A1, . . . , An, B1, . . . , Bn ⊢ ⊥. Nonetheless, the
solver will fail to detect this symmetry, causing the solver to inspect all possible orderings.</p>
        <p>
          In some cases, we may be able to prevent such unnecessary blow-ups by establishing a partial
order on the rules applied by a variety of methods from theorem proving. The connection
calculus, for instance, has complete “don’t-care non-determinism” with respect to which open
goal is selected for the next connection, although of course it may be beneficial to choose one
or another [
          <xref ref-type="bibr" rid="ref24 ref25">24, 25</xref>
          ]. The partial order should be as total as possible, but reachability must be
preserved.
        </p>
      </sec>
      <sec id="sec-4-5">
        <title>4.5. Complementary Calculi</title>
        <p>Some logics have a useful complementary calculus that allows disproving statements in the logic.
This duality allows a possible optimisation for logics with a complementary calculus. It may
be possible to disprove a statement quickly, but exhausting all possible proofs is considerably
harder or even impossible; equally, a statement may be proved quickly but disproving it can be
difficult. Therefore, we can explore both the positive and the complementary calculi in a single
proof attempt, exchanging information between the two.</p>
      </sec>
      <sec id="sec-4-6">
        <title>4.6. Global Constraints</title>
        <p>
          Note that the connection calculus from Figure 2 is the propositional version, rather than the
arguably more interesting first-order variant. This is because the first-order variant requires
that a global substitution satisfies a number of side conditions imposed by the application of
rules (unification). Therefore, the first-order version of Figure 2 does not have independent
goals in the manner that we require, as solving one subgoal in a certain way may prevent the
solution of another. This property necessitates considerable backtracking or communication in
connection and other free-variable systems [
          <xref ref-type="bibr" rid="ref26 ref27">26, 27</xref>
          ].
        </p>
        <p>
          Such difficulties could be remedied by “rephrasing” the calculus once more, perhaps carrying
around an explicit substitution in the manner of Algorithm W [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] and requiring a single,
compound premise for the extension rule as a result. Now we can handle the calculus once
more, but there would be no shared sub-goals for Z3 to exploit. For example, variants of
splitting [
          <xref ref-type="bibr" rid="ref13 ref29">13, 29</xref>
          ] could provide us efficient remedies.
        </p>
        <p>
          However, SMT solvers have no problem maintaining a set of global constraints and
backtracking over decisions that affect them — it is arguably what they do best, in fact. Having rules
propagate equations, such as t1 = t′1, . . . , tn = t′n when unifying two literals L(t1, . . . , tn) and
¬L(t′1, . . . , t′n) is a convenient way out. An algebraic datatype [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] over the signature provides
the required semantics, with suitably-fresh uninterpreted constants representing rigid variables.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>
        We advocate theorem proving in arbitrary calculi, in particular in connection calculus, by SMT
solving via user-propagators. Our work is inspired by the application of user-propagators to
simulate analytic tableaux in SMT solving [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. However, we do not build a model by applying
rules to get assignments to subformulas, but consider rules themselves as the relevant objects in
the model to construct derivations. This makes our approach more generic, although we cannot
usually generate explicit models from successful SMT solving runs.
      </p>
      <p>
        The cyclicity check proposed in our work is vaguely related to the foundedness check in
answer set programming [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], where atoms are required not to be only justified by cycles in a set
of implications [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. A different encoding of the first-order connection calculus as a satisfiability
problem was implemented in ChewTPTP [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ].
      </p>
      <p>Techniques from satisfiability solving such as conflict-driven clause learning or local search
may have a clear interpretation at the calculus level. This may provide inspiration for new
search routines in a particular calculus.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>We acknowledge funding from the ERC Consolidator Grant ARTIST 101002685, the TU Wien
SecInt Doctoral College, the FWF SFB project SpyCoDe F8504, and the WWTF ICT22-007 Grant
ForSmart.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kroening</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Strichman</surname>
          </string-name>
          ,
          <source>Decision Procedures - An Algorithmic Point of View - Second Edition</source>
          ,
          <year>2016</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -50497-0.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>L. M. de Moura</surname>
            ,
            <given-names>N. S.</given-names>
          </string-name>
          <string-name>
            <surname>Bjørner</surname>
          </string-name>
          ,
          <article-title>Efficient e-matching for SMT solvers</article-title>
          , in: CADE, Springer,
          <year>2007</year>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>198</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -73595-3\_
          <fpage>13</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ge</surname>
          </string-name>
          , L. M. de Moura,
          <article-title>Complete instantiation for quantified formulas in satisfiability modulo theories</article-title>
          ,
          <source>in: CAV</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>306</fpage>
          -
          <lpage>320</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -02658-4\_
          <fpage>25</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N. S.</given-names>
            <surname>Bjørner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Eisenhofer</surname>
          </string-name>
          , L. Kovács,
          <article-title>Satisfiability modulo custom theories in Z3</article-title>
          , in: VMCAI, Springer,
          <year>2023</year>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>105</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -24950-1\_5.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Fazekas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niemetz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Preiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kirchweger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Szeider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <article-title>IPASIR-UP: user propagators for CDCL, in: 26th International Conference on Theory and Applications of Satisfiability Testing</article-title>
          ,
          <source>SAT 2023, July 4-8</source>
          ,
          <year>2023</year>
          , Alghero, Italy, volume
          <volume>271</volume>
          of LIPIcs,
          <source>Schloss Dagstuhl - Leibniz-Zentrum für Informatik</source>
          ,
          <year>2023</year>
          , pp.
          <volume>8</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          :
          <fpage>13</fpage>
          . doi:
          <volume>10</volume>
          .4230/LIPIcs. SAT.
          <year>2023</year>
          .
          <volume>8</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>K.</given-names>
            <surname>Claessen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Rosén</surname>
          </string-name>
          ,
          <article-title>SAT modulo intuitionistic implications</article-title>
          ,
          <source>in: LPAR</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>622</fpage>
          -
          <lpage>637</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -48899-7\_
          <fpage>43</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Fiorentini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Goré</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Graham-Lengrand</surname>
          </string-name>
          ,
          <article-title>A proof-theoretic perspective on smt-solving for intuitionistic propositional logic</article-title>
          ,
          <source>in: TABLEAUX</source>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>111</fpage>
          -
          <lpage>129</lpage>
          . doi:
          <volume>10</volume>
          . 1007/978-3-
          <fpage>030</fpage>
          -29026-9\_7.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J. P. M.</given-names>
            <surname>Silva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Sakallah</surname>
          </string-name>
          ,
          <article-title>GRASP: A search algorithm for propositional satisfiability</article-title>
          ,
          <source>IEEE Trans. Computers</source>
          <volume>48</volume>
          (
          <year>1999</year>
          )
          <fpage>506</fpage>
          -
          <lpage>521</lpage>
          . doi:
          <volume>10</volume>
          .1109/12.769433.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Schmidt-Schauß</surname>
          </string-name>
          , G. Smolka,
          <article-title>Attributive concept descriptions with complements</article-title>
          ,
          <source>Artif. Intell</source>
          .
          <volume>48</volume>
          (
          <year>1991</year>
          )
          <fpage>1</fpage>
          -
          <lpage>26</lpage>
          . doi:
          <volume>10</volume>
          .1016/
          <fpage>0004</fpage>
          -
          <lpage>3702</lpage>
          (
          <issue>91</issue>
          )
          <fpage>90078</fpage>
          -
          <lpage>X</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <article-title>ASSAT: computing answer sets of a logic program by SAT solvers, Artif</article-title>
          . Intell.
          <volume>157</volume>
          (
          <year>2004</year>
          )
          <fpage>115</fpage>
          -
          <lpage>137</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.artint.
          <year>2004</year>
          .
          <volume>04</volume>
          .004.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kesten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Manna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>McGuire</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          ,
          <article-title>A decision algorithm for full propositional temporal logic</article-title>
          ,
          <source>in: CAV</source>
          , volume
          <volume>697</volume>
          , Springer,
          <year>1993</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>109</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 3-540-56922-7\_9.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gentzen</surname>
          </string-name>
          ,
          <article-title>Untersuchungen über das logische schließen</article-title>
          . i.,
          <source>Mathematische zeitschrift 35</source>
          (
          <year>1935</year>
          )
          <fpage>176</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>W.</given-names>
            <surname>Bibel</surname>
          </string-name>
          ,
          <source>Automated theorem proving, 2nd Edition, Artificial intelligence, Vieweg</source>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hindley</surname>
          </string-name>
          , et al.,
          <article-title>The principal type-scheme of an object in combinatory logic</article-title>
          ,
          <source>Transactions of the american mathematical society</source>
          <volume>146</volume>
          (
          <year>1969</year>
          )
          <fpage>29</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>M. D'Agostino</surname>
            ,
            <given-names>D. M.</given-names>
          </string-name>
          <string-name>
            <surname>Gabbay</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Hähnle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Posegga</surname>
          </string-name>
          , Handbook of tableau methods,
          <year>2013</year>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -94-017-1754-0.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          ,
          <article-title>Restricting backtracking in connection calculi</article-title>
          ,
          <source>AI</source>
          Communications
          <volume>23</volume>
          (
          <year>2010</year>
          )
          <fpage>159</fpage>
          -
          <lpage>182</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>L. M. de Moura</surname>
            ,
            <given-names>N. S.</given-names>
          </string-name>
          <string-name>
            <surname>Bjørner</surname>
          </string-name>
          ,
          <article-title>Z3: An Efficient SMT Solver</article-title>
          , in: TACAS, Springer,
          <year>2008</year>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          , W. Bibel,
          <article-title>leancop: lean connection-based theorem proving</article-title>
          ,
          <source>J. Symb. Comput</source>
          .
          <volume>36</volume>
          (
          <year>2003</year>
          )
          <fpage>139</fpage>
          -
          <lpage>161</lpage>
          . doi:
          <volume>10</volume>
          .1016/S0747-
          <volume>7171</volume>
          (
          <issue>03</issue>
          )
          <fpage>00037</fpage>
          -
          <lpage>3</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Moser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Ibens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Letz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Steinbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Goller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schumann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Mayr</surname>
          </string-name>
          ,
          <article-title>Setheo and e-setheo-the cade-13 systems</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          <volume>18</volume>
          (
          <year>1997</year>
          )
          <fpage>237</fpage>
          -
          <lpage>246</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>L. de Moura</surname>
          </string-name>
          , N. Bjørner, Relevancy Propagation,
          <source>Technical Report MSR-TR-2007-140</source>
          , Microsoft Research,
          <source>Tech. Rep</source>
          . (
          <year>2007</year>
          ). URL: https://www.microsoft.com/en-us/research/ wp-content/uploads/2016/02/tr-2007-140.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>L.</given-names>
            <surname>Orseau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lattimore</surname>
          </string-name>
          , T. Weber,
          <article-title>Single-agent policy tree search with guarantees</article-title>
          ,
          <source>Advances in Neural Information Processing Systems</source>
          <volume>31</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bachmair</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ganzinger</surname>
          </string-name>
          ,
          <article-title>Resolution theorem proving</article-title>
          .,
          <source>Handbook of automated reasoning 1</source>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>R.</given-names>
            <surname>Letz</surname>
          </string-name>
          ,
          <article-title>Using matings for pruning connection tableaux</article-title>
          ,
          <source>in: International Conference on Automated Deduction</source>
          , Springer,
          <year>1998</year>
          , pp.
          <fpage>381</fpage>
          -
          <lpage>396</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>O.</given-names>
            <surname>Ibens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Letz</surname>
          </string-name>
          ,
          <article-title>Subgoal alternation in model elimination</article-title>
          ,
          <source>in: International Conference on Automated Reasoning with Analytic Tableaux and Related Methods</source>
          , Springer,
          <year>1997</year>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>215</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Kertész</surname>
          </string-name>
          , G. Papp,
          <string-name>
            <given-names>P.</given-names>
            <surname>Szeredi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Varga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zombori</surname>
          </string-name>
          ,
          <article-title>Ordering subgoals in a backward chaining prover (</article-title>
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Färber</surname>
          </string-name>
          ,
          <article-title>A curiously effective backtracking strategy for connection tableaux</article-title>
          ,
          <source>arXiv preprint arXiv:2106.13722</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cailler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rosain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Delahaye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Robillard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. L.</given-names>
            <surname>Bouziane</surname>
          </string-name>
          ,
          <article-title>Goéland: A concurrent tableau-based theorem prover (system description)</article-title>
          ,
          <source>in: International Joint Conference on Automated Reasoning</source>
          , Springer International Publishing Cham,
          <year>2022</year>
          , pp.
          <fpage>359</fpage>
          -
          <lpage>368</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>R.</given-names>
            <surname>Milner</surname>
          </string-name>
          ,
          <article-title>A theory of type polymorphism in programming</article-title>
          ,
          <source>Journal of computer and system sciences 17</source>
          (
          <year>1978</year>
          )
          <fpage>348</fpage>
          -
          <lpage>375</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>E. N.</given-names>
            <surname>Haga</surname>
          </string-name>
          , Complexity of variable splitting,
          <source>Master's thesis</source>
          , University of Oslo,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>N. S.</given-names>
            <surname>Bjørner</surname>
          </string-name>
          ,
          <article-title>Integrating decision procedures for temporal verification</article-title>
          ,
          <source>Ph.D. thesis</source>
          , Stanford University, USA,
          <year>1998</year>
          . URL: https://searchworks.stanford.edu/view/4077712.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>C.</given-names>
            <surname>Eisenhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Alassaf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rawson</surname>
          </string-name>
          , L. Kovács,
          <article-title>Non-classical logics in satisfiability modulo theories</article-title>
          ,
          <source>in: TABLEAUX</source>
          , Springer,
          <year>2023</year>
          , pp.
          <fpage>24</fpage>
          -
          <lpage>36</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -43513-3\ _2.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          , G. Ianni, T. Krennwallner,
          <article-title>Answer set programming: A primer</article-title>
          , Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bongio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Katrak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lynch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. E.</given-names>
            <surname>McGregor</surname>
          </string-name>
          ,
          <article-title>Encoding first order proofs in SMT</article-title>
          , in: SMT,
          <year>2007</year>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>84</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.entcs.
          <year>2008</year>
          .
          <volume>04</volume>
          .081.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>