<!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>On Checking Kripke Models for Modal Logic K</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jean-Marie Lagniez</string-name>
          <email>lagniez@cril.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Le Berre</string-name>
          <email>leberre@cril.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valentin Montmirail</string-name>
          <email>montmirail@cril.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CRIL, Univ. Artois and CNRS</institution>
          ,
          <addr-line>F62300 Lens</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Tiago de Lima</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2000</year>
      </pub-date>
      <fpage>69</fpage>
      <lpage>81</lpage>
      <abstract>
        <p>This article presents our work toward a rigorous experimental comparison of state-of-the-art solvers for the resolution of the satisfiability of formulae in modal logic K. Our aim is to provide a pragmatic way to verify the answers provided by those solvers. For this purpose, we propose a certificate format and a checker to validate Kripke models for modal logic K. We present some experimental results using efficient solvers modified to incorporate this verification step. We have been able to validate at least one certificate for 67 percent of the satisfiable problems, which provides a set of benchmark with independently checked solution which can be used to validate new solvers. We discuss the limits of our approach in the last part of this article.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The remainder of the paper is organised as follows. Section 2 presents the basic modal logic K, its syntax and
semantics. Section 3 presents the algorithm used for the verification of the certificates. Section 4 presents the
I/O formats we propose for the certificates. In Section 5 we present the settings of our experimental evaluation
whose results are presented and discussed in the subsequent section. The final section draws some conclusions
and provides some followup research directions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries: Modal Logic K</title>
      <p>Definition 2.1. The language of Modal Logic K (or simply K) is the language of classical propositional logic
extended with 2 unary operators: and .</p>
      <p>A formula of the form
means ϕ is possibly true.</p>
      <p>ϕ (box phi) means ϕ is necessarily true. A formula of the form
ϕ (diamond phi)
Definition 2.2 (Modal Depth). The modal depth of a formula ϕ in the language K, noted md(ϕ), is defined by
(where ⊕ ∈ {∧, ∨, →, ↔}):</p>
      <p>md(p) = md(&gt;) = md(⊥) = 0
md(¬ϕ) = md(ϕ)
md(ϕ ⊕ ψ) = max(md(ϕ), md(ψ))</p>
      <p>md( ϕ) = md( ϕ) = 1 + md(ϕ)</p>
      <p>For example, md( (p1 ∨
uses Kripke models.</p>
      <p>p2 ∨</p>
      <p>
        p3)) = 2. The language K is interpreted using Kripke semantics [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which
Definition 2.3 (Kripke Model). Let a non-empty countable set of propositional variables P be given. A Kripke
model is a triplet M = hW, R, Ii, where: W is a non-empty set of possible worlds; R is a binary relation on W
(called accessibility relation); and I is a function which associates, to each p ∈ P , the set of possible worlds from
W where p is true.
      </p>
      <p>Example 2.1. Let M = hW, R, Ii, where: W = {ω0, ω1, ω2}, R =
{(p1, {ω1, ω2}), (p2, {ω0, ω1})}. A graphical representation of M is given in Figure 1.
{(ω0, ω1), (ω1, ω2)}, I
=
Definition 2.4 (Pointed Kripke Model). A pointed Kripke model is a pair hM, ω0i, where M is a Kripke model
and ω0 is a possible world in W .</p>
      <p>In the rest of the paper, we will simply use “model” to denote a “pointed Kripke model”.</p>
      <p>Definition 2.5 (Satisfaction Relation). The satisfaction relation between formulae and models is recursively
defined as follows (the semantics of the operators &gt;, ⊥, ∨ , → and ↔ is defined as usual):
M, ω
M, ω
M, ω
M, ω
M, ω
p iff ω ∈ I(p)
¬ϕ iff M, ω 2 ϕ
ϕ ∧ ψ iff M, ω ϕ and M, ω ψ
ϕ iff for all v if (ω, v) ∈ R then M, v</p>
      <p>ϕ
ϕ iff there exists v such that (ω, v) ∈ R and M, v
ϕ
Definition 2.6 (Satisfiability). A formula ϕ is satisfiable in K if and only if there exists a model hM, ω0i that
satisfies ϕ.</p>
      <p>Definition 2.7 (Validity). A formula ϕ is valid in K if and only if every model hM, ω0i satisfies ϕ.
Definition 2.8 (K-Satisfiability Problem). Let ϕ be a formula in the language K. The K-satisfiability problem
(K-SAT) is the problem of answering YES or NO to the question “Is ϕ satisfiable?”.</p>
      <p>
        As one might expect, software trying to solve this problem may try to find a model that satisfies the formula
given as input. If such model is found, the software can answer YES (or SAT) and provides the model to justify
its answer. However, the size of the model may be exponential in the size of the input. Indeed, K-SAT is
PSPACE-complete [
        <xref ref-type="bibr" rid="ref14 ref21">14, 21</xref>
        ]. In this paper, we are interested in the practical aspects of model verification i.e., to
know in practice how big are such models, and how many of them could be checked.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Checking satisfiable answers</title>
      <p>As mentioned in the introduction, it is important to be able to verify the answers given by the K-SAT solvers
being evaluated. Ideally, when a K-SAT solver answers SAT, it should also provide a certificate, a model. Such
an answer could thus be independently verified to check that it satisfies the input formula.</p>
      <p>
        The method used to verify certificates amounts to what is commonly called Model Checking [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Several
approaches to modal logic model checking can be found in the literature [
        <xref ref-type="bibr" rid="ref10 ref27 ref7">7, 10, 27</xref>
        ]. However, to the best of our
knowledge, those existing checkers are designed for logics that are different from K (often Temporal Logic) and
therefore are not easily adaptable to the task of checking a modal logic K model.
      </p>
      <p>The algorithm we use is based on Algorithm 1, with a reasonable effort in the implementation to make it
efficient enough to check the certificates produced in our experimental evaluation in reasonable time (less than
300s). The code is written in C++ and accessible online1.</p>
      <p>Algorithm 1: check(ϕ,M ,ωi)</p>
      <p>Data: ϕ: a formula, M : a model, ωi : a world</p>
      <p>Result: true if M, ωi ϕ, f alse otherwise
1 begin
2 if (ϕ = ψ) then
3 for each ωj successor of ωi do
4 if (not check(ψ, M, ωj)) then
5 return f alse
6
if (ϕ = (ψ ∧ φ)) then</p>
      <p>return (check(ψ, M, ωi) ∧ check(φ, M, ωi))
if (ϕ = (ψ ∨ φ)) then</p>
      <p>return (check(ψ, M, ωi) ∨ check(φ, M, ωi))
if (ϕ = ¬ψ) then return (not check(ψ, M, ωi))
if (ϕ = pj) then return (M [ωi] contains pj)</p>
      <p>The recursive function check() is called with the model provided by the K-SAT solver. Its correctness is easily
verified, as it implements each clause of Definition 2.5. Nonetheless, we still had to optimise the procedure. To
see why, assume the following input formula ϕ = p1 ∧ p2 ∧ · · · ∧ pn. An efficient way to generate a model for
this formula is to start with a possible world ω0 and create a new accessible world ωi for each sub-formula pi
of ϕ. This is indeed what some of the solvers we tested do.</p>
      <p>Unfortunately, the procedure in Algorithm 1 is very inefficient to check that a model generated in this way
indeed satisfies ϕ. This is because, for each conjunct pi of ϕ, the procedure will check if each possible world
ωi satisfies pi: first, it takes the first conjunct p1 and successfully checks p1 against ω1; then, it takes p2 and
1http://www.cril.univ-artois.fr/˜montmirail/mdk-verifier
checks p2 against ω1, and fails; it checks p2 against ω2 and succeed; and so on. In the i-th iteration, it checks pi
against i possible worlds before succeeding. It is clear that the model checking procedure takes much more time
to finish than the satisfiability procedure itself. Indeed, the naive algorithm could not verify (in a reasonable
time) the majority of the models proposed as solution.</p>
      <p>To minimise this problem, we used a kind of caching. On the i-th iteration, the procedure does not check only
pi against ωi, but also all sub-formulae of ϕ, and then stores the results on ωi. When it comes back to ω0, it
does not need to explore ωi again. On the iteration i + 1, if necessary, it goes directly to the unexplored worlds,
thus starting from ωi+1.</p>
      <p>The second optimisation deals with formulae of the form . . . p1. Here, the satisfiability method will create
a long chain of possible worlds. Instead of exploring them one by one, the optimised algorithm stores the length
of those chains of “empty possible worlds”, and jumps directly to the last possible world when necessary.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Input and Output Formats</title>
      <p>
        There exists several different input formats for modal logic. Among them, we can cite ALC, used by *SAT [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
For example, the formula ((p → q) ∧ q) is written in ALC as (AND (IMP C0 (SOME R0 C1)) (ALL R0 C1)).
This format is purely textual, functional, but uses quantifiers (SOME, ALL) to express modal operators, which
can be confusing. Another (very similar) example is KRSS [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. The same formula can be written in KRSS as
(((not C0) or (some R0 C1)) and (all R0 C1))). This format, in addition, lacks symbols for implication
and equivalence. As a third example, we can cite LWB [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The same formula is written in LWB as begin (p1
=&gt; dia(p2)) &amp; box(p2) end. Unfortunately, this format does not allow for the most natural future extension
of our approach, namely, the representation of multiple modalities (multiple agents).
4.1
      </p>
      <sec id="sec-4-1">
        <title>The Input format InToHyLo</title>
        <p>
          We decided to use InToHyLo as input format. It is used, for example, by the solvers InKreSAT [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] and Spartacus
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. The formula ((p → q) ∧ q) is written in InToHyLo as ((p1 -&gt; &lt;r1&gt;p2) &amp; [r1]p2 ). We believe that
this format is easy to read and it is also easily adaptable for multiple modalities.
        </p>
        <p>Definition 4.1 (InToHyLo Language). The InToHyLo Language is defined by the following Backus-Naur Form
grammar, where identifiers (id) are numerical sequences.
hfilei ::= ‘begin’ hfmli ‘end’
hfmli ::= ‘(’ hfmli ‘)’
| ‘true’ | ‘false’ | ‘p’hidi | ‘˜’ hfmli
| ‘&lt;r’ hidi ‘&gt;’ hfmli | ‘[r’ hidi ‘]’ hfmli
| hfmli ‘&amp;’ hfmli | hfmli ‘|’ hfmli
| hfmli ‘-&gt;’ hfmli | hfmli ‘&lt;-&gt;’ hfmli
Unary operators have the highest precedence in InToHyLo. The precedence of the binary operators is the
following: &amp;, |, -&gt;, &lt;-&gt;.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>The Output Format Flat Kripke Model</title>
        <p>
          In order to be able to check answers produced by the solvers, we also propose an output format to represent
Kripke models. This should be seen as an exchange format between softwares, and not something written directly
by a human, in the spirit of the DIMACS CNF format [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>Below, we have a representation of the model in Figure 1 in the proposed format.</p>
        <p>
          The first line contains exactly four integers separated by spaces. They provide respectively
2 3 1 2 the number of propositional variables, the number of possible worlds, the number of relations
-1 2 0 (which will be useful in the future for multi-modal problems), and finally the number of edges
1 2 0 in the model. In the subsequent lines, each propositional variable is represented by a positive
1 -2 0 integer. For example, if there exists 3 propositional variables in the model, then they are named
r1 w0 w1 1, 2 and 3. The second line corresponds to the valuation of the first possible world (i.e., ω0).
r1 w1 w2 The third line corresponds to the valuation of the second possible world (ω1), and so on. Each of
these lines follows the DIMACS format [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]: the integer i means that the propositional variable
i is assigned to true in that world and −i means that the propositional variable i is assigned to
false in that world. There must be exactly one valuation line for each possible world in the model. Each of these
lines must end with a 0. After that, the connections between worlds are provided. Each line has the format: rI
wJ wK, where I, J and K are integers. The first one represents the I-th relation of the model, the second one is
the J -th world and the third one is the K-th world. Each one of these lines means that ωK is reachable from ωJ
in the accessibility relation number I. There must be exactly one such line for each edge of the model.
5
5.1
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Evaluation settings</title>
      <sec id="sec-5-1">
        <title>Solvers</title>
        <p>
          There are numerous solvers for modal logic K, developed in the last two decade. Some of the earlier solvers
have the ability to output a model: SPASS [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ] provides the branches open in every world or LWB [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] which
provide an image representing a Kripke model. However, those solvers are no longer “state-of-the-art” in terms
of runtime (see e.g. [
          <xref ref-type="bibr" rid="ref1 ref29">29, 1</xref>
          ] for a comparison with more recent solvers considered here). We decided to consider
all but one of the solvers used in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], which is, to the best of our knowledge, the most recent paper comparing
modal logic K solvers. FaCT++ [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] (v1.6.1), an established reasoner for the web ontology language OWL 2 DL,
is missing in our experiments because it is a Tableau solver like Spartacus generally outperformed by Spartacus
according to [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>Note that our goal in this work was not to perform a comparison of all existing solvers because we needed to
modify those solvers ourselves, but to show that it is possible to check the answers of different solvers using an
independent tool. We hope it will encourage other authors to allow their solvers to be able to output the model
in our Flat Kripke Model format.
5.1.1</p>
        <p>
          Km2SAT
Km2SAT [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] translates modal logic formulae into an equisatisfiable CNF formula which can be solved by any
SAT solver. We used Minisat 2.2.0 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] in our experiments. If the formula is unsatisfiable, then the original
formula is unsatisfiable. If the formula is satisfiable, the satisfying assignment found can be transformed into
a model. In such case, we only need to interpret the assignment and output it using our proposed format.
Unfortunately, Km2SAT, by default, may modify the input formula before applying the translation into CNF.
Such optimisation preserves the satisfiability of the formula, but prevents us, in some cases, to retrieve a model
for the original input.
        </p>
        <p>
          Km2SAT reads formulae in the LWB format. Thus, we had to modify the original solver to allow it to read
formulae in InToHyLo format. Such modification is obviously a threat to its correctness. We did our best to
make sure that the modifications on the input format did not impact the solver itself. To that end, we ran the
solver on examples using the LWB format supported by Km2SAT. Then, we used the Fast Transformation Tool
(ftt) embedded with the software Spartacus [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] to transform those LWB problems into InToHyLo problems and
we checked if the modified version of Km2SAT returned the exact same models. This was performed on the 240
instances of TANCS-2000-modKSSS, on the 80 instances of TANCS-2000-modkLadn, and on the 259 instances
of LWB solved by the modified Km2SAT. In all cases we obtained the same result.
5.1.2
        </p>
        <p>
          *SAT
*SAT [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] (v1.3) is a reasoner for the description logic ALC. *SAT implements a modal extension of the
DavisPutnam procedure. But, because *SAT features several decision procedures of classical modal logics, it can
perfectly be used as a K modal logic solver.
        </p>
        <p>First of all, *SAT reads the ALC format. So, we had to modify the input parser in order to make this
solver read InToHyLo files. Because this threatens its correctness, we used the Fast Transformation Tool to
translate InToHyLo formatted benchmarks into ALC and then ran the original version of *SAT on the translated
benchmarks. In all cases we obtained the same result.</p>
        <p>Second, the interpretation of the result of *SAT is more challenging than for Km2SAT. Indeed, *SAT uses
the SAT solver in an interleaved and incremental approach: the SAT solver is called many times, since it drives
the verification of the tableau rules. As such, analyzing a single SAT answer does not allow in general to retrieve
a complete model. For that reason, many of the SAT answers provided by *SAT could not be verified.</p>
        <p>
          *SAT uses the SAT solver SATO [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ] as backend. It was designed in the late nineties when only “small” CNF
where considered. The solver accepts by default CNF with up to 10K variables and no more than 256 literals per
clause. SATO may report unexpected results if those limits are enforced. We increased the variables boundary
to 30K and added some code to abort the process if the generated CNF contains more than 30K variables or 256
literals in a clause.
5.1.3
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>InKreSAT</title>
        <p>
          InKreSAT [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] is a prover for the modal logics K, T, K4, and S4. InKreSAT reduces a tableau based approach
for the modal satisfiability problem to a series of Boolean satisfiability problems. By proceeding incrementally,
it interleaves translation steps with calls to the SAT solver and uses the feedback provided by the SAT solver
to guide the translation. InKreSAT has very good results in term of speed when solving modal logic problems.
However, we could not output a model each time it answers SAT. The modifications needed to perform this
task require a deep knowledge of the solver and important changes that would make the modified solver quite
different from the original one. As such, we decided to simply identify the branches that are true in the implicit
tableau method. In some cases, that information is sufficient to extract a model. In other cases, InKreSAT sets
a non-atomic branch as true (eg.: (p1 ∧ p2) ∨ p2). Unless a few more tableaux rules are performed, it is not
possible to generate a model with all the information. In the latter case, we choose to display the incomplete
model.
5.1.4
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>Spartacus</title>
        <p>
          Spartacus [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] is a tableau prover for hybrid multimodal logic with global modalities and reflexive and transitive
relations. This solver has a module that displays what we first thought was a model. It is quite often a model,
but in some cases some parts of the model are “missing”. After some discussion with the authors of Spartacus,
we realised that, in fact, Spartacus produces a representation of an open saturated tableau, which indicates the
existence of a model but is not always a complete Kripke model. We output that open saturated tableau using
the flat Kripke model format. This explains why in some cases, the certificate provided by Spartacus cannot be
verified by our checker.
5.2
        </p>
      </sec>
      <sec id="sec-5-4">
        <title>Experimental settings</title>
        <p>
          The solvers ran on a cluster of identical computers with two processors Intel XEON E5-2643 - 4 cores - 3.3 GHz
running CentOS 6.0 x86 64 with 32 GB of memory. Each solver was given 4 cores for its execution, and a
timeout of 900s to solve each benchmark with a memory limit of 15500 MB using the tool runsolver [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. The
results are given per family of benchmarks. For each family, we provide the number of benchmarks for which
the model provided by at least one solver could be independently checked in the Verified SAT column. We were
able to verify globally 36% of the whole problems, and 67% of the SAT answers. Any new solver which would
answer differently on such verified problems could be considered incorrect. We believe that this is important
information for anyone willing to develop a new modal logic K solver (or to evaluate an existing one). Note that
we did not find any discrepancy in the results: no solver answered UNSAT while another answered SAT. So, we
consider all the solvers here as correct, even if all answers cannot be verified.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Results</title>
      <p>6.1
3CNF</p>
      <p>K
In the following tables, bold numbers denote the highest number of problems solved, numbers between parenthesis
denote the number of benchmarks for which the solver is the fastest, and numbers between square brackets
(when the sub-category is mixing SAT/UNSAT problems) denote the number of SAT answers, i.e. candidates
for verification.</p>
      <p>
        The Randomly Generated 3CNF K formulae [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] have four parameters: the modal depth (d); the number of
clauses (m); the number of propositional variables (n); and the probability that a disjunction occurring at a
degree inferior to d is purely propositional (p).
      </p>
      <p>
        For each depth d, the problems consists of 9 formulae with m = {30, 60, 90, 120, 150}, respectively. Parameter
n is always equals to 3 and p is always equals to 0.00%. See [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for details.
d
2
4
6
total
#
45
45
45
135
      </p>
      <sec id="sec-6-1">
        <title>Verified SAT</title>
        <p>26 / 45 (57.78%)
45 / 45 (100.0%)
45 / 45 (100.0%)
116 / 135 (85.92%)</p>
        <p>All the problems are satisfiable, and all of them have been solved by at least one solver. Unfortunately, since
we are not able to provide a certificate for all solvers, we were able to verify only the benchmarks for modal depth
greater than 2, which amounts to 85.92% of the problems. One may wonder why Spartacus solves problems when
the modal depth is increasing, but does not perform as well as InKreSAT and Km2SAT when the modal depth
is equal to 2. Basically, Spartacus did not manage to solve 3 instances with parameters m=150 and d=2. Those
problems with many clauses and a small modal depth are closer to a SAT problem than a modal-SAT problem
for which Spartacus is designed. This is also why InKreSAT and Km2SAT (which are SAT-based) performed so
well. On the smaller modal depth, only half of the answers are verified despite several solvers being able to decide
the satisfiability of the benchmarks. This is the consequence of Spartacus being the only provider of verified
answers on the whole set of benchmarks and that the saturated open tableau it generates is not a full Kripke
model on small modal depth. *SAT did not perform as good as the other SAT based systems mainly because
it calls more often its SAT solver. For instance, for the problem “c090v03p00d02s02”, *SAT called 30,179,676
times its SAT solver while InKreSAT called Minisat 15 times and Km2SAT called Minisat only once. Note that
we also experimented *SAT with Minisat: it does not help. The issue is really the number of SAT calls, not the
solver. The models returned by *SAT are surprisingly very small in number of worlds (compared to the other
solvers), but we cannot verify them because we do not have all the information needed to assign a truth value
to a given variable in a given world.
6.2</p>
        <p>Randomly Generated modalized MQBF formulae
n,a
4,4
4,6
8,4
8,6
16,4
16,6
total
#
40
40
40
40
40
40
240</p>
        <p>Km2SAT</p>
        <p>
          MO
MO
MO
MO
MO
MO
MO
*SAT
40 [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]
31 [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]
26 [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
25 [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
202 (41)
Randomly generated modalized MQBF formulae [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] are randomly generated QBF formulae translated to modal
logic K. QBF with m clauses, alternation depth equal to a (the number of times that we changed the quantifier
in the formula), with at most n variables per alternation. For each clause 4 different variables are randomly
generated and each is negated with probability 0.5. The first and the third variables are existentially quantified,
whereas the second and the fourth variables are universally quantified. A translation close to Schmidt-Schauß and
Smolka’s reduction of QBF validity into ALC satisfiability [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] is used. The different values of the parameters for
this category of benchmarks are as follows: m ∈ {10, 20, 30, 40, 50} denotes the number of clauses; n ∈ {4, 8, 16}
denotes the number of variables; a ∈ {4, 6} denotes the alternation depth. For each triplet (a, n, m) we have
8 problems, so the whole family is composed of 240 problems. As already explained in the beginning of this
section, there is a possibility for a solver to do a memory-out. This is what happened to Km2SAT in the whole
category. Contrariwise to the previous benchmark families, very few satisfiable benchmarks from qbfMS could
be verified. Those formulae contain basically 1 variable, a lot of operators (modal and Boolean) and a very big
modal depth. The issue with such “toy-problems” is that it is very difficult to verify a model for it. For this
purpose, we put a time-out on our checker of 300s. If we did not manage to verify the solution, we consider the
SAT answers as unchecked. It happened only in this category, 103 times for Spartacus and 38 times for *SAT.
6.3
(a) Runtime distribution on modKLadn
(b) Runtime distribution on modKSSS
The TANCS-2000 Unbounded Modal QBF [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] benchmarks are generated the same way as the previous ones
except that a single relation in modal logic K is replaced by a sequence of back-forth-back relations, in a clever
way to avoid making most formulae unsatisfiable. These QBF formulae were originally converted to K using 3
different techniques of increasing hardness. We ran only the sub-categories modKSSS (Schmidt-Schauss-Smolka
translation, easy) and modKLadn (Ladner translation, medium) because the third one (Halpern translation, the
hardest) was not available in Spartacus benchmark archive (nor in the results presented in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]).
n,a
4,4
4,6
8,4
8,6
16,4
16,6
total
4,4
4,6
total
#
40
40
40
40
40
40
240
40
40
80
        </p>
        <p>
          Km2SAT
40 [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]
14/MO [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]
8/MO [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
8/MO [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
150 (2)
40 [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]
80 (80)
*SAT
40 [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
40 [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]
38 [35]
33 [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]
32 [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ]
223 (13)
40 [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
11 [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
51 (0)
        </p>
        <p>
          Spartacus outperforms the other solvers on modKSSS benchmarks. The bigger the values of n and a, the
more difficult it is to verify the model provided by the solver. It is interesting to note that on the modKLadn
benchmarks, Km2SAT performs much better than the other solvers, which can be seen in the runtime distribution
of the solvers in Figure 2a. Here, the approach benefits from the advances on SAT solvers. Note that for
modKSSS, Km2SAT simply cannot generate the CNF within our memory limit when it does not solve those
benchmarks.
6.4
We have also a set of the Tableaux’98 benchmarks suite for K [
          <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
          ]. The precise definition of how the formulae
are created is available in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. It is important to notice that all the sub-categories finishing with “ p” are
sub-categories of 21 UNSAT problems. Because we are unable to certify UNSAT answers, we display and count
only the verification on SAT answers in this category. On those benchmarks, *SAT performs slightly better
than the other solvers overall despite not performing well compared to the other solvers for the benchmarks
“ph n”. After a detailed analysis of the solver on those benchmarks, we discovered that the clauses generated
by *SAT were too long for SATO (limited to 256 literals). Note also that the “ph p” benchmarks correspond to
(a) Spartacus with vs without model output
(b) Km2SAT with vs without model output
hard combinatorial UNSAT Pigeon-Hole problems [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], which explains why they are difficult for all solvers. And
finally, all the “ n” are almost fully Verified SAT except “branch n”. Let take a closer look to the Kripke model
returned for this category. The formula contains sub-formulae looking like ( (x ∧ y ∧ z) ∧ (x ∧ y ∧ ¬z)) and the
accessibility relation between worlds must be a tree. Such formula requires 2 accessible worlds: one satisfying z
and another satisfying ¬z. However Spartacus only provides one of them in its open tableau. The same kind of
incomplete models are returned by *SAT and InKreSAT. Only Km2SAT manages to provide complete Kripke
models on this category, but unfortunately, Km2SAT solves only 5/17 problems, so we have only 5/17 verified
solutions.
6.5
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>On the importance of the SAT solvers</title>
        <p>
          3 out of 4 solvers evaluated here are SAT-based. InKreSAT is tightly coupled with Minisat 2.2.0 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], it is as such
very difficult for us to use another backend SAT solver. As such, we used Minisat 2.2.0 with Km2SAT solver as
well. There are nowadays better SAT solvers (Glucose, Lingeling). Does it make any difference in our context?
After some experimentation, we could only obtain a small speed gain by using Glucose instead of Minisat with
Km2SAT. This gain is obtained in the category 3CNF where Glucose is much faster than Minisat. It is worth
noting that 754 out of the 766 times Km2SAT does not answer, it is because the CNF cannot be generated with
the available amount of memory, not because the CNF cannot be solved. We also tried to plug Minisat 2.2.0
in *SAT instead of SATO. Indeed, *SAT is very efficient despite being coupled to a SAT solver created in the
nineties. One would expect that it would get even better with a more recent SAT solver like Minisat or Glucose.
Unfortunately, the developers of *SAT made the code deeply linked to SATO for efficiency reasons (they share
the same data structures to store the CNF for instance). While it is possible to plug any recent SAT solver using
a file based approach, it is really inefficient compared to the tight integration with SATO. Note that the CNF
produced by *SAT are in many cases quite simple to solve, and do not require a much sophisticated SAT solver.
One interesting research direction would be to design a *SAT like algorithm taking into account the current
incremental capabilities of SAT solvers.
6.6
        </p>
      </sec>
      <sec id="sec-6-3">
        <title>Overhead of model production</title>
        <p>We had to modify the solvers not only to produce the Kripke model but also to bookkeep information to be
able to produce such model. As such, the performance of the solver may be affected by those modifications. We
compared the runtime of the original solvers against the modified versions, to evaluate the overhead induced by
our modifications. The difference in runtime may be important, as in Figure 4a, representing the runtime of
Spartacus in its original version (no-model) versus the version providing a model. All point above the diagonal
denote benchmarks for which the modified version of Spartacus takes longer than the original version. All the
points at y=900 correspond to benchmarks that the original solver can solve (answer SAT) but for which the
modified solver cannot produce the Kripke model within the timeout. The difference can be quite significant
for Spartacus because we rely on an existing debug ouput in the solver (i.e. non optimized) to generate the
certificate. There is certainly room for improvement here.
6.7</p>
      </sec>
      <sec id="sec-6-4">
        <title>Verification of SAT answers per solver</title>
        <p>We were able to check globally 67% of satisfiable problems for which at least one solver provided a Kripke model.
However, while looking at Table 5, two solvers are the main providers of those verified answers.</p>
        <p>Km2SAT</p>
        <p>*SAT</p>
      </sec>
      <sec id="sec-6-5">
        <title>InKreSAT</title>
      </sec>
      <sec id="sec-6-6">
        <title>Spartacus Global</title>
        <p>Spartacus provided the most important number of certificates both because it is quite efficient and because it
was designed to provide an open tableau model for debugging purposes, which is often sufficient to build a Kripke
model. Km2SAT provides the remaining certificates because we simply have to interpret the answer provided
by the SAT solver. While such model is not always a model of the original formula but of a simplified one, in
practice it works in half of the cases.
6.8</p>
      </sec>
      <sec id="sec-6-7">
        <title>Challenging models</title>
        <p>The biggest Kripke model that we manage to verify was a model returned by Km2SAT on the instance
modKSSSC20-V8-D6.7. The Kripke model contained 10,618,391 worlds and 10,618,390 edges for 56 vars. It could be
verified in 23,68s. Behind this Kripke model, Km2SAT generated a SAT formula with 108,700,724 variables and
122,697,799 clauses. It took 273.620 seconds to generate this file of 3 GB plus the mapping file of 1 GB bytes.
Then this SAT problem was solved in 87.049 seconds. Then, it took 291 seconds to parse the SAT solution and
the mapping to finally generate this Kripke model. The smallest Kripke model that we did not manage to verify
under 300s was a model returned by *SAT on the instance modKSSS-K4-C10-V16-D4.4. The Kripke model
contained 81 worlds and 2792 edges for 80 variables. This model is shown in Figure 5.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusion and perspective</title>
      <p>
        In this paper, we studied the feasibility to verify in practice Kripke models returned by a selection of existing
solvers on a selection of existing benchmarks for modal logic K. For that purpose, we designed the Flat Kripke
Model format to represent those models and built an independent model checker for modal logic K. We modified
several solvers for modal logic K to provide such models and ran them on a wide range of existing benchmarks.
We have been able to verify 67 percent of all the satisfiable benchmarks, which demonstrates that in practice,
we can check the majority of SAT answers on current benchmarks. Our results also showed that it is a non
obvious task to modify existing solvers to output a Kripke model if the solver was not designed for that in the
first place: by providing a specific textual format and a checker to the community, we would like to encourage
solver designers to provide the ability to produce models in that format. We plan to increase the number of
checkable SAT answers by both improving the output of the models in efficient solvers such as Spartacus and
Km2SAT, and improving the checker itself. A next logical step would be to study the feasibility to validate
UNSAT answers, in the spirit of what is already done for SAT, based on the previous work on UNSAT proofs in
the modal logic K [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <sec id="sec-7-1">
        <title>Acknowledgements</title>
        <p>The authors thank Olivier Roussel for providing support for running the experiments. Part of this work was
supported by the French Ministry for Higher Education and Research and the Nord-Pas de Calais Regional
Council through the “Contrat de Plan Etat R´egion (CPER)” and by an EC FEDER grant.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Areces and M. de Rijke</surname>
          </string-name>
          .
          <source>Computational modal logic</source>
          .
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Balint</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Belov</surname>
          </string-name>
          , M. J¨arvisalo, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Sinz</surname>
          </string-name>
          .
          <article-title>Overview and analysis of the SAT Challenge 2012 solver competition</article-title>
          .
          <source>Artif</source>
          . Intell.,
          <volume>223</volume>
          :
          <fpage>120</fpage>
          -
          <lpage>155</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Balsiger</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuerding</surname>
          </string-name>
          .
          <article-title>Comparison of theorem provers for modal logics : introduction and summary</article-title>
          .
          <source>In Autom. Reasoning with Analytic Tableaux and Related Methods</source>
          , pages
          <fpage>25</fpage>
          -
          <lpage>26</lpage>
          . Springer,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Balsiger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuerding</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Schwendimann</surname>
          </string-name>
          .
          <article-title>A Benchmark Method for the Propositional Modal Logics K, KT, S4</article-title>
          .
          <source>J. Autom. Reasoning</source>
          ,
          <volume>24</volume>
          (
          <issue>3</issue>
          ):
          <fpage>297</fpage>
          -
          <lpage>317</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Challenge</surname>
          </string-name>
          . Satisfiability: Suggested Format.
          <source>DIMACS Challenge. DIMACS</source>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>Model checking</article-title>
          . MIT press,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L. A.</given-names>
            <surname>Dennis</surname>
          </string-name>
          , M. Fisher,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lincoln</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lisitsa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Veres</surname>
          </string-name>
          .
          <article-title>Practical Verification of Decision-Making in Agent-Based Autonomous Systems</article-title>
          . CoRR, abs/1310.2431,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>E´en and N. S¨orensson. An Extensible SAT-solver</article-title>
          .
          <source>In Theory and Applications of Satisfiability Testing, 6th International Conference, SAT 2003. Selected Revised Papers</source>
          , pages
          <fpage>502</fpage>
          -
          <lpage>518</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Enjalbert and L. F. del Cerro</surname>
          </string-name>
          .
          <source>Modal Resolution in Clausal Form. Theor. Comput. Sci.</source>
          ,
          <volume>65</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>O.</given-names>
            <surname>Gasquet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Herzig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Said</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Schwarzentruber</surname>
          </string-name>
          .
          <article-title>Kripke's Worlds - An Introduction to Modal Logics via Tableaux</article-title>
          .
          <article-title>Studies in Universal Logic</article-title>
          . Birkh¨auser,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          .
          <article-title>System description: *SAT: A platform for the development of modal decision procedures</article-title>
          .
          <source>In Automated Deduction - CADE-17 Proceedings</source>
          , pages
          <fpage>291</fpage>
          -
          <lpage>296</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          .
          <article-title>SAT-Based Decision Procedures for Classical Modal Logics</article-title>
          .
          <source>J. Automated Reasoning</source>
          ,
          <volume>28</volume>
          (
          <issue>2</issue>
          ):
          <fpage>143</fpage>
          -
          <lpage>171</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>D. G</surname>
          </string-name>
          ¨otzmann, M. Kaminski, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Smolka. Spartacus</surname>
          </string-name>
          :
          <article-title>A Tableau Prover for Hybrid Logic</article-title>
          . ENTCS,
          <volume>262</volume>
          :
          <fpage>127</fpage>
          -
          <lpage>139</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J. Y.</given-names>
            <surname>Halpern</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Moses</surname>
          </string-name>
          .
          <article-title>A Guide to Completeness and Complexity for Modal Logics of Knowledge and Belief</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>54</volume>
          (
          <issue>2</issue>
          ):
          <fpage>319</fpage>
          -
          <lpage>379</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuerding</surname>
          </string-name>
          , G. J¨ager, S. Schwendimann, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Seyfried</surname>
          </string-name>
          .
          <article-title>Propositional logics on the computer</article-title>
          .
          <source>In Theorem Proving with Analytic Tableaux and Related Methods</source>
          , pages
          <fpage>310</fpage>
          -
          <lpage>323</lpage>
          . Springer,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Heule</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. A. H.</given-names>
            <surname>Jr.</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Wetzler</surname>
          </string-name>
          .
          <article-title>Trimming while checking clausal proofs</article-title>
          .
          <source>In FMCAD</source>
          <year>2013</year>
          ., pages
          <fpage>181</fpage>
          -
          <lpage>188</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>G.</given-names>
            <surname>Jaeger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Balsiger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuerding</surname>
          </string-name>
          , and S.
          <source>Schwendiman. LWB 1</source>
          .1 Manual. Unpublished,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ja</surname>
          </string-name>
          ¨rvisalo,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Berre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Roussel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Simon</surname>
          </string-name>
          .
          <article-title>The International SAT Solver Competitions</article-title>
          .
          <source>AI Magazine</source>
          ,
          <volume>33</volume>
          (
          <issue>1</issue>
          ),
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Tebbi</surname>
          </string-name>
          . InKreSAT:
          <article-title>Modal Reasoning via Incremental Reduction to SAT</article-title>
          . In
          <source>Automated Deduction - CADE-24 Proceedings</source>
          , pages
          <fpage>436</fpage>
          -
          <lpage>442</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Kripke</surname>
          </string-name>
          .
          <article-title>Semantical analysis of modal logic i normal modal propositional calculi</article-title>
          .
          <source>Mathematical Logic Quarterly</source>
          ,
          <volume>9</volume>
          (
          <issue>5</issue>
          -6):
          <fpage>67</fpage>
          -
          <lpage>96</lpage>
          ,
          <year>1963</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>R. E. Ladner.</surname>
          </string-name>
          <article-title>The computational complexity of provability in systems of modal propositional logic</article-title>
          .
          <source>SIAM Journal of Computing</source>
          ,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          .
          <article-title>Design and Results of the Tableaux-99 Non-classical (Modal) Systems Comparison</article-title>
          . In Autom. Reasoning, International Conf., '
          <volume>99</volume>
          Proceedings, pages
          <fpage>14</fpage>
          -
          <lpage>18</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          and
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Donini</surname>
          </string-name>
          .
          <article-title>Design and Results of TANCS-2000 Non-classical (Modal) Systems Comparison</article-title>
          . In Autom. Reasoning., International Conf.,
          <source>2000 Proceedings</source>
          , pages
          <fpage>52</fpage>
          -
          <lpage>56</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Narizzano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Peschiera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Pulina</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          .
          <article-title>Evaluating and certifying QBFs: A comparison of state-of-the-art tools</article-title>
          .
          <source>AI Communications</source>
          ,
          <volume>22</volume>
          (
          <issue>4</issue>
          ):
          <fpage>191</fpage>
          -
          <lpage>210</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>P.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Swartout</surname>
          </string-name>
          .
          <article-title>Description-logic knowledge representation system specification from the KRSS group of the ARPA knowledge sharing effort</article-title>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>O.</given-names>
            <surname>Roussel</surname>
          </string-name>
          .
          <article-title>Controlling a solver execution with the runsolver tool system description</article-title>
          .
          <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
          ,
          <volume>7</volume>
          :
          <fpage>139</fpage>
          -
          <lpage>144</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>A.</given-names>
            <surname>Saffidine</surname>
          </string-name>
          .
          <article-title>Minimal proof search for modal logic K model checking</article-title>
          .
          <source>CoRR, abs/1207</source>
          .
          <year>1832</year>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Schmidt-Schauß</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Smolka. Attributive Concept</surname>
          </string-name>
          <article-title>Descriptions with Complements</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>48</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Vescovi</surname>
          </string-name>
          .
          <article-title>Automated reasoning in modal and description logics via SAT encoding: the case study of k(m)/alc-satisfiability</article-title>
          .
          <source>J. Artif. Intell. Res. (JAIR)</source>
          ,
          <volume>35</volume>
          :
          <fpage>343</fpage>
          -
          <lpage>389</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>L.</given-names>
            <surname>Simon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Berre</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Hirsch</surname>
          </string-name>
          .
          <article-title>The SAT2002 competition</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          ,
          <volume>43</volume>
          (
          <issue>1</issue>
          ):
          <fpage>307</fpage>
          -
          <lpage>342</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>W. A.</given-names>
            <surname>Trybulec</surname>
          </string-name>
          .
          <article-title>Pigeon hole principle</article-title>
          .
          <source>JFM</source>
          ,
          <volume>2</volume>
          (
          <issue>199</issue>
          ):
          <fpage>0</fpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Horrocks.</surname>
          </string-name>
          <article-title>FACT++ Description Logic Reasoner: System Description</article-title>
          .
          <source>In IJCAR 2006 Proceedings</source>
          , pages
          <fpage>292</fpage>
          -
          <lpage>297</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>C.</given-names>
            <surname>Weidenbach</surname>
          </string-name>
          , U. Brahm,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hillenbrand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Keen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Theobald</surname>
          </string-name>
          , and D. Topi´c.
          <source>Spass Version 2</source>
          .0.
          <string-name>
            <given-names>In</given-names>
            <surname>Aut</surname>
          </string-name>
          .
          <source>Deduction CADE18</source>
          , pages
          <fpage>275</fpage>
          -
          <lpage>279</lpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          . SATO:
          <article-title>An Efficient Propositional Prover</article-title>
          .
          <source>In Automated Deduction - CADE-14 Proceedings</source>
          , pages
          <fpage>272</fpage>
          -
          <lpage>275</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>