<!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>Set-Based Invariants over Polynomial Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alberto Casagrande</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Cimatti</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Dorigo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carla Piazza</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Tonetta</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dip. di Matematica e Geoscienze, Università di Trieste</institution>
          ,
          <addr-line>via Alfonso Valerio 12/1, 34127, Trieste</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dip. di Matematica, Informatica e Fisica, Università di Udine</institution>
          ,
          <addr-line>via delle Scienze 205, 33100, Udine</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Fondazione Bruno Kessler</institution>
          ,
          <addr-line>Via Sommarive 18, 38123 Povo, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Dynamical systems model the time evolution of both natural and engineered processes. The automatic analysis of such models relies on diferent techniques ranging from reachability analysis, model checking, theorem proving, and abstractions. In this context, invariants are subsets of the state space containing all the states reachable from themself. The verification and synthesis of invariants is still a challenging problem over many classes of dynamical systems, since it involves the analysis of an infinite time horizon. In this paper we propose a method for computing invariants through sets of trajectories propagation. The method has been implemented and tested in the tool Sapo which provides reachability methods over discrete time polynomial dynamical systems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Dynamical Systems</kwd>
        <kwd>Infinite State Systems</kwd>
        <kwd>Invariants</kwd>
        <kwd>K-Induction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Invariants are subsets of the state space of dynamical systems that contain all the states
reachable from themself. This notion is crucial in may fields such as control theory [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], software
verification [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ], and analysis of both continuous and hybrid systems [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ].
      </p>
      <p>
        Many studies investigating the verification and synthesis of invariants have been published
in the literature so far. Some of them deals with polynomial systems and investigated
semialgebraic invariants [
        <xref ref-type="bibr" rid="ref4 ref6 ref7">4, 6, 7</xref>
        ]. Some others focus on invariant sets representable by using
polytopes [
        <xref ref-type="bibr" rid="ref5 ref8">8, 5</xref>
        ] to avoid the double exponential decision procedure of the semi-algebraic theory.
The vast majorities of the works in the literature take advantage of the system continuity to
either validate or identify an invariant set.
      </p>
      <p>
        This work focuses on discrete-time transition systems. The applications of this kind of
systems go from biology [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ] to engineering [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. We rely on a strengthening of a special
case of induction, -inductiveness [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], to validate a possible invariant  . We start from an
initial set of states and we enlarge it to include all the states reachable in  − 1 discrete transitions.
This is the candidate invariant and it has to be included in the invariant  . If this is the case,
we have to prove that if  is a path of length  starting from  and having the first  − 1 steps
in  itself, then  does not exit from  .
      </p>
      <p>
        Other approaches involving -inductiveness have been proposed in the literature (see, e.g.,
[
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]). However, they assume the possibility of computing the reverse transition, which is
not always possible when dealing with discrete polynomial systems. Indeed our goal was to
develop a general method for (possibly) non-reversible discrete transition systems.
      </p>
      <p>When all operations are computed without approximations the proposed method converges
if and only if reachability converges within a finite number of steps. Surprisingly, when
reachability, unions and intersections are over-approximated, convergence is achieved on a
larger class of systems.</p>
      <p>The paper is organized as follows. Section 2 introduces the problem, the notation, and the
basic tools. Section 3 incrementally presents our proposal for a set-based algorithm deciding
-inductiveness. In Section 4 we detail the approach over polynomial systems as implemented
in Sapo and discuss an example. Section 5 draws concluding remarks.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>In this section, we present some central notions for this work.</p>
      <p>Definition 1 (Transition System). A transition system is a pair ⟨, ⟩, where  is the set of
states and  ⊆  ×  is the transition relation. An initial set for a transition system TS = ⟨, ⟩
is a set of states  ⊆ .</p>
      <sec id="sec-2-1">
        <title>The transition relation  induces a transition function  that maps any set  ⊆  into the</title>
        <p>forward image of  itself, i.e.  () =def { ∈  | ∃′ ∈  (′, ) ∈ }.</p>
        <p>For any function  : 2 → 2 mapping a subset of the states into another subset of the
states, we define the  image of  restricted to  as () =def  () ∩ . We write  () to
denote  consecutive applications of  to , i.e.,
 () =def
{︃
 (︀  − 1())︀
if  = 0
if  &gt; 0
.</p>
        <p>So, (),  () and  () stand for the forward image of  restricted to ,  consecutive
applications of the forward image, and  consecutive applications of the forward image restricted
to , respectively.</p>
        <p>A set  under-approximates a set ′ when  ⊆ ′. A set  over-approximates a set ′
when  ⊇ ′. A function  ′ :  →  under-approximates (over-approximates) a function  ′′
when  ′() ⊆  ′′() ( ′() ⊇  ′′(), respectively) for all  ∈ . It is easy to see that, if 
over/under-approximates  , then  ,  , and   do the same for ,  , and  , respectively.

Definition 2 (Reachability). Given a transition system TS and an initial set , the set of states
reachable from  in -steps is the set  () and the set of states reachable from  is ⋃︀∈N  ().</p>
        <p>A property for a system is a set of states of the system. An invariant for a system and an
initial set of states, , is a property that contains all the states reachable from .
 is a set  ⊆  such that
Definition 3 (Property and Invariant).</p>
        <p>Let TS = ⟨, ⟩ be a transition system and let  ⊆ 
be an initial set of states for TS. A property of TS is a set of states  ⊆ . An invariant for TS and
⋃︁  () ⊆ .
∈N
(1)</p>
        <p>
          A well-know problem in the context of verification is that of checking whether a given
property  is an invariant for a system (see, e.g., [
          <xref ref-type="bibr" rid="ref5 ref7 ref8">7, 8, 5</xref>
          ]).
        </p>
        <p>One could consider the problem of constructing the smallest invariant for a system. The
problem is well defined since if both 1 and 2 are invariants for TS and , then also 1 ∩ 2 is
an invariant. In other terms, a given property  is an invariant for the system if and only if it
includes the smallest invariant. However, as one could imagine finding the smallest invariant
could be far more dificult than checking whether a given property is an invariant.</p>
        <p>
          In this paper, we will describe a method for checking whether a property is an invariant,
while trying to construct the smallest invariant. The method has to work also on infinite state
systems assuming that only a restricted number of operations are computable. For instance,
we will be able to over-approximate the forward image computation, but not the backward
one. This is a reasonable compromise in term of computability and eficiency in the case of
non-linear systems [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
        <sec id="sec-2-1-1">
          <title>K-Inductiveness</title>
          <p>
            A standard approach for verifying invariants is the use of k-induction [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] in combination with
Bounded Model Checking (BMC) [
            <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
            ]. If TS reaches from  a state outside  in  steps, i.e.,
 () ̸⊆
          </p>
          <p>, then  is not an invariant and we have a counter-example of length . If this is
not the case, then we try to prove that  is -inductive, which implies that it is an invariant.</p>
          <p>We now briefly explain the meaning of -inductiveness. By Equation 1 and by induction
principle over the naturals,  is an invariant if and only if
 0() ⊆</p>
          <p>() ⊆  →  +1() ⊆ 
(basis)
(step)
Induction and -induction are equivalent over N. Thus,  is an invariant if and only if
⋀︀− 1   () ⊆</p>
          <p>=0
︁( ⋀︀− 1  + () ⊆</p>
          <p>
            ︁)
=0
→  +() ⊆ 
(-basis)
(-step)
Unfortunately, the inductive -step has to be proven for a generic  ∈ N, which makes the
technique not algorithmic for infinite systems. A stronger approach, named -inductiveness,
can be used to automatize invariant verification. Intuitively, -inductiveness strengthens -steps
by requiring that all the paths laying inside  for  −
1 steps stay inside  also after  steps,
no matter whether they started from  or not. Considering all the possible paths starting from
 and not only those from  allows to drop the dependence on . The following definition is a
set-based version of the definition given in [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ].
          </p>
          <p>Definition 4 ( -Inductive Property). Given a transition system TS and an initial set  , a
inductive property for TS and  is a set of states  ⊆  such that
⋀︀− 1   ( ) ⊆</p>
          <p>=0
 (− 1( )) ⊆ 
(-init)
(-ind)
It is well known that -inductiveness implies invariance.</p>
          <p>Lemma 2.1. Let TS be a transition system and  be and initial set for TS. If  is -inductive for
TS and  , then  is an invariant for TS and  .</p>
          <p>The reader should be aware that this is a specialized use of induction: a property could be an
invariant and not -inductive. Moreover, a set could be  + 1-inductive and not -inductive.
Example 1. Let TS be the transition system ⟨, ⟩, with  = {0, 1, 2, 3} and  = {(0, 0),
(1, 3), (3, 2), (2, 2)}, and let  be the set {0}. The set {0, 1} is an invariant for TS and  , but it is
not -inductive for any . Moreover,  = {0, 1, 2} is 2-inductive because 1 ( ) =  ( ) ∩  =
{0, 2, 3} ∩ {0, 1, 2} = {0, 2} and  ({0, 2}) = {0, 2} ⊆  . However,  is not 1-inductive. As a
matter of the fact, 0 ( ) =  and  ( ) = {0, 2, 3} ̸⊆  .</p>
          <p>If -init does not hold, not only  is not -inductive, but it is not an invariant. If both -init
and -ind succeed,  is -inductive and it is an invariant. If -init succeeds, but -ind does not,
then  is not -inductive, but it could be  + 1-inductive, i.e.,  has to be incremented. This
forces Algorithm 1 to return True if and only if there exists  such that  is -inductive. Using
two auxiliary variables, we can implement Algorithm 1 to require only 2 forward images, 1
intersection, and 2 subset tests at each iteration. Unfortunately, Algorithm 1 is not complete
and, if  is not -inductive for any , but it is an invariant, it does not terminate.
Algorithm 1 K-Inductiveness
1: function -inductive(TS = ⟨, ⟩,  ,  )
2: if  ̸⊆  then
3: return False
4:  ← 1
5: while True do
6: if  ( ) ̸⊆  then
7: return False
8: if  (− 1( )) ⊆  then
9: return True
10:  + 1</p>
          <p>←</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Set-Based Reachability</title>
          <p>
            In formal verification of infinite state systems and more in general in the context of symbolical
representations of transition systems, traces representing punctual evolutions are not always
feasible because of the infinite domain. Processing sets of traces, potentially infinite in number,
even though involving a finite set of states, is certainly computationally more expensive than
computing the evolution of sets consisting in an infinite number of states. Moreover, it is usually
not reasonable to work on single points/traces when we do not have knowledge of the system
at infinite precision level [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ]. In such a context, set-based analysis aims at defining techniques
for dealing with possible infinite sets of states, processing each set as a single object.
          </p>
          <p>In particular, in the case of infinite states systems and reachability computation a generic
set-based technique depends on the choice of:
• A domain  ⊆ 2 providing finite representations for the set of points to be manipulated.</p>
          <p>The most used domains are ellipsoids, polytopes, zonotopes.
• Methods for computing/approximating basic set operations and tests over , e.g., union,
intersection, and inclusion.
• A family  of admissible transition relations. For instance, linear or polynomial systems
could be considered.
• For all the transition functions  ∈  , a method  :  →  that computes/approximates
the image of any set  ∈  through  .</p>
          <p>Such tools are suficient to obtain an implementation of Algorithm 1 instantiated on a
specific domain. In particular, as far as basic set operations are concerned, it only requires
the computation/approximation of intersections and the tests of inclusion. If both forward
images and intersections are over-approximated and inclusion tests never provide false positive
answers, then the procedure returns True if and only if  is -inductive for some .</p>
          <p>
            It is worth to notice that computing backward images, which could be problematic in the
case of non-linear transition relations, is not required. This is a crucial diference with respect
to algorithms such as IC3/PDR [
            <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
            ] which use transition reversibility to compute
counterexamples and refine over-approximations of the reachability sets.
          </p>
          <p>Algorithm 1 has two main flaws: 1) if  is an invariant, but it is not -inductive for any ,
Algorithm 1 does not terminate; 2) the algorithm is not able to refine  and discover possible
-inductive invariant included in  . Section 3 tries to overcome both issues by presenting
algorithms that, along the computation, search for the “smallest” invariant included in  that is
also -inductive for some .</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Set-Based K-Inductiveness</title>
      <p>We propose a set-based algorithm that takes in input a system TS, a set of initial states  and a
property  and aims at constructing a -inductive property CI, candidate inductive, included
in  . Intuitively, if TS reaches a state outside  in  transition steps from , then  is not an
invariant and the algorithm returns False. If this is not the case, then the algorithm considers
the candidate invariant CI built so far. CI has two main properties: it is included in  and it
includes all the states reachable from  in  − 1 steps. If CI is -inductive, then  is an invariant
and the algorithm returns True. Otherwise, CI is augmented with the states reachable in -steps
and  is incremented. If  is an invariant, but it does not includes any -inductive set, then
the algorithm does not terminate. These ideas are formalized in Algorithm 2 which describes
sets by using a finite representation domain  and the method  to compute/approximate the
images of  as discussed in Section 2. In particular, while  maps any subsets of  in another
subset of  according to ,  :  →  with  ⊆ 2 .</p>
      <p>Algorithm 2 Set–based K–inductiveness
1: function candidate-inductive(TS = ⟨, ⟩, ,  )
2: if  ̸⊆  then
3: return False
4:  ← 1
5: CI ← 
6: while True do
7: if  () ̸⊆  then
8: return False
9: if  (︀  C−I 1(CI))︀ ⊆ CI then
10: return True
11: CI ← CI ∪  ()
12:  ←  + 1</p>
      <p>It is easy to see that the variable CI in Algorithm 2 accumulates the reachability set of TS
and  as the computation proceeds. In particular, if  under/over-approximates  , then CI
under/over-approximates ⋃︀− 1   (). This observation allows us to prove some properties
=0
about the results of Algorithm 2.</p>
      <p>Theorem 3.1 (Correctness of Algorithm 2). If  under-approximates  and Algorithm 2
returns False, then  is not an invariant for TS and . If  over-approximates  and Algorithm 2
returns True after  while-loop iterations, then CI is -inductive for TS and  and  is an invariant
for them. Furthermore, if  () =  () for all  ∈ , Algorithm 2 returns False if and only if
 is not an invariant for TS and  and, when it returns True, any  ⊂ CI is not an invariant for
TS and .</p>
      <p>Let us underline that both the termination of Algorithm 2 and the meaning of its outcomes
depend on the approximation of  done by  . Figure 1 depicts two examples in which Algorithm 2
terminates, but does not return the aimed answer.</p>
      <p>When instead  exactly represents  , Algorithm 2 does not terminate only when  is an
invariant of the system by Theorem 3.1. Moreover, when the algorithm loops forever, the set
of points reachable from  does not converge after a finite number of while-loop iterations.
Indeed, if ⋃︀∈N   () = ⋃︀≤ ℎ   () for some ℎ, then CI = ⋃︀∈N   () after ℎ iterations, CI is
ℎ-inductive, and the algorithm returns True. Hence, if we are assuming that all set-operations
are implemented without approximations and  exactly represents  , Algorithm 2 terminates
if and only if either  is not an invariant or the set of reachable states can be computed with a
ifnite number of forward transitions.</p>
      <p>Corollary 3.1.1 (Termination). If  () exactly represents  () for any  ∈ , then
Algorithm 2 terminates if and only if either  is not an invariant or there exists ℎ such that
⋃︀∈N   () = ⋃︀≤ ℎ   ().

 2()</p>
      <p>(())

 2()

(a) Algorithm 2 returns True even though 
is not an invariant for TS and  when 
under-approximates  . However,  () is
not a subset of  and, as a consequence, 
is not an invariant for TS and .</p>
      <p>(b) Algorithm 2 returns False even though 
is an invariant for TS and  when 
overapproximates  . However,  () is a subset
of  and  3() =  (). Thus,  is an
invariant for TS and .</p>
      <p>While the number of while-loop iterations of Algorithm 2 cannot be upper-bounded in the
general case, we can provide a cost depending on the number of iterations for it. Each repetition
of the while-loop in Algorithm 2 requires Θ() forward image computations, 2 inclusion tests,
Θ() intersection and 1 union. Such operations are denoted as set-operations, since they
transform sets of states.</p>
      <p>Theorem 3.2 (Set Complexity). If Algorithm 2 terminates exactly after  iterations of the
while-loop, then it requires Θ(2) set operations.</p>
      <p>Without increasing the asymptotic complexity of the algorithm we could modify line 9 by
considering the test</p>
      <p>( C−I 1(CI)) ⊆ CI ∨  ( − 1( )) ⊆ ,
i.e., at each step we also check whether  is -inductive. This would guarantee termination also
in the case in which  is -inductive. However, we are interested in classes of systems where it
is not reasonable to assume that  can be represented/approximated in the domain  of sets,
for instance,  and  can be a half-space and the set of all the ellipsoids in the same space,
respectively. This was one of the reasons for which we moved from Algorithm 1 to Algorithm 2.</p>
      <p>Theorem 3.2 provides a complexity bound for Algorithm 2 in terms of set operations. However,
the cost of each operation actually depends on the complexity of the involved sets. For instance,
if  and  are the union of 1 and 2 basic sets, respectively, e.g.,  = ⋃︀=1 1  and  =
⋃︀2</p>
      <p>=1  , the evaluation of  ∩  may consists in up to 1 * 2 basic sets: the non-empty
intersections between each  and each  . In the context of Algorithm 2, if we assume that
both  and its forward image are basic sets, after  iterations of the algorithm while-loop, CI
consists in the list [ 0(), . . . ,  ()]. Thus, the evaluation of  C−I 1(CI) at line 9 may produce
a set consisting of up to  basic sets and, as a consequence, requires () basic set operations.</p>
      <p>The complexity of Algorithm 2 in terms of basic set operations pushes us to either avoid the
test of line 9 or replace the exact union performed at line 11 with an approximate version of it
that reduces the number of basic sets in CI.</p>
      <sec id="sec-3-1">
        <title>Over-Approximation of the Union</title>
        <p>In order to overcome the limits pointed out by both Corollary 3.1.1 and other complexity issues
discussed at the end of the previous section, we consider a diferent approach that aims to
reduce the number of basic sets in CI. This is done by replacing the line 11 in Algorithm 2 with
the assignment:</p>
        <p>CI ←</p>
        <p>
          Join(CI,  ( )),
where the operator Join over-approximates the set union and returns one single basic set and
 is a new variable initially set to . Please notice that we are not forcing Join to be a specific
function, but instead we are requiring it to return one single basic set over-approximating the
union of its parameters. For instance, depending on the adopted set representation, Join may
be implemented by the convex-hull function, the bounding box function, or the Halbwachs
widening operator [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
        <p>Due to the proposed change, CI may be not included in  even when   ( ) ⊆  for all
 ∈ N (e.g., see Figure 2). When this happens we can either return Unknown, since we do not
have a counter-example, but our -inductive set is growing outside  , or re-initialize  , CI, and
. Algorithm 3 implements this approach.</p>
        <p>Algorithm 3 Set-based Join K-inductiveness</p>
        <p>Figure 2 depicts a situation in which  and CI have to be re-initialized, i.e., CI ̸⊆  at line 13
of Algorithm 3. In this example the domain  consists in rectangles in R2 and the Join
overapproximates the union of two rectangles with the smallest rectangle including both of them,
i.e., their bounding box. The violation of  is clearly an artifact of the over-approximation.
Hence, the algorithm can safely re-initialize  and CI.</p>
        <p>As done for Algorithm 2, we aim to investigate the correctness of Algorithm 3 when  is an
under-approximation, an over-approximation, and the exact representation of the forward image
function  . In order to achieve this goal, we must notice two main properties of the algorithm.
First of all, CI is a subset of  at the beginning of each while-loop iteration. Moreover, if 
under-approximates (over-approximates) the forward image function  , then, after ℎ iterations
of the while-loop,  ( ) under-approximates (over-approximates)  ℎ(). These properties
allow us to prove the following correctness result.</p>
        <p>Theorem 3.3 (Correctness of Algorithm 3). If  under-approximates  and Algorithm 3
returns False, then  is not an invariant for TS and . If  over-approximates  and Algorithm 3
returns True, then  is an invariant for TS and . Let  () equal  () for any  ∈ . If
Algorithm 3 returns True, then  is an invariant for TS and . Moreover, Algorithm 3 returns
False if and only if  is not an invariant for TS and .</p>
        <p>The set complexity of Algorithm 3 equals that of Algorithm 2 where the cost of exact unions
is replaced by that of the Join operations. Nevertheless, the number of basic sets represented
in CI and the costs of line 10 depend on Join. If Join always returns one single basic set, then
the evaluation of the condition at line 10 requires to compute  forward images of a single basic
set and  − 1 intersections and 1 inclusion test between two basic sets. Thus, in this case, the
asymptotic complexity of the test at line 10, whose costs in Algorithm 2 was (), becomes
(). In Section 4, we present two possible semantics for the Join operator and one of them
achieves this complexity.</p>
        <p>As far as termination is concerned, a lot depend once more on the choice of Join. Algorithm 3
can loop forever only when  is an invariant as Algorithm 2 did too. Intuitively, if there exists
a -inductive set which includes the forward images of  ℎ() for a given ℎ ≥ 0 and such set
can be obtained through successive Join operations, then the algorithm terminates. However,
it is no more necessary that the forward images converge within a finite number of steps.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Approximating Intersections</title>
        <p>The analysis of Algorithm 3 in the previous section relies on the hypothesis that intersections,
needed to compute  C−I 1(CI) at line 10, are computed without approximations. However, this is
not always feasible and depends on the choice of the domain . For instance, let us consider the
domain of ellipsoids; the intersection of two incomparable ellipsoids is not an ellipsoid. So, we
now discuss the properties of Algorithm 3 under the hypothesis that the intersections between
sets in  are approximated.</p>
        <p>As already observed, the intersections are exclusively used to evaluate the condition at line 10
and do not afect the correctness of the result when False is returned. Because of this, we
focus on the cases in which Algorithm 3 returns True which, by Theorem 3.3, implies  is
an invariant for TS and  only when  is an over-approximation of  . It is easy to see that
if we over-approximate ∩, the algorithm still has no false positive outcomes. Intuitively, if CI
contains the over-approximation of the reachable sets it also contains the exact ones, and if the
over-approximation of the states reachable from CI after  − 1 steps inside it are still inside CI,
then this also holds for the exact reachable sets.</p>
        <p>Corollary 3.3.1 (Over-approximation of  and ∩). Let  () and  () over-approximate
 () and  () ∩ , respectively, for any ,  ∈ . If Algorithm 3 returns True, then  is an
invariant for TS and .</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Implementation and Tests over Polynomial Systems</title>
      <p>We now consider transition systems defined through discrete time polynomial dynamical
systems, i.e., dynamical systems described by equations of the form x+1 = f (x), where
x ∈ R and f : R → R is a vector of -variate polynomial functions. The transition
system TS = ⟨, ⟩ associated to a dynamical system of this form has  = R and  =
{(x, x+1) | x, x+1 ∈ R, x+1 = f (x)}.</p>
      <p>
        Sapo [
        <xref ref-type="bibr" rid="ref10 ref16 ref22">10, 22, 16</xref>
        ] implements bounded reachability, verification of Signal Temporal Logic
specifications, and parameter synthesis for such systems. The framework supports state sets
specified as polytopes, i.e., closed and bounded subsets of R enclosed by a finite number of
hyperplanes. A direction of the polytope is a unit vector normal to one of the enclosing
hyperplane. Forward images of polytopes are over-approximated exploiting Bernstein’s coeficients.
The forward image of a polytope is a new polytope specified by the same directions of the initial
one, but with new thresholds. A detailed description of both algorithms and data structures
implemented by Sapo is given in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>Since Sapo can exclusively over-approximate forward images, we can only aim to validate
candidate invariants as proved in Theorem 3.3. Indeed, nothing can be deduced when
Algorithm 3 returns False as highlighted by Figure 1b which depicts a scenario in which the
algorithm returns False and  is an invariant.</p>
      <p>Sapo natively represents exact unions of polytopes as list of polytopes. Moreover, it supports
exact intersections and inclusion test of exact union polytopes. Thus, in order to implement
Algorithm 3 we need to:
1. choose a specification for candidate invariants to be tested. Sapo already supports
polytopes, but we aimed to deal with a broader class of properties;</p>
      <sec id="sec-4-1">
        <title>2. implement the test  ⊆  where  is a generic polytope and  is the candidate invariant;</title>
        <p>3. define a function Join to over-approximate the union of polytopes.</p>
        <p>As far as the candidate invariant specification is concerned, we decided to admit convex
linear sets, i.e., sets corresponding to the solutions of a linear system. This specification includes
polytopes, but it also covers an infinite number of non-bounded sets.</p>
        <p>Example 2. A possible candidate invariant  for the Sapo implementation of Algorithm 3 is the
set of unbounded solutions of the linear system
 : ︂{  + 2 *  ≤ 5 .</p>
        <p>3 *  ≥  + 1</p>
        <p>We implemented the test  ̸⊆  , where  is a generic polytope and  is the candidate
invariant, by using linear programming. Any polytope  is specified as a system of linear
inequalities, ℒ. Testing  ̸⊆  is equivalent to test whether there exists an inequality (x) ≤ 
in the specification of  such that ℒ enriched with (x) &gt;  has a feasible solution. As a
matter of the fact, such a solution does exist if and only if there exists a state, i.e., the solution
itself, that belongs to , because it satisfies ℒ, and does not belong to  , because it satisfies
(x) &gt;  that is the negation of one of the constraints of  . Once  ̸⊆  has been implemented,
 ⊆  can be trivially computed as ¬( ̸⊆  ).</p>
      </sec>
      <sec id="sec-4-2">
        <title>The implementation of the test  ̸⊆  relies on the solution of up to  linear programming</title>
        <p>
          problems where  is the number of linear inequalities in ℒ . If the problems are solved by
using Karmarkar’s algorithm [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], the asymptotic complexity of the algorithm is polynomial
with respect to both the space dimension and the number of constraints in ℒ and ℒ .
        </p>
        <p>We consider two alternative semantics for the function Join: Listing and Packaging.
The most naïve semantics for Join is the exact union, i.e., Join(, ) =  ∪ . Since exact
unions are usually represented as lists of basic sets, we refer to this approach as Listing. An
alternative semantics for the function Join(, ) consists in finding the smallest polytope,
having the same directions of , that includes both  and . We call this approach Packaging
because it packs many polytopes into a new one. Figures 2 and 3 depicts CI during an evaluation
of Algorithm 3 when the Join implements the Packaging semantic.</p>
        <p>Packaging usually produces coarser union approximations than Listing or, for instance,
convex hull. However, it preserves the number of directions needed to represent sets and, as
a consequence, it guarantees that both the memory required to represent a single set and the
cost of set functions do not change during the computation. Neither Listing nor convex hull
ensure these features: the former increases the number of polytopes per set as the computation
proceeds, the latter produces only one polytopes per set, but tends to increase the number of
directions required to represent it.</p>
        <p>While Packaging is usually more efective than Listing, there are cases in which the
former leads to an infinite computation, while the latter produces an answer.
Example 3. Consider the following system
If the system initial state is (, ), this system keeps flipping  and  values at each evolution
step. For instance, if the initial set is  = [2.9, 3.1] × [0.9, 1.1], after one step the system reaches
 () = [0.9, 1.1] × [2.9, 3.1], and one further step brings back the system to its initial condition
since  2() = . So, if we select as candidate invariant  +  ≤ 5, the packaging of any pair of
consecutive forward images violates it and Algorithm 3 resets CI and  to the last one of the two.
Despite this, the packaging of the new pair of consecutive forward images still does not satisfy
 +  ≤ 5 and the algorithm loops forever (see Figure 3a).</p>
        <p>Intriguingly, Algorithm 3 with Listing can easily prove that  +  ≤ 5 is an actual invariant
for the system and  = [2.9, 3.1] × [0.9, 1.1]. The reachability computation converges after 1
step and all reachable points satisfies the candidate invariant, hence, in this scenario, Listing is
preferable to Packaging.</p>
        <p>In Example 3, Listing and Packaging produce diferent outcomes because the packaging
of two polytopes  and  may not satisfy a property even when  and  individually do it (see
Figure 3a). We can mitigate this issue by adding the property directions to the packaging and
minimizing and maximizing them on  and . This approach is called enhanced Packaging.
Since we focus on convex linear properties,  and  satisfy a property  if and only if the
enhanced packaging of  and  satisfies  too. Indeed, the packaging does not satisfy  if and
only if there exists an inequality (x) ≤  in the specification of  that is not satisfied. However,
the enhanced packaging of  and  is also defined by a set of inequalities among which there is
(x) ≤ max(, ) where  and  are the maxima of (x) in  and , respectively. Thus,
if the packaging does not satisfy (x) ≤  either  or  do not satisfy it too. The enhanced
Packaging may increase the complexity of the packaging representation with respect to 
and . However, this only happens when the property directions are not yet present in the
representation of the two sets. Figure 3b shows enhanced Packaging on Example 3.</p>
        <p>
          The algorithms presented in Sections 3 and 4 have been implemented in Sapo [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. We now
briefly illustrate their efectiveness on the following transition system over R2
where ,  ∈ R. This system represents the complex quadratic generator function () = 2 +
with ,  ∈ C which is used to define Mandelbrot set [
          <xref ref-type="bibr" rid="ref24 ref25">24, 25</xref>
          ]. The variables  and  are the real
and imaginary components of , respectively, and similarly  and  are the components of .
The dynamical system iterates the computation of .
        </p>
        <p>Let [0.09, 0.11] × [0.09, 0.11] be the system initial set . Diferent choices of  and  can
produce very diferent behaviours. We focus on the behaviour obtained with  ∈ [0.19, 0.2]
and  ∈ [0.29, 0.3] and we consider the candidate invariant 1 :  ≤ 0.3. Sapo proved that
1 is an invariant for the system by using Listing in less than 1 second on a MacBook Pro
2020 with 16GB of RAM. The proof ended after 12 iterations of the Algorithm 3 while-loop.
Packaging can achieve the same result after only 4 iterations. Packaging can also be used to
prove that 2 :  +  ≤ 0.6 is an invariant for the investigated system in 5 while-loop iterations;
enhanced Packaging requires only 4 while-loop iterations for the same goal (see Figure 4b).</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions and Future Work</title>
      <p>We presented a set-based method for checking invariant properties over discrete time dynamical
systems. The method exploits the notion of -inductiveness together with over-approximation
procedures for reachability, unions, and intersections. When it converges to a positive answer,
it computes the “smallest” invariant that is a subset of the given one. Our approach achieves
convergence on a larger class of systems when set-based operations are over-approximated
rather then when exact computations are performed.</p>
      <p>
        The approach has been implemented and tested in Sapo providing two possible semantics
for the over-approximation of unions. The implementation was able to prove two invariants
over a well-known and deeply investigated fractal example [
        <xref ref-type="bibr" rid="ref24 ref25">24, 25</xref>
        ].
      </p>
      <p>As future work we plan to investigate other examples and eventually include heuristics for
allowing convergence in limit cases.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This work is partially supported by PRIN project NiRvAna CUP G23C22000400005 and National
Recovery and Resilience Plan (NRRP), Mission 4 Component 2 Investment 1.4 - Call for tender
No. 3138 of 16 December 202, rectified by Decree n.3175 of 18 December 2021 of Italian Ministry
of University and Research funded by the European Union - NextGenerationEU; Project code
CN_00000033, Concession Decree No. 1034 of 17 June 2022 adopted by the Italian Ministry of
University and Research, CUP G23C22001110007, Project title “National Biodiversity Future
Center - NBFC” .</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Blanchini</surname>
          </string-name>
          , Set invariance in control,
          <source>Automatica</source>
          <volume>35</volume>
          (
          <year>1999</year>
          )
          <fpage>1747</fpage>
          -
          <lpage>1767</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>X.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. B.</given-names>
            <surname>Dwyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hatclif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mizuno</surname>
          </string-name>
          ,
          <article-title>Invariant-based specification, synthesis, and verification of synchronization in concurrent programs</article-title>
          ,
          <source>in: Proceedings of the 24th international conference on software engineering</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>442</fpage>
          -
          <lpage>452</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Beyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schilling</surname>
          </string-name>
          ,
          <article-title>Symbolic invariant verification for systems with dynamic structural adaptation</article-title>
          ,
          <source>in: Proceedings of the 28th international conference on Software engineering</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Platzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <article-title>Computing diferential invariants of hybrid systems as fixedpoints</article-title>
          ,
          <source>Formal Methods in System Design</source>
          <volume>35</volume>
          (
          <year>2009</year>
          )
          <fpage>98</fpage>
          -
          <lpage>120</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M. A. B.</given-names>
            <surname>Sassi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Girard</surname>
          </string-name>
          ,
          <article-title>Computation of polytopic invariants for polynomial dynamical systems using linear programming</article-title>
          ,
          <source>Automatica</source>
          <volume>48</volume>
          (
          <year>2012</year>
          )
          <fpage>3114</fpage>
          -
          <lpage>3121</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sankaranarayanan</surname>
          </string-name>
          ,
          <article-title>Automatic invariant generation for hybrid systems using ideal fixed points</article-title>
          ,
          <source>in: Proceedings of the 13th ACM international conference on Hybrid systems: computation and control</source>
          ,
          <source>2010</source>
          , pp.
          <fpage>221</fpage>
          -
          <lpage>230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Sogokon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ghorbal</surname>
          </string-name>
          , P. B.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Platzer</surname>
          </string-name>
          ,
          <article-title>A method for invariant generation for polynomial continuous systems</article-title>
          , in: International Conference on Verification,
          <source>Model Checking, and Abstract Interpretation</source>
          , Springer,
          <year>2016</year>
          , pp.
          <fpage>268</fpage>
          -
          <lpage>288</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sankaranarayanan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ivančić</surname>
          </string-name>
          ,
          <article-title>Symbolic model checking of hybrid systems using template polyhedra</article-title>
          ,
          <source>in: TACAS '08</source>
          , Springer,
          <year>2008</year>
          , pp.
          <fpage>188</fpage>
          -
          <lpage>202</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Veliz-Cuba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Jarrah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Laubenbacher</surname>
          </string-name>
          ,
          <source>Polynomial algebra of discrete models in systems biology, Bioinformatics</source>
          <volume>26</volume>
          (
          <year>2010</year>
          )
          <fpage>1637</fpage>
          -
          <lpage>1643</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Dang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dreossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>Parameter synthesis using parallelotopic enclosure and applications to epidemic models</article-title>
          ,
          <source>in: Hybrid Systems and Biology</source>
          , HSB,
          <year>2014</year>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>82</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ichihara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tanabe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ebihara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Peaucelle</surname>
          </string-name>
          ,
          <article-title>Analysis and synthesis of discrete-time interconnected positive systems</article-title>
          ,
          <source>SICE Journal of Control, Measurement, and System Integration</source>
          <volume>11</volume>
          (
          <year>2018</year>
          )
          <fpage>91</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>T.</given-names>
            <surname>Dreossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>Reachability computation for polynomial dynamical systems</article-title>
          ,
          <source>Formal Methods in System Design</source>
          <volume>50</volume>
          (
          <year>2017</year>
          )
          <fpage>1</fpage>
          -
          <lpage>38</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sheeran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Stålmarck, Checking safety properties using induction and a sat-solver</article-title>
          , in: W. A.
          <string-name>
            <surname>Hunt</surname>
          </string-name>
          , S. D. Johnson (Eds.), Formal Methods in Computer-Aided Design, Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2000</year>
          , pp.
          <fpage>127</fpage>
          -
          <lpage>144</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Bradley</surname>
          </string-name>
          ,
          <article-title>Sat-based model checking without unrolling</article-title>
          , in: International Workshop on Verification,
          <source>Model Checking, and Abstract Interpretation (VMCAI</source>
          <year>2011</year>
          ), volume
          <volume>6538</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2011</year>
          , pp.
          <fpage>70</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>N.</given-names>
            <surname>Eén</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mishchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Brayton</surname>
          </string-name>
          ,
          <article-title>Eficient implementation of property directed reachability</article-title>
          , in: International Conference on Formal Methods in Computer-Aided
          <string-name>
            <surname>Design</surname>
          </string-name>
          (FMCAD
          <year>2011</year>
          ), IEEE,
          <year>2011</year>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>134</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Casagrande</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Dorigo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dreossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          , E. Pippia,
          <article-title>Parameter synthesis of polynomial dynamical systems</article-title>
          ,
          <source>Information and Computation</source>
          <volume>289</volume>
          (
          <year>2022</year>
          )
          <fpage>104941</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          , E. Clarke,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <article-title>Symbolic model checking without BDDs</article-title>
          , in: TACAS '
          <volume>99</volume>
          , volume
          <volume>1579</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>1999</year>
          , pp.
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <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>O.</given-names>
            <surname>Strichman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          , Bounded model checking,
          <source>Handbook of satisfiability 185</source>
          (
          <year>2009</year>
          )
          <fpage>457</fpage>
          -
          <lpage>481</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A. F.</given-names>
            <surname>Donaldson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Haller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kroening</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Rümmer</surname>
          </string-name>
          ,
          <article-title>Software Verification Using k-Induction</article-title>
          , in: E. Yahav (Ed.),
          <source>Static Analysis</source>
          , Springer, Berlin, Heidelberg,
          <year>2011</year>
          , pp.
          <fpage>351</fpage>
          -
          <lpage>368</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>A.</given-names>
            <surname>Casagrande</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dreossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          , Hybrid automata and
          <article-title>-analysis on a neural oscillator</article-title>
          ,
          <source>Electronic Proceedings in Theoretical Computer Science</source>
          , EPTCS
          <volume>92</volume>
          (
          <year>2012</year>
          )
          <fpage>58</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>P.</given-names>
            <surname>Cousot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Halbwachs</surname>
          </string-name>
          ,
          <article-title>Automatic discovery of linear restraints among variables of a program</article-title>
          ,
          <source>in: Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL '78</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>1978</year>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>T.</given-names>
            <surname>Dang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dreossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>Parameter synthesis through temporal logic specifications</article-title>
          , in: Formal Methods,
          <string-name>
            <surname>FM</surname>
          </string-name>
          ,
          <year>2015</year>
          , pp.
          <fpage>213</fpage>
          -
          <lpage>230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>N.</given-names>
            <surname>Karmarkar</surname>
          </string-name>
          ,
          <article-title>A new polynomial-time algorithm for linear programming</article-title>
          ,
          <source>in: Symposium on Theory of computing, STOC</source>
          , ACM,
          <year>1984</year>
          , pp.
          <fpage>302</fpage>
          -
          <lpage>311</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>R.</given-names>
            <surname>Brooks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Matelski</surname>
          </string-name>
          ,
          <article-title>The dynamics of 2-generator subgroups of PSL(2, ), in: Riemann surfaces and related topics:</article-title>
          <source>Proceedings of the 1978 Stony Brook Conference</source>
          , Ann. of Math. Stud, volume
          <volume>97</volume>
          ,
          <year>1981</year>
          , pp.
          <fpage>65</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>B. B.</given-names>
            <surname>Mandelbrot</surname>
          </string-name>
          ,
          <article-title>Fractal aspects of the iteration of  ←   (1 − ) for complex  and</article-title>
          ,
          <source>Annals of the New York Academy of Sciences</source>
          <volume>357</volume>
          (
          <year>1980</year>
          )
          <fpage>249</fpage>
          -
          <lpage>259</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>