<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SC-TPTP: An Extension of the TPTP Derivation Format for Sequent-Based Calculus</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Julie Cailler</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Guilloud</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>EPFL</institution>
          ,
          <addr-line>Lausanne</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Regensburg</institution>
          ,
          <addr-line>Regensburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>8312</volume>
      <fpage>274</fpage>
      <lpage>290</lpage>
      <abstract>
        <p>Motivated by the transfer of proofs between proof systems, and in particular from first order automated theorem provers (ATPs) to interactive theorem provers (ITPs), we specify an extension of the TPTP derivation [1] text format to describe proofs in first-order logic: SC-TPTP. To avoid multiplication of standards, our proposed format over-specifies the TPTP derivation format by focusing on sequent formalisms. By doing so, it provides a high level of detail, is faithful to mathematical tradition, and cover multiple existing tools and in particular tableaux-based strategies. We make use of this format to allow the Lisa proof assistant [2] to query the Goéland automated theorem prover [3], and implement a library of tools able to parse, print and check SC-TPTP proofs, export them into Coq files, and rebuild low-level proof steps from advanced ones.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;TPTP</kwd>
        <kwd>Proof Format</kwd>
        <kwd>Automated Theorem Proving</kwd>
        <kwd>Interactive Theorem Proving</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Transfer of proofs between diferent proof systems to this day largely remains a challenge.
While the relative consistency strength of the foundations of most tools is well known, practical
translations presents a variety of technical dificulties. Indeed, not only the syntax of diferent
systems can be very hard (when not impossible) to simulate (for example,  -abstractions used
in type theory-based systems are dificult to represent and reason about in first-order systems,
or an classical ATP and an intuitionistic ITP), but even proof systems with similar logical
foundations can diverge significantly in terms of the kind and granularity of accepted proof
steps. In practice, an ATP might use advanced proof steps such as Skolemization, superposition,
hyperresolution, or congruence closure, which can be dificult (in terms of implementation and
space-time complexity) to simulate with lower-level proof steps typically accepted by proof
assistants. Finally, diferent tools may use diferent formats to export and store statements and
proofs in the first place (e.g. TPTP [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], XML [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], LFSC [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Lambdapi [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and other (tool-specific)
formats), each requiring dedicated parsers and abstract syntax trees.
      </p>
      <p>Hence, even when the foundations and proof steps are similar, if  systems want to import
proofs directly from each other, each is required to implement  − 1 diferent import and proof
transform algorithms, for a total of ( − 1) implementations. With one common middle ground
format, each system only needs to implement one import and one export algorithm from itself
to the proof format, for a total of 2 implementations. On the other hand, as suggested above,
unifying the syntax and proofs of arbitrarily many systems with unrelated foundations is overly
ambitious and may not be practically feasible. A successful approach needs to convey the right
level of abstraction, neither too specific nor too general.</p>
      <p>
        This introduction may remind the reader of the famous xkcd comics “How Standards
Proliferate” (Figure 1). Since being counterproductive runs against our objective, we design a proof
format as a super specification of the TPTP derivation format, which is already supported by a
large collection of systems and tools. TPTP (Thousands of Problems for Theorem Provers) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
is a large library of problems for testing automated theorem provers. It is also a specification
format [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for said problems and derivations, i.e., lists of formulas derived from the specification
of the problem or from previously deduced ones. However, there is no standard specification of
how formulas are derived.
      </p>
      <p>Our motivation for the present proposal is to specifically increase interoperability between
tools that use first-order logic. A key goal is to allow proof systems (in particular ITPs) to
query ATPs on problems, and obtain proofs in a single format in return. Hence, the present
work defines a specification over the existing TPTP format for sequent-calculus style proofs in
ifrst-order logic. We fix and specify a set of basic inference steps, as well as their parameters,
semantics, and syntax, in the style of sequent calculus. We separate deduction steps in levels,
from low-level, easy-to-verify standard steps of sequent calculus, to more complex and
toolspecific steps, which ideally come with a procedure to transform them into low-level steps. We
call the resulting standard SC-TPTP. By keeping as-is TPTP’s directives for everything else,
including formulas, existing TPTP parsers and printers can be readily used. Our objectives are:
• to allow proof systems (in particular ITPs) using first-order logic to query ATPs for
ifrst-order logic (in particular tableaux-based ATPs) on problems, and obtain proofs in a
single format in return;
• to provide a single translation exports from multiple systems with sequent calculus-like
foundations to another proof system or format (for example Coq);
• to ofer transformation algorithms that simplify proofs with possibly complicated and
higher level proof steps to proofs with only basic steps;
• to allow answers of ATPs in competitions to be verified unambiguously (for problems in
ifrst-order logic).</p>
      <sec id="sec-1-1">
        <title>Contributions</title>
        <p>Our contributions in the present text are as follows:
• The development of a standard format, SC-TPTP, for sequent-based calculus, with a focus
on tableaux-based ATP.
• The implementation of this format into the Lisa proof assistant (import), and the Goéland
ATP (export). In particular, this allows Lisa users to call Goéland as a (proof-producing)
tactic.
• The development of a publicly available library, providing tools to parse and print
SCTPTP proofs, check their validity in this format, transform proofs to eliminate high-level
congruence closure steps, and export them into Coq.</p>
        <p>This work is a proof of concept and a proposal to the community, that we hope can help
connect various tools. We look forward to the community’s input and feedback on how to adapt
the features and design choices to be suitable for as many tools as possible.</p>
        <p>
          Related Work Beyond the TPTP format itself [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] and its associated body of work, significant
research eforts have been directed toward designing proof formats conducive to tool
interoperability. Those eforts started by conducting various investigations in order to delineate the
criteria for an ideal proof format, emphasizing the importance of ease of parsing while retaining
human readability [
          <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
          ].
        </p>
        <p>
          One of the original inspirations for designing a common format comes from the SAT
community, which encountered notable success with the DRAT format [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Work has also been done
to provide a proof checker for this format [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          In the realm of SMT solving, diverse proof formats have emerged, including LFSC [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] used
by CVC5 [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] or the Z3 [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] proof format [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], among others. While there is currently no
universal proof format for SMT solvers, eforts are made toward this goal [
          <xref ref-type="bibr" rid="ref12 ref16 ref17">16, 12, 17</xref>
          ], resulting
for instance in the Alethe [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] proof format, employed by the VeriT solver [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
        <p>
          Closer to our approach, and extension of the TPTP syntax to the connection calculus [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] was
implemented into the leanCoP [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] and Connect++ [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] provers. In the meantime, the Theory
Extensible Sequent Calculus (TESC) format for First-Order ATPs [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] ofers a sequent-based
proof format capable of compiling and verifying solutions from Vampire [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] and E [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] by
combining TPTP problems with their respective TSTP solutions. Within the TPTP ecosystem,
the GDV Verifier [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] proof checker for CNF derivation in the TPTP format warrant mention.
        </p>
        <p>
          Finally, our paper’s overarching theme resides in the realm of proof interoperability, echoing
the ethos of systems such as Dedukti and Lambdapi [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>
          Organization In Section 2, we provide the necessary background on TPTP, tableaux rules,
as well as one-sided and two-sided sequent calculi. We then introduce the proof steps of
the SC-TPTP proof standard for (untyped) first order-logic in Section 3, together with their
parameters, syntax, and semantic. In Section 4, we present a library of utilities to handle and
verify proofs in SC-TPTP. In particular, we implement an export of SC-TPTP proofs to Coq,
and a proof-producing egraph [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] to produce detailed proofs corresponding to congruence
closure steps. Finally, we describe Section 5, as a use case and proof of concept, how we made
the Goéland ATP and the Lisa ITP support SC-TPTP, allowing for direct transfer of proofs from
the first to the second.
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Context</title>
      <p>
        2.1. TPTP &amp; TSTP
TPTP [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is the reference problem library in the field of automated reasoning. It is made of over
25000 problems (including over 7000 first-order ( FOF category) problems), ranging from easy to
open, that can be used for testing and evaluating ATPs. This library also provides standards
for input and output for ATP systems, thanks to the TPTP logic language [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], that is used to
specify logical decision problems in various logic ((typed) first-order, higher order, each with
and without polymorphism, CNFs, ...). It is a well-adopted input format and benchmark, used
for example in CASC, the CADE ATP System Competition.
      </p>
      <p>Sibling to TPTP is the TSTP library, a collection of solutions (derivations, or proofs) produced
by ATPs in response to TPTP problems. In derivations, formulas are annotated by an inference
parameter, itself made of the name of the inference rule, its parameter, and its premises. However,
inferences are not specified: every system can output its individual proof steps, which can be
arbitrarily complex to reconstruct for a system with diferent or more basic deduction rules.
As an extreme example, an ATP may output a proof step justified with “SMT solver said so”,
from which it would be very dificult to recover a posteriori a syntactically strict proof, such as
a sequent calculus or natural deduction proof or a well-typed proof term. Even when systems
output reasonable, low-level steps, there can be many inessential diferences in the exact set of
rules and their syntax.</p>
      <sec id="sec-2-1">
        <title>2.2. Sequent-Based Calculus</title>
        <p>Sequent Calculus is a proof system for (classical) first-order logic (with equality), where
statements are represented by sequents. A sequent is a pair of sets of formulas, typically written
1, ...,  ⊢ 1, ..., 
whose intended semantics is (1 ∧ ... ∧ ) =⇒ (1 ∨ ... ∨ ).</p>
        <p>
          LK &amp; LJ The original sequent calculus LK [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] for classical logic, and its counterpart LJ [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] for
intuitionistic logic, are formals system designed to study natural deduction in first-order logic.
Sequent calculus admits a subformula property, which gives it its high theoretical and practical
relevance. In addition, this calculus also provides a naive (but very ineficient in practice)
complete proof search procedure, on which are built more refined proof-search strategies such
as the method of analytics tableaux.
        </p>
        <p>
          GS3 The Gentzen-Schütte calculus (GS3) [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ] is a one-sided variant of sequent calculus where
formulas are only allowed on the left side. The deduction rules are similar to those of the usual
sequent calculus, but the right rules are replaced by left-negation rules. Except for equality, it is
easy to observe that the three proof systems are equivalent, with GS3 as a middle ground. For
equality reasoning, however, expressing the global closure substitution step using the equality
substitution rules is non-trivial, and will be the topic of Section 4.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. SC-TPTP: Technical Description</title>
      <p>
        We introduce the SC-TPTP format as an over-specification of the TPTP format [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for derivations,
with two level of derivation steps. A derivation is a list of annotated formulas, which can be
conjectures or axioms as in the specification of TPTP problems, or derived from previously
annotated formulas via some inference rule and parameters. Formulas themselves are part of
the FOFX grammar of TPTP (Figure 2), which extends FOF by supporting notation for sequents.
Until now, the FOFX format was defined but “not yet in use”. Technically, TPTP does not
allow free variables. However, they are an integral part of sequent calculus1, and the grammar
supports free variables.
      </p>
      <p>&lt;fof_annotated&gt; ::=
&lt;formula_role&gt; ::=
&lt;fof_formula&gt; ::=
&lt;fof_sequent&gt; ::=</p>
      <p>|
&lt;fof_formula_tuple&gt; ::=
fof(&lt;name&gt;, &lt;formula_role&gt;, &lt;fof_formula&gt;, &lt;annotations&gt;).
assumption | axiom | conjecture | plain
&lt;fof_logical_formula&gt; | &lt;fof_sequent&gt;
&lt;fof_formula_tuple&gt; –&gt; &lt;fof_formula_tuple&gt;
(&lt;fof_sequent&gt;)
[] | [&lt;fof_formula_tuple_list&gt;]
&lt;fof_formula_tuple_list&gt; ::=</p>
      <p>&lt;fof_logic_formula&gt;
|</p>
      <p>&lt;fof_logic_formula&gt;, &lt;fof_formula_tuple_list&gt;</p>
      <p>
        In the original presentation of Gentzen, sequents’ sides are formally lists of formulas, where
order and number of duplicates are significant. This semantics requires additional structural
rules for contraction and permutation of formulas. However, it is more convenient and eficient
(in terms of proof size and number of rules) to consider them as sets. This is the semantic
we chose for SC-TPTP. In particular, formulas in sequents can be duplicated, contracted, and
reordered at will. This does not make proof checking more complex.
1and in general of deductive reasoning, for example in the proof system of HOL Light [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] and in informal mathematics
hyp
leftHyp
leftWeaken
rightWeaken
      </p>
      <p>cut
Γ,  ⊢ , Δ
Γ, , ¬ ⊢ Δ</p>
      <p>Γ ⊢ Δ
Γ,  ⊢ Δ</p>
      <p>Γ ⊢ Δ
Γ ⊢ , Δ
Γ ⊢ , Δ Σ,  ⊢ Π
Γ, Σ ⊢ Δ, Π</p>
      <sec id="sec-3-1">
        <title>3.1. Derivations</title>
        <p>Each step of the derivation is written as an annotated statement of the form
fof(name,role,statement,annotation), in which:
• name is an integer or an alphanumeric identifier starting with a lowercase letter. It is used
to be referred to by other steps of the derivation.
• role is either “axiom”, “conjecture” or “plain”. An “axiom” denotes an accepted formula,
while a “conjecture” holds for the statement the derivation is supposed to prove, but does
not play a logical role. A conjecture should always contain the same formula as the last
derived formula in the proof. The TPTP syntax does not impose specific user semantics</p>
        <p>Rule
Γ, ,  ⊢ Δ
Γ,  ∧  ⊢ Δ
Γ,  ⊢ Δ Σ,  ⊢ Π</p>
        <p>Γ, Σ,  ∨  ⊢ Δ, Π
Γ ⊢ , Δ Σ,  ⊢ Π</p>
        <p>Γ, Σ,  ⇒  ⊢ Δ, Π
Γ, ¬ ⊢ Δ Σ,  ⊢ Π</p>
        <p>Γ, Σ,  ⇒  ⊢ Δ, Π
Γ,  ⇒ ,  ⇒  ⊢ Δ
Γ,  ⇔  ⊢ Δ
Γ ⊢ , Δ
Γ, ¬ ⊢ Δ
Γ,  ⊢ Δ
Γ, ∃. ⊢ Δ
Γ, [ := ] ⊢ Δ
Γ, ∀. ⊢ Δ</p>
        <p>Parameters
i:Int: Index of  ∧  on the left
i:Int: Index of  ∨  on the left
i:Int: Index of  ⇒  on the left
i:Int: Index of  ⇒  on the left
i:Int: Index of  ⇔  on the left
i:Int: Index of ¬ on the left
i:Int: Index of ∃. on the left
y:Var: Variable in place of  in the premise
i:Int: Index of ∀. on the left
t:Term: Term in place of  in the premise
rightAnd
rightOr
rightImp
rightIff
rightNot
rightEx
rightAll
2
1
1
2
1
1
1
Γ ⊢ , Δ Σ ⊢ , Π
Γ, Σ ⊢  ∧ , Δ, Π
Γ ⊢ , , Δ
Γ ⊢  ∨ , Δ
Γ,  ⊢ , Δ
Γ ⊢  ⇒ , Δ
Γ ⊢  ⇒ , Δ Σ ⊢  ⇒ , Π
Γ, Σ ⊢  ⇔ , Δ, Π
Γ,  ⊢ Δ
Γ ⊢ ¬, Δ
Γ, [ := ] ⊢ Δ</p>
        <p>Γ, ∃. ⊢ Δ
Γ, [ := ] ⊢ Δ
Γ, ∀. ⊢ Δ
i:Int: Index of  ∧  on the right
i:Int: Index of  ∨  on the right
i:Int: Index of  ⇒  on the right
i:Int: Index of  ⇔  on the right
i:Int: Index of ¬ on the right
i:Int: Index of ∃. on the right
t:Term: Term in in place of  in the
premise
i:Int: Index of ∀. on the right
y:Var: Variable in place of  in the
premise</p>
        <p>
          to the “plain” role, and thus we use it to denote inferred steps.
• statement can be either of a sequent or a formula. Their syntax can be found in https:
//tptp.org/TPTP/SyntaxBNF.html. For SC-TPTP, a sequent statement is made of two sets
of formulas, while a formula statement is understood as standing for the sequent with an
empty left-hand side and whose right-hand side contains exactly this formula.
• annotation are used to give additional information to the system. If the role of the
statement is “axiom” or “conjecture”, the annotation has no specific requirement in our
format. For “assumption” and “plain” statements, the annotation must be of the form
inference(stepName, [status(thm), p1, ..., p], [r1, ..., r]), in which:
– stepName is one of the entry listed in Table 1-Table 6.
– status(thm) indicates the status of the formula (e.g., a consequence of the premise,
equisatisfiable with regard to the previous step, a negated conjecture, etc.) following
the SZS ontologies [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ]. In SC-TPTP, all steps are deductive inference and hence we
only use the thm status.
– The elements p’s within the parameter list vary in number and shape based on the
proof step (indexes, variables, (first-order) terms ( $fot), etc). They are described in
the 4th column of Table 1-Table 6 and typically indicate how the step is constructed,
thus making its correctness easily verifiable, without requiring inference.
– The elements r’s in the premises list point to the premises of the deduction step.
        </p>
        <p>Their number varies between 0 and 2, depending on the proof step, and are referenced
in the 2nd column of Table 1-Table 6.</p>
        <p>
          Example 3.1. The following example illustrates a valid SC-TPTP derivation.
Example 3.2. SC-TPTP proof of the drinker paradox [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ].
fof(c_drinkers_p, conjecture, (? [X] : d(X) =&gt; (! [Y] : d(Y)))).
fof(f8, assumption, [~(? [X] : d(X) =&gt; (! [Y] : d(Y))),
~(d(X_0) =&gt; (! [Y] : d(Y))), d(X_0), ~(! [Y] : d(Y)), ~d(Sko_0),
~(d(Sko_0) =&gt; (! [Y] : d(Y))), d(Sko_0)] --&gt; [],
inference(leftHyp, [status(thm), 6, 4], [])).
fof(f7, plain, [~(? [X] : d(X) =&gt; (! [Y] : d(Y))),
~(d(X_0) =&gt; (! [Y] : d(Y))), d(X_0), ~(! [Y] : d(Y)), ~d(Sko_0),
~(d(Sko_0) =&gt; (! [Y] : d(Y)))] --&gt; [], inference(leftNotImp, [status(thm), 5], [f8])).
fof(f6, plain, [~(? [X] : d(X) =&gt; (! [Y] : d(Y))),
~(d(X_0) =&gt; (! [Y] : d(Y))), d(X_0), ~(! [Y] : d(Y)), ~d(Sko_0)]
--&gt; [], inference(leftNotEx, [status(thm), 0, $fot(Sko_0)], [f7])).
fof(f5, plain, [ ~(? [X] : d(X) =&gt; (! [Y] : d(Y))),
~(d(X_0) =&gt; (! [Y] : d(Y))), d(X_0), ~(! [Y] : d(Y))] --&gt; [],
inference(leftNotForall, [status(thm), 3, $fot(Sko_0)], [f6])).
fof(f4, plain, [~(? [X] : d(X) =&gt; (! [Y] : d(Y))),
~(d(X_0) =&gt; (! [Y] : d(Y)))] --&gt; [], inference(leftNotImp, [status(thm), 1], [f5])).
fof(f3, plain, [~(? [X] : d(X) =&gt; (! [Y] : d(Y)))] --&gt; [],
inference(leftNotEx, [status(thm), 0, $fot(X_0)], [f4])).
fof(f2, assumption, [(? [X] : d(X) =&gt; (! [Y] : d(Y)))] --&gt;
[(? [X] : d(X) =&gt; (! [Y] : d(Y)))], inference(hyp, [status(thm), 0, 0], [])).
fof(f1, plain, [] --&gt; [(? [X] : d(X) =&gt; (! [Y] : d(Y))),
~(? [X] : d(X) =&gt; (! [Y] : d(Y)))], inference(rightNot, [status(thm), 1], [f2])).
fof(f0, plain, [] --&gt; [(? [X] : d(X) =&gt; (! [Y] : d(Y)))],
inference(cut, [status(thm), 0], [f1, f3])).
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Level 1 Deduction Steps</title>
        <p>We define three levels for deduction steps. Level 1 steps are exactly the 30 steps represented
in Table 1 to Table 5. In this setup, “on the left/right” refers to the left and the right of the
conclusion. Those rules are complete for first order logic with equality, and their correctness is
simple to check. As they represents low-level proof steps they should also be straightforward to
import into any proof system strong enough to accommodate first order logic. They encompass
both the traditional two-sided sequent calculus rules, with antecedents and succedants, as well
as the rules for one-sided sequent calculus typically used for tableaux theorem proving. As
such, the system is not minimal.</p>
        <p>Table 1 presents the first group of rules ( hyp, leftHyp, leftWeaken, rightWeaken, cut),
also called structural rules. The next group of 8 rules introduced in Table 2 is composed by
left introduction rules, all of them describing a specific way a symbol can be introduced. The
subsequent group in Table 3 encompass right introduction rules, dual to the left rules. Then follow
left not introduction rules in Table 4, which are essentially equivalent to the right introduction
rules, but useful for tableaux-style proofs. Finally, rightRefl, leftSubst and rightSubst of
Table 5 support equality reasoning.</p>
        <sec id="sec-3-2-1">
          <title>Parameters and steps correctness</title>
          <p>In an SC-TPTP derivation, inferences with level 1 steps come with a set of parameters that
makes verification straightforward and more eficient, without requiring inference. For most
proof steps, the parameters are only indexes, pointing to the position of the formula targeted
by the proof step. For example, consider a derivation with the rightAnd rule:
fof(ax1, axiom, [] --&gt; [a])
fof(ax2, axiom, [] --&gt; [b])
fof(s1, plain, [] --&gt; [a &amp; b], inference(rightAnd, [status(thm), 0], [ax1, ax2]))
The step s1 is inferred using the rule rightAnd. The index 0 in [0] indicates that the deduced
conjunction is the first formula (on the right-hand side of the conclusion sequent), that is a &amp; b.
This then indicates that a is a formula on the right of the first premise ( ax1) and b a formula on
the right of the second premise (ax2). In the general case, let Γ1 ⊢ Δ1, Γ2 ⊢ Δ2 and Γ3 ⊢ Δ3
be the sequents of ax1, ax2 and s1. To verify that the step is correctly applied, we simply have
to check the following conditions:</p>
          <p>Γ3 == Γ1 ∪ Γ2
{a} ∪ Δ3 == {a &amp; b} ∪ Δ1
{b} ∪ Δ3 == {a &amp; b} ∪ Δ2
Where == is equality on sets. Note that the Δ’s may contain additional occurrences of a, b and
a &amp; b, in which case the step is still valid. All left, right and leftNot propositional steps,
as well as rightRefl and all structural steps but cut work the same way. Note that using hash
sets, these tests can be done in time linear in the size of the sequents.</p>
          <p>Ex and All steps take an additional argument, denoting which subterm or variable is being
quantified. Consider:
fof(s1,plain, [] --&gt; [(f(X) = f(X))],</p>
          <p>inference(rightRefl, [status(thm), 0], []))
fof(s2,plain, [] --&gt; [?[Y]: (f(X) = Y)],</p>
          <p>inference(rightEx, [status(thm), 0, $fot(f(X))], [s1]))
fof(s3,plain, [] --&gt; [![X]: (?[Y]: (f(X) = Y))],</p>
          <p>inference(rightAll, [status(thm), 0, $fot(X)], [s1]))
For s2, the parameter 0 indicates that the first formula in the right of the conclusion has been
quantified, which is ?[Y]: (f(X) = Y). Again in a more general case with arbitrary contexts,
let Γ1 ⊢ Δ1, Γ2 ⊢ Δ2 and Γ3 ⊢ Δ3 be the sequents of s1, s2 and s3. Now, to check the
correctness of s2, we must verify:</p>
          <p>
            Γ1 == Γ2
{(f(X) = Y)[Y := f(X)]} ∪ Δ2 == {?[Y]: (f(X) = Y)} ∪ Δ1
Where [ := ] denotes the (capture-avoiding) substitution of  by  in . Note that the
equality has to be performed modulo alpha-equivalence. This can be done naively in time
(2), but also eficiently either by using some hash function that is congruent with respect
to alpha-equivalence, such as in [
            <xref ref-type="bibr" rid="ref38">38</xref>
            ], or more simply by computing a locally nameless normal
form for formulas.
          </p>
          <p>For step s3, the same checks need to be done, but additionally, it must be verified that the
quantified variable  is not free in the resulting sequent.</p>
          <p>The Cut step is slightly diferent: because its main formula does not appear in the conclusion,
the index indicates instead the position cut formula in the right-hand side of the first premise
(this is arbitrary; we could have pointed instead to the cut formula in the left-hand side of the
second premise).</p>
          <p>Finally, the leftSubst and rightSubst rules are a bit more complex. Consider for example
the following derivation:
fof(a1, axiom, [P(f(a))] --&gt; [])
fof(s1,plain, [P(g(b)), (f(a) = g(b))] --&gt; [],</p>
          <p>inference(leftSubst, [status(thm), 1, $fof(P(Z)), $fot(Z)), [s1]))
The parameter 1 points to the equality f(a) = g(b). The second and third parameters explain
how the substitution is carried, so for general sequents Δ1 and Δ2 as above, the check is:
{P(Z)[Z:=g(b)], f(a) = g(b)} ∪ Δ1 == {P(Z)[Z:=g(a)]} ∪ Δ2</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Level 2 Deduction Steps</title>
        <p>Unlike in level 1, level 2 steps are not entirely fixed and are expected to expand over time.
They contain more advanced proof steps, which may be more dificult to verify, but for which
there should be an available and implemented algorithm eliminating them from a proof. This
mechanism allows Level 1 proofs to be rebuildable from a Level 2 proof. We expect that proofs
relying on level 2 proof steps will be common in practice: each tool will keep those they accept
natively (or can import easily), and eliminate steps they do not support. At present time, we
have implemented three level 2 steps, which were useful to our implementation: left and right
simultaneous substitution of equal terms, and congruence closure. These and their parameters
are shown in Table 6. Another example of a level 2 candidate (not implemented) is an NNF step,
which allows deduce a sequent from a premise whose formulas are equivalent, modulo negation
normal form.</p>
        <p>Simultaneous substitutions are fairly simple. A simultaneous substitution of  formulas can
always be unfolded into  application of leftSubst or rightSubst. Congruence closure is</p>
        <p>NNF
congruence
rightSubstMulti
leftSubstMulti
1
0
1
1</p>
        <p>Rule
Γ ⊢ Δ
Γ′ ⊢ Δ′
Γ,  () ⊢  (), Δ
Γ ⊢  (1, ..., ), Δ
Γ ⊢  (1, ..., ), Δ
Γ,  (1, ..., ) ⊢ Δ
Γ,  (1, ..., ) ⊢ Δ
more technical. A congruence step for a sequent Γ ⊢ Δ is correct if one of the following cases
hold, given all the formulas of the form  =  in Γ:
1. There are two formulas  (1, ..., ) ∈ Γ and  (1, ..., ) ∈ Δ such that for all , 
and  are congruent (hyp case).
2. There are two formulas  (1, ..., ) ∈ Γ and ! (1, ..., ) ∈ Γ such that for all , 
and  are congruent (leftHyp case).</p>
        <p>
          3. There is a formula  =  ∈ Δ such that  and  are congruent (rightRefl case).
This was immediately useful to us because Goéland uses Rigid E-Unification [
          <xref ref-type="bibr" rid="ref39 ref40">39, 40</xref>
          ] to close
branches, which becomes a congruence-like step at proof reconstruction. We implemented a
method to eliminate such congruence steps in SC-TPTP proofs using e-graphs, as explained in
Section 4.2.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. A Library of Utilities for SC-TPTP</title>
      <p>To support the SC-TPTP format, we started the development of a library of tools and utilities to
parse, print, verify, and transform SC-TPTP proofs. We chose Scala to implement it because it
is a high-level language adapted to the task, it is the language of Lisa and Princess (which we
plan to support in the future), and there already exists a complete TPTP parser in Scala, thanks
to Alexander Steen2. This library of tools is available at https://github.com/SC-TPTP/sc-tptp.
2https://github.com/leoprover/scala-tptp-parser</p>
      <p>The library contains the syntactic definition of first-order logic, sequents, and deduction
steps from Table 1 to Table 6. It also contains a parser (based on the aforementioned one) for
SC-TPTP files, as well as a printer and a proof checker, which report incorrect steps. In addition,
the library also contains a printer exporting SC-TPTP proofs to Coq proofs. Finally, it contains
a tool to eliminate level 2 steps (in particular congruence).</p>
      <sec id="sec-4-1">
        <title>4.1. Proof Export to Coq</title>
        <p>The translation of SC-TPTP proofs to Coq proofs is relatively straightforward, as each sequent
calculus step can be translated into a Coq lemma. Our translation relies on a one-to-one mapping
between SC-TPTP rules and Coq lemmas, as exemplified below:
Example 4.1. Translation of rightAnd in Coq.</p>
        <p>Lemma rightAnd : forall P Q : Prop, ( P) → (Q) → (P ∧ Q).</p>
        <p>Proof. intros P Q H. split. auto. auto. Qed.</p>
        <p>Translation of rules that generate one conclusion is pretty direct. However, as Coq is based
on intuitionistic logic, it only allows the conclusion to have at most one element. Consequently,
rules that create two formulas on the right of the sequent must be rearranged to work with the
hypothesis, as in the following example:
Example 4.2. Translation of rightOr in Coq.</p>
        <p>Lemma rightOr : forall P Q : Prop, ∼ (∼ P ∧ ∼ Q) → (P ∨ Q).</p>
        <p>Proof. intros P Q H. apply NNPP. intro H1. apply H. split. auto. auto. Qed.</p>
        <p>This lemma negates the formula, which subsequently allows us to introduce it and generate
multiple formulas within the hypothesis. In order to make use of those rules, we need to use
apply on the corresponding hypothesis before applying right rules, and to end with intro. For
instance, the sequent system right or rule would generate P, Q in the conclusion of the sequent.
Our Coq rule enables that by keeping ¬P and ¬Q as hypotheses. As such, when needing P or Q,
it sufices to apply ¬P or ¬Q and then proceed normally.</p>
        <p>Moreover, left rules require an additional mechanism to be translated into Coq. Indeed, in
Coq, two things can be achieved thanks to a formula A -&gt; B in the hypothesis: either we have
B in the conclusion and we can generate A in the conclusion, or we have A as a hypothesis and
we can generate B in the hypothesis. However, as our proof is built on an abductive way, we
want to obtain A in hypothesis from a hypothesis B. In order to do that, complementarily to the
rule itself, we need to define additional lemmas that “invert” the terms in the proof. We thus
need to consider a proof with “holes”, and wait for Coq to fill them.</p>
        <p>Let us illustrate it with the left implies rule. The sequent rule states that from two premises
(one with ¬P and the other one with Q as hypothesis), we can infer P -&gt; Q as a hypothesis.
However, in our proof, we have P -&gt; Q, and so we are not able to deduce anything. Luckily,
we can define a lemma that inverts the rule in order to make it applicable with the conclusion
P− &gt; Q, leaving a hole in the hypothesis, which we will have to prove later by providing a
witness for ¬P and Q. Those inversion steps are sufixed with _s.</p>
        <p>Example 4.3. Translation of leftImp in Coq.</p>
        <p>Lemma leftImply_s : forall P Q : Prop,</p>
        <p>( ∼ P → False) → (Q → False) → ((P → Q) → False).</p>
        <p>Proof. tauto. Qed.</p>
        <p>Definition leftImply := fun P Q c hp hq ⇒ leftImply_s P Q hp hq c.</p>
        <p>Finally, the context of the proof (i.e., constant, predicates, functions, etc, converted into
Parameters) is retrieved and added at the beginning of the proof.</p>
        <p>Example 4.4. Context for the Drinker’s paradox proof.</p>
        <p>Parameter sctptp_U : Set. (* universe *)
Parameter sctptp_I : sctptp_U. (* an individual in the universe. *)
Parameter d: sctptp_U → Prop.</p>
        <p>Parameter X_0: sctptp_U.</p>
        <p>
          All the lemmas used for the translation can be found in SC-TPTP.v (https://github.com/
SC-TPTP/sc-tptp/tree/main/src). Then, the translation of a full proof can be done by mapping
each proof step to its corresponding lemma, using the parameters of the rule.
Example 4.5. Coq proof of the Drinker’s paradox [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ].
(* Add SCTPTP.p *)
Parameter sctptp_U : Set. (* universe *)
Parameter sctptp_I : sctptp_U. (* an individual in the universe. *)
Parameter d: sctptp_U → Prop.
        </p>
        <p>Parameter X_0: sctptp_U.</p>
        <p>Theorem drinker: ∼ (∼ (exists (X: sctptp_U), ( d(X) → (forall (Y: sctptp_U), d(Y))))).
Proof.
intro H0.
(* [f3] *) apply H0. exists X_0. apply NNPP. intros H1.
(* [f4] *) apply (leftNotImp _ _ H1). intros H2 H3.
(* [f5] *) apply H3. intros Sko_0_15. apply NNPP. intros H4.
(* [f6] *) apply H0. exists Sko_0_15. apply NNPP. intros H5.
(* [f7] *) apply (leftNotImp _ _ H5). intros H6 H7.
(* [f8] *) auto.</p>
        <p>Qed.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Unfolding Congruence Steps</title>
        <p>
          As motivated in Section 3.3, to have congruence as a level 2 step, we implemented an algorithm
unfolding congruence steps into simpler substitution steps. Our approach is based on computing
the congruence closure of all subterms of all atomic and negated atomic formulas in the sequent
under the equality given left of a sequent. The congruence closure is computed using an e-graph,
a dedicated data structure used in automated theorem provers and program optimization. Our
implementation of egraph is in particular inspired by [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] and [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ].
        </p>
        <p>Goéland</p>
        <p>SC-TPTP Utils</p>
        <p>Lisa</p>
        <p>Coq Proof Assistant</p>
        <p>
          An e-graph is built on top of a Union-Find data structure, which maintains an equivalence
class of terms under a given set of equality (which in an e-graph are either the input equalities
or equalities that follow from congruence). To produce SC-TPTP proofs, our Union-Find data
structure is equipped with an explain method, as in [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ], which when prompted to explain
 =  outputs a path (, 1), (1, 2), ..., (, ) of equalities. We also record whether an edge
comes from an external equality or is a congruence. Congruence edges are then recursively
justified by the explain method.
        </p>
        <p>Example 4.6. Consider the following sequent, justified by a congruence step:
( = ,  = ,  ( ())) ⊢ ¬ ( ())
The explanation of  () =  () is simply congruence( (),  ()), and recursively the
explanation of  =  is external(, ), external(, ). For any two congruent terms, the proof of equality
is produced with a constant number of steps for each edge in the path between the two terms.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Interoperability &amp; Related Tools</title>
      <p>This section introduces various tools able to deal with the SC-TPTP format. This format is
currently used by the Lisa proof assistant and the Goéland automated theorem prover, as an
export format as well as a means of communication between the two tools. A big picture of the
SC-TPTP format use case is available in Figure 3.</p>
      <sec id="sec-5-1">
        <title>5.1. Goéland</title>
        <p>
          Goéland [
          <xref ref-type="bibr" rid="ref3 ref42">3, 42</xref>
          ] is an automated theorem prover for first-order logic with equality. It relies on a
concurrent proof-search procedure based on the method of free-variable analytics tableaux that
allows it to perform a fair branch exploration. The prover is also able to deal with axiomatisable
theories thanks to a module of deduction modulo theory [
          <xref ref-type="bibr" rid="ref43">43</xref>
          ], to deal with polymorphic types,
and to produce machine-checkable proofs in Coq, Lambdapi and Lisa.
5.2. Lisa
Lisa [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] is a proof assistant based on first-order logic, with set-theoretic foundations. Its proof
system is inspired by sequent calculus, with additional built-in proof steps to allow for a more
eficient representation of typical transformation, such as the substitution of equivalent formulas,
simultaneous substitution, quantified substitution, and transformation modulo orthologic [
          <xref ref-type="bibr" rid="ref44 ref45">44,
45</xref>
          ]. All the proof steps from Table 1 to Table 5 are readily convertible to Lisa’s Kernel steps.
        </p>
        <p>We implemented a printer, that exports queries about a conjectured sequent as a SC-TPTP
problem file (but really a TPTP file, since it contains no proof), and a parser for SC-TPTP proofs
directly to Lisa’s Kernel proofs. This allowed us to implement a proof tactic in the user interface,
directly using Goéland to justify steps prompted by a Lisa user, as in the next example.</p>
        <p>Example 5.1. The Goéland tactic in Lisa, proving the drinkers problem.
1 val drinkers = Theorem(∃(x, ∀(y, Q(x) ==&gt; Q(y)))) {
2 have(thesis) by Goeland
3 }</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>Our goal with SC-TPTP is to provide a common format to allow sequent-based tools to
communicate and exchange proofs, but the adoption of such a format entirely relies on the involvement
of the community. In order to increase its potential user base, we plan to expand this format in
multiple directions.</p>
      <p>
        The first one will be to increase the number of tools able to deal with this format, starting
with tableau-based theorem provers such as Princess [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ] or Zenon [
        <xref ref-type="bibr" rid="ref31 ref32">31, 32</xref>
        ]. We also want
to support the Connection Calculus [
        <xref ref-type="bibr" rid="ref47 ref48">47, 48</xref>
        ], related to Tableaux and used by the Connect++
ATP [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] and unify with existing work to export proofs from connection calculi to TPTP. Longer
term, we are interested in generalizing our tool to resolution, but this requires additional steps
in order to make resolution proofs readily machine-checkable.
      </p>
      <p>
        Our proof system can be expanded in many ways, which we hope to explore in the future.
An important extension would be the support for typed first order logic. In order to do this, our
format needs to be extended to fit with TFF [ 49]. The addition of theory reasoning is also of
interest. Theory rules should be possible to add as high-level proof steps, that could be either
exported as-is in a proof assistant (if this later is able to deal with the theory), or unfolded in
the same way as equality reasoning. Deskolemization [50, 51] is also a strong candidate step.
We plan to extend our proof-producing module to export proofs to other proof assistants, such
as Lambdapi [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Isabelle [52] or Lean [53].
      </p>
      <p>While developping SC-TPTP, we have also encountered limitations within the TPTP syntax.
As part of our commitment to continuous improvement, we are eager to ofer suggestions for
refinement. These suggestions may include introducing an exists unique quantifier,
permitting -ary conjunctions and disjunctions, or proposing a specialized character for expressing
identifiers in TPTP files, allowing to bind and reuse formulas (and other syntactic expressions).
By addressing these limitations, we aim to fortify the foundation of our framework for the
collective benefit of the community.</p>
      <p>Acknoledgment This publication is based upon work from COST Action EuroProofNet,
supported by COST (European Cooperation in Science and Technology, www.cost.eu)
mated Reasoning with Analytic Tableaux and Related Methods, Lecture Notes in
Computer Science, Springer International Publishing, Cham, 2015, pp. 102–111. doi:10.1007/
978-3-319-24312-2_8.
[49] J. C. Blanchette, A. Paskevich, Tf1: The tptp typed first-order form with rank-1
polymorphism, in: Automated Deduction–CADE-24: 24th International Conference on Automated
Deduction, Lake Placid, NY, USA, June 9-14, 2013. Proceedings 24, Springer, 2013, pp.
414–420.
[50] R. Bonichon, O. Hermant, A Syntactic Soundness Proof for Free-Variable Tableaux with
on-the-fly Skolemization, 2013.
[51] J. Rosain, R. Bonichon, J. Cailler, O. Hermant, A generic deskolemization strategy, in: Logic
for Programming, Artificial Intelligence, and Reasoning: 25th International Conference,
LPAR-25, Balaclava, Mauritius, May 26-31, 2024. Proceedings 25, Springer, 2024.
[52] T. Nipkow, M. Wenzel, L. C. Paulson, Isabelle/HOL: a proof assistant for higher-order logic,</p>
      <p>Springer, 2002.
[53] J. Avigad, L. De Moura, S. Kong, Theorem proving in lean, Release 3 (2015) 1–4.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>G. Sutclife,</surname>
          </string-name>
          <article-title>The logic languages of the TPTP world</article-title>
          ,
          <source>Logic Journal of the IGPL</source>
          <volume>31</volume>
          (
          <year>2023</year>
          )
          <fpage>1153</fpage>
          -
          <lpage>1169</lpage>
          . doi:
          <volume>10</volume>
          .1093/jigpal/jzac068.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Guilloud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gambhir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kuncak</surname>
          </string-name>
          , LISA
          <article-title>- A Modern Proof System</article-title>
          ,
          <source>in: 14th Conference on Interactive Theorem Proving</source>
          , Leibniz International Proceedings in Informatics, Daghstuhl, Bialystok,
          <year>2023</year>
          , pp.
          <volume>17</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          :
          <fpage>19</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <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>
          , Goéland:
          <string-name>
            <given-names>A Concurrent</given-names>
            <surname>Tableau-Based Theorem</surname>
          </string-name>
          <article-title>Prover (System Description)</article-title>
          , in: J.
          <string-name>
            <surname>Blanchette</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Kovács</surname>
          </string-name>
          , D. Pattinson (Eds.),
          <source>Automated Reasoning, Lecture Notes in Computer Science</source>
          , Springer International Publishing, Cham,
          <year>2022</year>
          , pp.
          <fpage>359</fpage>
          -
          <lpage>368</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -10769-6_
          <fpage>22</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kohlhase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rabe</surname>
          </string-name>
          , Experiences from Exporting Major Proof Assistant Libraries,
          <source>Journal of Automated Reasoning</source>
          <volume>65</volume>
          (
          <year>2021</year>
          )
          <fpage>1265</fpage>
          -
          <lpage>1298</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10817-021-09604-0.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Barbosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brain</surname>
          </string-name>
          , G. Kremer,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lachnitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niemetz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nötzli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ozdemir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Preiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Reynolds</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tinelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Zohar,</surname>
          </string-name>
          <article-title>Cvc5: A Versatile and Industrial-Strength SMT Solver</article-title>
          , in: D.
          <string-name>
            <surname>Fisman</surname>
          </string-name>
          , G. Rosu (Eds.),
          <article-title>Tools and Algorithms for the Construction and Analysis of Systems</article-title>
          , volume
          <volume>13243</volume>
          , Springer International Publishing, Cham,
          <year>2022</year>
          , pp.
          <fpage>415</fpage>
          -
          <lpage>442</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -99524-9_
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Assaf</surname>
          </string-name>
          , G. Burel,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cauderlier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Delahaye</surname>
          </string-name>
          , G. Dowek,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dubois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gilbert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Halmagrand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Hermant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Saillard</surname>
          </string-name>
          ,
          <article-title>Dedukti: a logical framework based on the  -calculus modulo theory (</article-title>
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Sutclife</surname>
          </string-name>
          ,
          <article-title>The TPTP Problem Library and Associated Infrastructure</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          <volume>59</volume>
          (
          <year>2017</year>
          )
          <fpage>483</fpage>
          -
          <lpage>502</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10817-017-9407-7.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Böhme</surname>
          </string-name>
          , T. Weber,
          <article-title>Designing proof formats: A user's perspective-experience report</article-title>
          ,
          <source>in: First International Workshop on Proof eXchange for Theorem Proving-PxTP</source>
          <year>2011</year>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>G.</given-names>
            <surname>Reger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Suda</surname>
          </string-name>
          ,
          <article-title>Checkable proofs for first-order theorem proving</article-title>
          .,
          <source>in: ARCADE@ CADE</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>63</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>N.</given-names>
            <surname>Wetzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Heule</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. A.</given-names>
            <surname>Hunt</surname>
          </string-name>
          <string-name>
            <surname>Jr</surname>
          </string-name>
          ,
          <article-title>Drat-trim: Eficient checking and trimming using expressive clausal proofs</article-title>
          ,
          <source>in: International Conference on Theory and Applications of Satisfiability Testing</source>
          , Springer,
          <year>2014</year>
          , pp.
          <fpage>422</fpage>
          -
          <lpage>429</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>L.</given-names>
            <surname>Cruz-Filipe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Heule</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. A.</given-names>
            <surname>Hunt</surname>
          </string-name>
          , M. Kaufmann,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schneider-Kamp</surname>
          </string-name>
          ,
          <article-title>Eficient certified rat verification</article-title>
          ,
          <source>in: Automated Deduction-CADE 26: 26th International Conference on Automated Deduction, Gothenburg, Sweden, August</source>
          <volume>6</volume>
          -
          <issue>11</issue>
          ,
          <year>2017</year>
          , Proceedings, Springer,
          <year>2017</year>
          , pp.
          <fpage>220</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Stump</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Oe</surname>
          </string-name>
          ,
          <article-title>Towards an smt proof format</article-title>
          ,
          <source>in: Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on bit-precise reasoning</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>27</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>H.</given-names>
            <surname>Barbosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brain</surname>
          </string-name>
          , G. Kremer,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lachnitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niemetz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nötzli</surname>
          </string-name>
          , et al.,
          <article-title>cvc5: A versatile and industrial-strength smt solver</article-title>
          ,
          <source>in: International Conference on Tools and Algorithms for the Construction and Analysis of Systems</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>415</fpage>
          -
          <lpage>442</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>L. De Moura</surname>
            ,
            <given-names>N. Bjørner,</given-names>
          </string-name>
          <article-title>Z3: An eficient smt solver</article-title>
          ,
          <source>in: International conference on Tools and Algorithms for the Construction and Analysis of Systems</source>
          , Springer,
          <year>2008</year>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <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>Proofs and refutations, and z3</article-title>
          ., in: LPAR Workshops, volume
          <volume>418</volume>
          ,
          <string-name>
            <surname>Doha</surname>
          </string-name>
          , Qatar,
          <year>2008</year>
          , pp.
          <fpage>123</fpage>
          -
          <lpage>132</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>F.</given-names>
            <surname>Besson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fontaine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Théry</surname>
          </string-name>
          ,
          <article-title>A flexible proof format for smt: A proposal</article-title>
          ,
          <source>in: First International Workshop on Proof eXchange for Theorem Proving-PxTP</source>
          <year>2011</year>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hoenicke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <article-title>A simple proof format for smt</article-title>
          .,
          <source>in: SMT</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>54</fpage>
          -
          <lpage>70</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>H.-J. Schurr</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Fleury</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Barbosa</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Fontaine</surname>
          </string-name>
          , Alethe:
          <article-title>Towards a generic smt proof format</article-title>
          ,
          <source>arXiv preprint arXiv:2107.02354</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>T.</given-names>
            <surname>Bouton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Caminha B. de Oliveira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Déharbe</surname>
          </string-name>
          , P. Fontaine,
          <article-title>verit: an open, trustable and eficient smt-solver</article-title>
          ,
          <source>in: International Conference on Automated Deduction</source>
          , Springer,
          <year>2009</year>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>156</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Holden</surname>
          </string-name>
          ,
          <article-title>A syntax for connection proofs (</article-title>
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <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>Journal of Symbolic Computation</source>
          <volume>36</volume>
          (
          <year>2003</year>
          )
          <fpage>139</fpage>
          -
          <lpage>161</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Holden</surname>
          </string-name>
          , Connect++
          <article-title>: A New Automated Theorem Prover Based on the Connection Calculus</article-title>
          , in: J.
          <string-name>
            <surname>Otten</surname>
          </string-name>
          , W. Bibel (Eds.),
          <source>Proceedings of the 1st International Workshop on Automated Reasoning with Connection Calculi (AReCCa</source>
          <year>2023</year>
          )
          <article-title>Afiliated with the 32nd</article-title>
          <source>International Conference on Automated Reasoning with Analytic Tableaux and Related Methods (TABLEAUX</source>
          <year>2023</year>
          ), Prague, Czech Republic,
          <year>September 18</year>
          ,
          <year>2023</year>
          , volume
          <volume>3613</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>95</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S.</given-names>
            <surname>Baek</surname>
          </string-name>
          ,
          <article-title>The tesc proof format for first-order atps</article-title>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kovács</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          ,
          <article-title>First-order theorem proving and vampire</article-title>
          , in: International Conference on Computer Aided Verification, Springer,
          <year>2013</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cruanes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Vukmirović</surname>
          </string-name>
          , Faster, higher,
          <source>stronger: E 2</source>
          .3, in:
          <source>Automated Deduction-CADE 27: 27th International Conference on Automated Deduction, Natal, Brazil, August 27-30</source>
          ,
          <year>2019</year>
          , Proceedings 27, Springer,
          <year>2019</year>
          , pp.
          <fpage>495</fpage>
          -
          <lpage>507</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>G.</given-names>
            <surname>Sutclife</surname>
          </string-name>
          ,
          <article-title>Semantic derivation verification: Techniques and implementation</article-title>
          ,
          <source>International Journal on Artificial Intelligence Tools</source>
          <volume>15</volume>
          (
          <year>2006</year>
          )
          <fpage>1053</fpage>
          -
          <lpage>1070</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Willsey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Nandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. R.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Flatt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Tatlock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Panchekha</surname>
          </string-name>
          ,
          <article-title>Egg: Fast and extensible equality saturation</article-title>
          ,
          <source>Proceedings of the ACM on Programming Languages</source>
          <volume>5</volume>
          (
          <year>2021</year>
          )
          <volume>23</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>23</lpage>
          :
          <fpage>29</fpage>
          . doi:
          <volume>10</volume>
          .1145/3434304.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gentzen</surname>
          </string-name>
          ,
          <article-title>Untersuchungen über das logische Schließen I, Mathematische Zeitschrift 39 (</article-title>
          <year>1935</year>
          )
          <fpage>176</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gentzen</surname>
          </string-name>
          ,
          <article-title>Untersuchungen über das logische schließen</article-title>
          . ii.,
          <source>Mathematische zeitschrift 39</source>
          (
          <year>1935</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>P.</given-names>
            <surname>Rümmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Constraint</given-names>
            <surname>Sequent</surname>
          </string-name>
          <article-title>Calculus for First-Order Logic with Linear Integer Arithmetic</article-title>
          , in: I. Cervesato,
          <string-name>
            <given-names>H.</given-names>
            <surname>Veith</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Voronkov (Eds.),
          <source>Logic for Programming</source>
          ,
          <source>Artiifcial Intelligence, and Reasoning, Lecture Notes in Computer Science</source>
          , Springer, Berlin, Heidelberg,
          <year>2008</year>
          , pp.
          <fpage>274</fpage>
          -
          <lpage>289</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -89439-1_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bonichon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Delahaye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Doligez</surname>
          </string-name>
          ,
          <source>Zenon: An Extensible Automated Theorem Prover Producing Checkable Proofs</source>
          , in: N.
          <string-name>
            <surname>Dershowitz</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Voronkov (Eds.),
          <source>Logic for Programming</source>
          ,
          <source>Artificial Intelligence, and Reasoning</source>
          , volume
          <volume>4790</volume>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2007</year>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>165</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -75560-9_
          <fpage>13</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>D.</given-names>
            <surname>Delahaye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Doligez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gilbert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Halmagrand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Hermant</surname>
          </string-name>
          , Zenon Modulo:
          <article-title>When Achilles Outruns the Tortoise Using Deduction Modulo</article-title>
          , in: D.
          <string-name>
            <surname>Hutchison</surname>
          </string-name>
          , T. Kanade, doi:10.1007/978-3-
          <fpage>642</fpage>
          -45221-5_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>B.</given-names>
            <surname>Beckert</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Posegga,</surname>
          </string-name>
          <article-title>LeanTAP: Lean tableau-based theorem proving</article-title>
          , in: A.
          <string-name>
            <surname>Bundy</surname>
          </string-name>
          (Ed.),
          <source>Automated Deduction - CADE-12, Lecture Notes in Computer Science</source>
          , Springer, Berlin, Heidelberg,
          <year>1994</year>
          , pp.
          <fpage>793</fpage>
          -
          <lpage>797</lpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-58156-1_
          <fpage>62</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Troelstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Schwichtenberg</surname>
          </string-name>
          , Basic Proof Theory, Cambridge Tracts in Theoretical Computer Science, 2 ed., Cambridge University Press, Cambridge,
          <year>2000</year>
          . doi:
          <volume>10</volume>
          .1017/ CBO9781139168717.
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>J.</given-names>
            <surname>Harrison</surname>
          </string-name>
          , HOL Light:
          <article-title>An Overview</article-title>
          , in: S. Berghofer,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nipkow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Urban</surname>
          </string-name>
          , M. Wenzel (Eds.),
          <source>Theorem Proving in Higher Order Logics</source>
          , volume
          <volume>5674</volume>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2009</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>66</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -03359-
          <issue>9</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <surname>G. Sutclife,</surname>
          </string-name>
          <article-title>The szs ontologies for automated reasoning software</article-title>
          .,
          <source>in: LPAR Workshops</source>
          , volume
          <volume>418</volume>
          ,
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <surname>R. M. Smullyan</surname>
          </string-name>
          ,
          <article-title>What is the name of this book? The riddle of Dracula and other logical puzzles, Englewood Clifs</article-title>
          ,
          <string-name>
            <given-names>N.J.</given-names>
            :
            <surname>Prentice-Hall</surname>
          </string-name>
          ,
          <year>1978</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>K.</given-names>
            <surname>Maziarz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ellis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lawrence</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fitzgibbon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. P.</given-names>
            <surname>Jones</surname>
          </string-name>
          , Hashing Modulo AlphaEquivalence (
          <year>2021</year>
          )
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Gallier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Raatz</surname>
          </string-name>
          , W. Snyder,
          <string-name>
            <surname>Theorem Proving Using Rigid E-Unification Equational</surname>
          </string-name>
          Matings,
          <source>in: Proceedings of the Symposium on Logic in Computer Science (LICS '87)</source>
          , Ithaca, New York, USA, June 22-25,
          <year>1987</year>
          , IEEE Computer Society,
          <year>1987</year>
          , pp.
          <fpage>338</fpage>
          -
          <lpage>346</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>A.</given-names>
            <surname>Degtyarev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          ,
          <article-title>What you always wanted to know about rigid e-unification</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          <volume>20</volume>
          (
          <year>1998</year>
          )
          <fpage>47</fpage>
          -
          <lpage>80</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>R.</given-names>
            <surname>Nieuwenhuis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Oliveras</surname>
          </string-name>
          ,
          <string-name>
            <surname>Proof-Producing Congruence</surname>
          </string-name>
          Closure, in: J.
          <string-name>
            <surname>Giesl</surname>
          </string-name>
          (Ed.),
          <source>Term Rewriting and Applications</source>
          , 16th International Conference, RTA 2005, Nara, Japan,
          <source>April 19-21</source>
          ,
          <year>2005</year>
          , Proceedings, volume
          <volume>3467</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2005</year>
          , pp.
          <fpage>453</fpage>
          -
          <lpage>468</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -32033-3_
          <fpage>33</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cailler</surname>
          </string-name>
          ,
          <source>Designing an Automated Concurrent Tableau-Based Theorem Prover for FirstOrder Logic, Ph.D. thesis</source>
          , Université de Montpellier,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>G.</given-names>
            <surname>Dowek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hardin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kirchner</surname>
          </string-name>
          ,
          <article-title>Theorem proving modulo</article-title>
          ,
          <source>Journal of Automated Reasoning</source>
          <volume>31</volume>
          (
          <year>2003</year>
          )
          <fpage>33</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>S.</given-names>
            <surname>Guilloud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bucev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Milovancevic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kuncak</surname>
          </string-name>
          , Formula Normalizations in Verification,
          <source>in: 35th International Conference on Computer Aided Verification, Lecture Notes in Computer Science</source>
          , Springer, Paris,
          <year>2023</year>
          , pp.
          <fpage>398</fpage>
          -
          <lpage>422</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>S.</given-names>
            <surname>Guilloud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kuncak</surname>
          </string-name>
          , Orthologic with Axioms,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .48550/arXiv.2307.07569. arXiv:
          <volume>2307</volume>
          .
          <fpage>07569</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>P.</given-names>
            <surname>Rümmer</surname>
          </string-name>
          ,
          <article-title>A constraint sequent calculus for first-order logic with linear integer arithmetic</article-title>
          ,
          <source>in: Proceedings, 15th International Conference on Logic for Programming</source>
          ,
          <source>Artificial Intelligence and Reasoning</source>
          , volume
          <volume>5330</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2008</year>
          , pp.
          <fpage>274</fpage>
          -
          <lpage>289</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>J.</given-names>
            <surname>Otten</surname>
          </string-name>
          ,
          <source>Connection Calculi for Automated Theorem Proving in Classical and Non-Classical Logics, Ph.D. thesis</source>
          , University of Potsdam,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          [48]
          <string-name>
            <given-names>C.</given-names>
            <surname>Kaliszyk</surname>
          </string-name>
          ,
          <article-title>Eficient Low-Level Connection Tableaux</article-title>
          , in: H. De Nivelle (Ed.), Auto-
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>