<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>International IJCAI Workshop on Process Management in the AI era, July</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Computing Unsatisfiable Cores for LTL Specifications ⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>(Discussion/Short Paper)</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Roveri</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Di Ciccio</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Di Francescomarino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Ghidini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>FBK IRST</institution>
          ,
          <addr-line>Via Sommarive 18, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Sapienza University of Rome, Viale Regina Elena 295</institution>
          ,
          <addr-line>00161 Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Trento</institution>
          ,
          <addr-line>Via Sommarive 9, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>23</volume>
      <issue>2022</issue>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>A growing body of literature evidences the adoption of linear-time temporal logic on finite traces (LTLf) [2] to produce systems specifications [ 3]. Its widespread use spans across several application domains, including business process management (BPM) for declarative process modeling, run-time monitoring and verification, and AI planning. When it comes to verification techniques and tool support for LTL f, several studies approach the LTLf satisfiability problem via reduction to LTL [ 4] satisfiability on infinite traces [ 3], or via specific propositional satisfiability approaches [ 5, 6]. However, hardly any efforts have been devoted thus far to the identification of the formulas that lead to unsatisfiability in LTL f specifications, with the consequence that very little support has been offered for modelers and system designers to single out the causes of possible inconsistencies. In [1] we tackle the challenge of extracting unsatisfiable cores ( UCs) from LTLf specifications. Investigating this problem is interesting both from practical and theoretical viewpoints. On the practical side, if unsatisfiability signals that a specification is defective, the identification of unsatisfiable cores provides the users with the opportunity to isolate the source of inconsistency and leads them to a consequent debugging. Notice that determining a reason for unsatisfiability without automated support may reveal unfeasible for a number of reasons that range from the sheer size of the formula to the lack of time and skills of the user [7]. On the theoretical side, we remark that dealing with the extraction of UCs in LTLf specifications is far from trivial. Indeed, there is neither a default pathway to move from the support provided for LTL to the one that has to be provided for LTLf nor a default algorithm upon which this transition could be based. Concerning the pathway, there are two clear alternatives to address this problem: the ifrst one extends techniques for the extraction of UCs in LTL to the case of LTLf; the second</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        one exploits algorithms that directly compute satisfiability in LTL f to provide support for the
extraction of UCs. Concerning the specific algorithms from which to start, the two approaches
present different scenarios. In the first pathway, it is easy to observe that several techniques for
the extraction of UCs in LTL exist, and could be extended to the case of LTLf. Since recent
works show that a single universal best algorithm does not exist and often the systems exhibit
behaviors that complement each other [
        <xref ref-type="bibr" rid="ref6 ref8">8, 6</xref>
        ], choosing a single algorithm from which to start is
less than obvious. In the second pathway, instead, the number of works on satisfiability in LTL f
is still rather limited.
      </p>
      <p>
        We explore both the above pathways in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. For the LTL pathway, in particular, we consider
algorithms belonging to two reference approaches: one based on model-checking, and the other
one based on theorem proving. For the LTLf pathway, we consider a reference state-of-the-art
specific reduction to propositional satisfiability. We believe that leveraging reference
state-of-theart approaches provides a rich starting point for the investigation of the problem and the provision
of effective tools for the extraction of UCs in LTLf specifications. Our comparative evaluation
shows a complementary behavior of the different algorithms.
      </p>
      <p>
        Our contribution consists of the following:
1. Four algorithms that allow for the computation of an unsatisfiable core through the
adaptation of the main reference state-of-the-art approaches for LTL and LTLf satisfiability checking.
For the LTL pathway, we consider two satisfiability checking algorithms: one based on Binary
Decision Diagrams (BDDs) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and the other based on propositional satisfiability [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] alongside
a theorem proving algorithm based on temporal resolution [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. For the native LTLf pathway, we
consider the reference work in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] based on explicit search and propositional satisfiability. Notice
that the techniques based on propositional satisfiability (that is, based on [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]) aim at
extracting a UC, which may not necessarily be the minimum one. The BDD and temporal-resolution
based algorithms already allow for the extraction of a minimum unsatisfiable core.
      </p>
      <p>2. An implementation of the proposed four algorithms. Three implementations extend existing
tools for the corresponding original algorithms; the implementation of the algorithm based on
temporal resolution, instead, resorts to a pre-processing of the formula to reduce the input to the
language restrictions of the original tool.</p>
      <p>
        3. An experimental evaluation on a large set of reference benchmarks taken from [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], restricted
to the unsatisfiable ones. The results show an overall better time efficiency of the algorithm based
on the native LTLf pathway [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, the cardinality of the UC extracted by the fastest
approach is the smallest one in only about half of the cases. The experimental findings exhibit
a complementarity of the proposed approaches on different specifications: depending on the
varying number of propositional variables, number of conjuncts and degree of nesting of the
temporal operators in the benchmarks, it is not rare that some of the implemented techniques
achieve a noticeable performance when the other ones terminate with no results and vice-versa.
      </p>
      <p>
        Since popular usages of LTLf leverage past temporal operators (see e.g., the DECLARE
language [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]), we also provide a way to handle LTLf with past temporal operators. This results
in the same expressive power as that of pure future version, though allowing for exponentially
more succinct specifications [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and more natural encodings of LTLf based modeling languages
that make use of these operators. This objective is pursued by leveraging algorithms already
supporting LTL with past temporal operators, or through a reduction to LTLf with only future
temporal operators to use existing approaches for LTLf satisfiability checking.
      </p>
      <p>Virtual best
AALTAF
NuSMV-S
TRP++</p>
      <p>NuSMV-B
1200</p>
      <p>Virtual best
AALTAF
NuSMV-S
TRP++</p>
      <p>NuSMV-B
1200
1400</p>
    </sec>
    <sec id="sec-2">
      <title>2. Experimental Evaluation</title>
      <p>
        The reader can refer to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for the complete description of the proposed algorithms and their
experimental evaluation. Here we report a sketch of the main findings.
      </p>
      <p>
        Implementation of the Algorithms. We implemented the algorithms based on BDD [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
propositional satisfiability [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] as extensions of the NUSMV model checker [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] exploiting
the built-in support for past temporal operators. In particular, we enhanced (i) the BDD-based
algorithm for LTL language emptiness [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and (ii) the SAT-based approaches [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We shall
henceforth refer to these tools as NUSMV-B and NUSMV-S, respectively.1 We implemented
the algorithm based on native LTLf through propositional SAT within an extended version of
the AALTAF tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], with a novel dedicated extension to support past temporal operators.2 We
implemented the algorithm based on temporal resolution [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] satisfiability as a toolchain. First, it
calls our variant of AALTAF to generate a file that is suitable for the TRP++ temporal resolution
solver [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] using the dedicated extension to support past temporal operators. Then, the resulting
ifle is submitted to TRP++, and finally the generated UC is post-processed to extract the auxiliary
variables.3
The results. As expected, all the tools reported consistent output when terminating without
reaching a resource limit (being it memory, time or search-space depth). In other words, for all
the considered benchmarks it was never the case that an algorithm declared the specification as
satisfiable. This outcome is in line with the original findings in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, we remark that
individual algorithms could extract different unsatisfiable cores among the diverse possible ones.
      </p>
      <p>
        Concerning the computation time, Fig. 1(a) shows the number of problems solved by each
algorithm within the 10 min timeout on the abscissae and the cumulative time taken to solve
them on the ordinates. Alongside the aforementioned tools, the figure illustrates the performance
of the virtual best, that is the minimum time required for each solved instance among the four
implementations. Figure 1(b) is similar to Fig. 1(a), although it excludes the timings for the
NUSMV-S runs that reached  = 50 albeit being unable to prove unsatisfiability ( unknown
answer) and thus construct an unsatisfiable core. In this figure, then, the virtual best considers only
1The extended version of NUSMV with these implementations is available at https://github.com/roveri-marco/ltlfuc.
2The source code for our extended version of AALTAF is available at https://github.com/roveri-marco/aaltaf-uc.
3For the experiments, we used the latest version of TRP++ taken from http://www.schuppan.de/viktor/trp++uc/.
the cases where the tool computed an unsatisfiable core. Both plots show that AALTAF outperforms
the other tools in the majority of cases, although the tail of the virtual-best curve on the
righthand side of both plots exhibits an influence from TRP++ and NUSMV-B, thus witnessing
complementarity of the proposed approaches. A thorough investigation of the comparative
assessment is reported in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>The overall minimum, maximum, average, and median best timings to return an UC are
0.0004 s, 198.5054 s, 1.4931 s and 0.0282 s, respectively. The material to reproduce the
experiments is available at https://github.com/roveri-marco/ltlfuc/archive/refs/tags/release-v0.zip.
Acknowledgments. The work of M. Roveri and C. Di Ciccio was partially funded by the
Italian MUR programme PRIN 2020, under grant agreements E63C22000400001 (RIPER) and
B87G22000450001 (PINPOINT). The work of C. Di Ciccio was also partially funded by the
MUR under grant “Dipartimenti di eccellenza 2018-2022” of the Dept. of Computer Science at
Sapienza and by the Sapienza research projects SPECTRA and DRONES.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Roveri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Di Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Di Francescomarino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ghidini</surname>
          </string-name>
          ,
          <article-title>Computing unsatisfiable cores for LTLf specifications</article-title>
          ,
          <source>arXiv:2203.04834v1</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>De Giacomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <article-title>Linear temporal logic and linear dynamic logic on finite traces</article-title>
          ,
          <source>in: IJCAI</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>854</fpage>
          -
          <lpage>860</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>De Giacomo</surname>
          </string-name>
          , R. De Masellis,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <article-title>Reasoning on LTL on finite traces: Insensitivity to infiniteness</article-title>
          , in: AAAI, AAAI Press,
          <year>2014</year>
          , pp.
          <fpage>1027</fpage>
          -
          <lpage>1033</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          ,
          <article-title>The temporal logic of programs</article-title>
          , in: FOCS, IEEE,
          <year>1977</year>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>V.</given-names>
            <surname>Fionda</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Greco, LTL on finite and process traces: Complexity results and a practical reasoner</article-title>
          ,
          <source>J. Artif. Intell. Res</source>
          .
          <volume>63</volume>
          (
          <year>2018</year>
          )
          <fpage>557</fpage>
          -
          <lpage>623</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. Y.</given-names>
            <surname>Rozier</surname>
          </string-name>
          ,
          <article-title>SAT-based explicit LTLf satisfiability checking</article-title>
          ,
          <source>Artif. Intell</source>
          .
          <volume>289</volume>
          (
          <year>2020</year>
          )
          <fpage>103369</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>V.</given-names>
            <surname>Schuppan</surname>
          </string-name>
          ,
          <article-title>Towards a notion of unsatisfiable and unrealizable cores for LTL, Sci</article-title>
          . Comput. Program.
          <volume>77</volume>
          (
          <year>2012</year>
          )
          <fpage>908</fpage>
          -
          <lpage>939</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , M. Y. Vardi,
          <article-title>SAT-based explicit LTL reasoning and its application to satisfiability checking</article-title>
          ,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>54</volume>
          (
          <year>2019</year>
          )
          <fpage>164</fpage>
          -
          <lpage>190</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <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>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Hamaguchi</surname>
          </string-name>
          ,
          <article-title>Another look at LTL model checking</article-title>
          ,
          <source>Formal Methods Syst. Des</source>
          .
          <volume>10</volume>
          (
          <year>1997</year>
          )
          <fpage>47</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Heljanko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Junttila</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Latvala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Schuppan</surname>
          </string-name>
          ,
          <article-title>Linear encodings of bounded LTL model checking</article-title>
          ,
          <source>Log. Methods Comput. Sci. 2</source>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>V.</given-names>
            <surname>Schuppan</surname>
          </string-name>
          ,
          <article-title>Extracting unsatisfiable cores for LTL via temporal resolution</article-title>
          ,
          <source>Acta Informatica</source>
          <volume>53</volume>
          (
          <year>2016</year>
          )
          <fpage>247</fpage>
          -
          <lpage>299</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            , M. Pesic,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Schonenberg</surname>
          </string-name>
          ,
          <article-title>Declarative workflows: Balancing between flexibility and support</article-title>
          ,
          <source>Comput. Sci. Res</source>
          . Dev.
          <volume>23</volume>
          (
          <year>2009</year>
          )
          <fpage>99</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>D. M. Gabbay</surname>
          </string-name>
          ,
          <article-title>The declarative past and imperative future: Executable temporal logic for interactive systems</article-title>
          , in: Temporal Logic in Specification, Springer,
          <year>1987</year>
          , pp.
          <fpage>409</fpage>
          -
          <lpage>448</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Roveri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Tacchella,</surname>
          </string-name>
          <article-title>NuSMV 2: An OpenSource Tool for Symbolic Model Checking</article-title>
          , in: CAV, Springer,
          <year>2002</year>
          , pp.
          <fpage>359</fpage>
          -
          <lpage>364</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>