Equations without Enumerating Them ?
Bernard Boigelot and Louis Latour
Institut Monteore,B28
Universitede Liege
B-4000 LiegeSart-Tilman
Belgium
Phone:+32-43662970
Fax: +32-43662984
Abstra t
The Number De ision Diagram (NDD) has re ently been introdu ed as a
power-ful representation system for sets of integer ve tors. NDDs an notably be used
forhandlingsets denedbyarbitraryPresburger formulas,whi hmakesthem well
suited for representing the set of rea hable states of nite-state systems extended
withunboundedintegervariables.Inthispaper,weaddresstheproblemof ounting
thenumberof distin t elements in a setof numbers or, more generally,of ve tors,
represented by an NDD. We give an algorithm that is able to produ e an exa t
ount without enumerating expli itly the ve tors, whi h makes it apable of
han-dlingvery largesets. Asan auxiliaryresult, we also develop an eÆ ient proje tion
method that allows to onstru t eÆ iently NDDs from quantied formulas, and
thus makes it possible to apply our ounting te hnique to sets spe ied by
for-mulas. Our algorithms have been implementedin the veri ation tool LASH, and
appliedsu essfully to various ounting problems.
Key words: Presburgerarithmeti , automata, ounting,symboli representation
systems.
?
Thisworkwaspartiallyfundedbyagrantofthe\Communautefran aisede
Bel-gique| Dire tionde lare her he s ientique |A tions dere her he on ertees",
andbytheEuropeanCommission(FETproje tADVANCE, ontra t No
IST-1999-29082).
Email address: fboigelot,latourgmontefiore.ulg.a .be(Bernard
Boigelotand LouisLatour).
URL: http://www.montefiore.ulg.a .be/~fboigelot,latourg/(Bernard
Presburger arithmeti [Pre29 ℄, i.e., the rst-order additivetheory of integers,
is a powerful formalism for solving problems that involve integer variables.
The manipulationof sets dened in Presburger arithmeti is entralto many
appli ationsin ludinginteger programmingproblems [S h86 ,PR96℄, ompiler
optimization te hniques [Pug92℄, temporal database queries [KSW95℄,
pro-gram analysis tools[FO97,SKR98℄ and model- he king [DK00,TBP99℄.
Themostdire twayofalgorithmi allyhandlingPresburger-denablesets
on-sists inmanipulating Presburger formulas expli itly. This approa h has been
su essfullyimplementedintheOmegapa kage [Pug92℄,whi hisprobablythe
mostwidelyusedPresburgertoolatthepresenttime.Unfortunately,
formula-based representations suer from a serious drawba k: They la k anoni ity,
whi h implies that a set with a simple stru ture may in some instan es be
represented by a omplex formula; this notably happens when the set is
ob-tainedastheresultofalengthysequen e ofoperations.Moreover, theabsen e
of a anoni al representation hindersthe eÆ ient implementation of de ision
pro edures that are essential to most appli ations, su h as testing whether
two sets are equal.
In order to alleviate these problems, an alternative representation of
Pres-burger-denablesetshas been developed,basedonnite-stateautomata.The
Number De ision Diagram (NDD) [WB95,Boi99℄ is, sket hily, a nite-state
ma hine re ognizingthe en odings of the integerve tors belongingto the set
that it represents. Its main advantages are that most of the usual set-theory
operators anbeappliedtotherepresentedsetsbysimply arryingoutthe
or-respondingtasksonthe languages a epted by the underlyingautomata,and
that a anoni al representationof a set an easilybe obtained by
determiniz-ingandminimizingitsnite-staterepresentations.Amongitsappli ations,the
NDD has made it possible todevelop atool for automati ally omputing the
set of rea hable states of programs using unbounded integer variables [LAS℄.
The problem of ounting how many elements belong to a Presburger set has
beensolvedforformula-basedrepresentationsofPresburgersets[Pug94℄.This
problemhas interesting appli ationsrelated toprogramanalysisand
veri a-tion.First,itenablesonetoquantifypre iselyandtoimprovetheperforman e
of some systems. In parti ular, by dening Presburger formulas whose
solu-tions orrespond to the memory lo ations tou hed by a loop and the ops
exe uted by a loop, one an estimate the amount of resour es onsume by
ode fragments and improve the load balan ing in a multipro essor
environ-ment [TF92℄. Furthermore, ounting the number of rea hable data values at
sele ted ontrollo ationsmakesitpossibletodete tqui klysome
oper, although without any guarantee of always at hing su h errors, that a
lo almodi ationhadanunwanted in uen eonsomeremotepart ofthe
pro-gram. Finally, studying the evolution of the number of rea hable states with
respe ttothe valueof system parameters analsohelptodete tunsuspe ted
errors.
The main goal of this paper is topresent a method for ounting exa tly and
eÆ ientlythenumberofelementsbelongingtoaPresburger-denableset
rep-resented by an NDD. Intuitively, our approa h is based on the idea that one
an easily ompute the number of distin t paths in a dire ted a y li graph
without enumerating them. The a tual algorithm is however more intri ate,
duetothe fa tthatthere isnot aone-to-onerelationshipbetween the ve tors
belongingto aset and the a epting paths of NDD representing the set.
In order to apply our ounting te hnique to the set of solutions of a given
Presburger formula, one needsrst to build anNDDfrom thatformula.This
problemhas been solved in[BHMV94 ,BC96,Boi99℄, butonly inthe formof a
onstru tionalgorithmthatpresentsasystemati exponential ostinthe
num-berofvariablesthatappearintheformula.Asanauxiliary ontributionofthis
paper, we des ribe an improved algorithmfor handlingthe problemati
pro-je tionoperation.Theresulting onstru tionpro edurehasbeenimplemented
and su essfully appliedto problems involvinga large number of variables.
2 Basi notions
Let us rst show how nite-state ma hines an represent sets of integer
ve -tors. The main idea onsists of establishing a mapping between ve tors and
words. Our en oding s heme for ve tors is based on the positional notation
for numbers in a base r > 1, a ording to whi h an en oding of a positive
integer z is a word a p 1 a p 2 a 1 a 0
su h that ea h digit a
i
belongs to the
nite alphabetf0;1;:::;r 1g and z= P p 1 i=0 a i r i . Anen oding of anegative
numberz isthe lastpdigits ofanyen odingofitsr's omplementr p
+z.The
number p of digits is not xed, but must be large enough for the ondition
r p 1
z <r p 1
to hold.As a result, the rst digit of the en odings is 0 for
positive numbers and r 1 for negative ones, hen e that digit is referred to
asthe signdigit of the en odings.
In order to en ode a ve tor ~v = (v
1 ;v
2 ;:::;v
n
), one simply reads repeatedly
and inturn one digit fromthe en odings of allits omponents, underthe
ad-ditionalrestri tionthat these en odings must share thesame length.In other
words,anen odingof~v isawordd
p 1;1 d p 1;2 :::d p 1;n d p 2;1 d p 2;2 :::d p 2;n ::: :::d 0;1 d 0;2 :::d 0;n
su h that for every i 2 f1;:::;ng, d
p 1;i d p 2;i :::d 0;i is an
i
| ea h asso iated to one ve tor omponent | the group of whi h forms a
sign header. Two en odings of the same ve tor an onlydier inthe number
of times that their sign header isrepeated.
LetS Z n
beaset of integerve tors.IfthelanguageL(S) ontainingallthe
en odings of all the ve tors in S is regular, then any nite-state automaton
a epting L(S) is a Number De ision Diagram (NDD) representing S. It is
worth noti ing that, a ording to this denition, not all automata dened
over the alphabet f0;1;:::;r 1g are valid NDDs. Indeed, an NDD must
a ept only valid en odings of ve tors sharing all the same dimension, and
must a ept allthe en odingsof ea h ve tor that itre ognizes. Notethat the
ve tor en oding s heme that we use here is slightly dierent from the one
proposed in [BHMV94,Boi99℄, in whi h the digits related to all the ve tor
omponentsare read simultaneouslyrather thansu essively. It iseasytosee
that both representation methods are equivalent from the theoreti al point
of view. The advantage of our present hoi e is that it produ es onsiderably
more ompa t nite-state representations. For instan e, a deterministi and
minimal NDD representing Z n
is of size O(2 n
) if the omponent digits are
read simultaneously, whi h limitsthe pra ti al use of that approa h to small
values ofn. Onthe other hand,theen oding s hemeused inthispaperyields
anautomaton of size O(n).
It is known for a long time [Cob69,Sem77℄ that the sets that an be
repre-sented by nite-state automata in every base r > 1 are exa tly those that
are denable in Presburger arithmeti , i.e., the rst-order theory hZ;+;i.
One dire tion of the proof of this result is onstru tive, and translates into
an algorithm for onstru ting an NDD representing an arbitrary Presburger
formula [BHMV94,BC96,Boi99℄. Sket hily, the idea is to start from
elemen-tary NDDs orresponding to the formula atoms, and to ombine the NDDs
by means of set operators and quanti ation. It an be easily shown that
omputingthe union,interse tion, dieren eorCartesian produ t of twosets
represented by NDDs is equivalent to arrying out similar operations on the
languages a epted by the underlying automata. Quantifying existentially a
set with respe t toa ve tor omponent,whi h amounts toproje ting this set
along this omponent, is more omplex. We dis uss this problemin the next
se tion.
At this point, one ould wonder why we did not opt for dening NDDs as
automata a epting onlyone en oding (forinstan e the shortest one) of ea h
ve tor,and en odingnegativenumbers astheir signfollowed by the en oding
oftheirabsolutevalue.Itturnsoutthattheformer hoi esubstantially
ompli- ates the essential manipulationalgorithmssu h as omputing the Cartesian
produ t or the dieren e of two sets (in this ase, the problem is that those
= = = =" = =
1 2 i i+1
n
Foralltransitions,2f0;:::;r 1g.Thesymbol"denotestheemptyword.
Fig.1. Proje tiontransdu er.
a epted by theautomata). Thelatter hoi eleads tosigni antlylarger
rep-resentations for atomi formulas su h as linear equations or inequations. On
the other hand, our present hoi es lead to simple manipulation algorithms,
with the only ex eptions of proje tion and ounting, whi h are addressed in
the followingse tions.
3 Proje ting NDDs
The proje tion problem an be stated in the following way. Given an NDD
A representing a set S Z n
, with n > 0, and a omponent number i 2
f1;:::;ng, onstru t an NDD A 0
representing the set
9 i S =f(v 1 ;:::;v i 1 ;v i+1 ;:::;v n )j(v 1 ;:::;v n )2Sg:
For every a epting path of A, there must exist a mat hing path of A 0
, the
labelof whi h ontains digits orresponding toallthe ve tor omponentsbut
the i-th. Thus, one ould be tempted to ompute A 0
as the dire t result of
applying toA the transdu erdepi ted atFigure 1.
Unfortunately, thismethodprodu esanautomatonAj
6=i
that,even thoughit
a epts valid en odings of all the elements of 9
i
S, is generally not an NDD.
Indeed, for some ve tors, the automaton may only re ognize their en odings
if they are of suÆ ient length. For example,the method applied tothe NDD
representing9
1
f(4;1)gwouldgenerate anautomatonwhosesmallesta epted
word is \0001" whi h is not the smallest valid en oding of the number 1, i.e
\01".InordertobuildA 0
fromAj
6=i
,onethushas totransformAj
6=i
su hthat
it alsoa epts the shorter en odings of the ve tors of the set 9
i S.
As already mentioned, two en odings of the same ve tor only dier in the
number of times that their sign header is repeated. We an thus restate the
proje tion problem in the following way: Given a nite-state automaton A
1
overalphabeta epting the languageL
1
,and adimension n0, onstru t
an automaton A 2 a epting L 2 = fu i w j u 2 f0;r 1g n ^ w 2 ^ i > 0 ^ 9k(k i ^ u k w2L 1 )g.
value u of the sign header. Then, for ea h u, explore A
1
in order to know
whi h states an be rea hed by a prex of the form u i
, with i >0 and make
ea hofthese statesrea hableafterreadingasingleo urren eofu,whi h an
be done by a simple onstru tion. Although satisfa tory from a theoreti al
point of view, this solution exhibits a systemati ost in O(2 n
) whi h limits
itspra ti al use toproblems with avery smallve tor dimension.
The main idea behind our improved solution onsists of handling
simulta-neously sign headers that annot be distinguished from ea h other by the
automatonA
1
,i.e.,sign headers u
1 ;u
2
2f0;r 1g n
su hthatforeveryk>0,
reading u k
1
leads to the same automaton states as reading u k 2 . For simpli ity, we assumeA 1 tobe deterministi 1 .
Our algorithmpro eedsasfollows.First,itextra ts fromA
1
aprex
automa-tonA
P
thatreadsonlytherstnsymbolsofwordsandasso iatesonedistin t
endstatetoea hgroupofundistinguishedsign headers.Ea hendstate ofA
P
is then mat hed to allthe states of A
1
that an be rea hed after readingthe
orresponding sign headers any number of times. At every time during this
operation when one dete ts two sign headers that are not yet distinguished
in A
P
but that lead to dierent states of A
1
, one renes the prex
automa-ton A
P
so as to asso iate dierent end states to these headers. Finally, the
automaton A
2
is onstru ted su h that following one of its a epting paths
amounts to reading n symbols in A
P
, whi h rea hes one of its end states s,
and then following ana epting path of A
1
starting froma state mat hed to
s.
The algorithmisformallydes ribed inAppendix A. Itsworst- ase time
om-plexity O(2 n
) is not less than that of the simple solution [Boi99℄ outlined at
the beginning of this se tion. However, in the ontext of state-spa e
explo-ration appli ations, is has been observed that it su eeds most of the time,
if not always, to avoid the exponential blowup experien ed with the latter
approa h.
4 Counting elements of NDDs
Wenowaddresstheproblemof ountingthe numberofve torsthatbelongto
aset S represented by an NDD A. Our solutionpro eeds in two steps: First,
we he k whetherSisniteorinniteand,intheformer ase,wetransformA
1
Thisisnotproblemati inpra ti alappli ations,sin ethe ostofdeterminizingan
automatonbuiltfromanarithmeti formulaisoftenmoderate[WB00℄althoughthe
worst ase omplexityisO(2 j
into a deterministi automaton A that a epts exa tlyone en oding of ea h
ve tor that belongs to S. Se ond, we ount the number of distin t a epting
paths inA 0
.
4.1 Transformation step
LetA beadeterministi andminimalNDD representing the set S Z n
. IfS
isnotempty, thenthelanguagea eptedbyAisinnite,hen ethetransition
graphof this automaton ontains y les. In order to he k whether S is nite
or not, we thus have to determine if these y les are always followed when
reading dierent en odings of the same ve tors, or if they an be iterated in
order tore ognize an innitenumberof distin t ve tors.
Assume that A does not ontain unne essary states, i.e., that all its states
are rea hable andthat thereisatleast one a eptingpath originatinginea h
state. We an lassify the y les inA into three groups:
Asignloop isa y lethat anonlybefollowedwhilereadingthesignheader
of anen oding, or arepetition of that sign header;
Anin atingloopisa y le that anneverbefollowedwhilereadingthesign
headerof an en oding or one of itsrepetitions;
Amixed loop is a y le that isneither a sign nor anin ating loop.
IfA has atleast one in atingormixed loop, then itstransitiongraph admits
an a epting path that follows the orresponding y le while not reading a
repetition of a sign header. By iterating this y le, one thus gets an innite
number of distin t ve tors, whi h results in S being innite. The problemof
he king if S is innite thus redu es to determining whether A has at least
one non-sign (i.e., in ating or mixed) loop 2
. Thanks to the following result,
this he k an be arriedout by inspe tingthe transitiongraph ofA without
payingattention to the transitionlabels.
Theorem 1 Assume that A is a deterministi and minimal NDD. A y le
of A is a sign loop if and only if it an only be rea hed by one path (not
ontaining any o urren e of that y le).
PROOF. Sin e A is an NDD, it an only a ept words whose length is a
2
An exampleofanon-trivialinstan eof thisproblem an beobtainedbybuilding
theminimaldeterministi NDD representingthesetf(x;y)2Z 2
jx+y0 ^ x
Assume is rea hable by only one path . Let u2 f0;r 1g n
be the sign
header that is read while following the n rst transitions of the path ,
and let s and s 0
be the states of A respe tively rea hed after reading the
words u and uu (startingfromthe initialstate).
Sin eA a eptsallthe en odingsof theve torsinS,ita epts, forevery
w2f0;1;:::;r 1g
,the word uw if and onlyif ita epts the word uuw.
Itfollowsthat the languagesa epted fromthe states sand s 0
are identi al
whi h implies,sin e A is minimal,that s =s 0
.
Therefore, an only be visited while reading the sign header u or one
ofits repetitions,and is thus asign loop.
Assume is rea hableby at least two paths
1
and
2
. Letkn, with k 2N,
bethelengthof.Sin eA onlya epts words whoselengthisamultipleof
n, there are exa tly k states s
1 ;s
2 ;:::;s
k
that are rea hable in from the
initialstate of A after following a multipleof n transitions.
If the words read by following from s
1 to s 2 , from s 2 to s 3 , ..., and froms k tos 1
are not allidenti al, then is not asign loop.
Otherwise, let u k
, with u2 f0;1;:::;r 1g n
, bethe label of . Sin e A
isdeterministi ,atleastone ofthe blo ks ofn onse utivedigitsread while
following
1 or
2
up to rea hing diers from u. Thus, an be visited
whilenot reading arepetition of asign header, and isnot asign loop. 2
Provided that A has only sign loops, it an easily be transformed into an
automaton A 0
that a epts exa tly one en oding of ea h ve tor in S by
per-forming a depth-rst sear h in its transition graph. During the sear h, one
removes for ea h dete ted y le the transitionthat gets ba k to a state that
has already been visited in the urrent explorationpath.This operationdoes
notin uen ethesetofve torsre ognizedbytheautomaton,sin etheremoved
transitions an only be followed in A while reading a repeated o urren e of
asign header.
Analgorithmthat ombinesthe lassi ationof y leswiththetransformation
ofAintoA 0
isgiveninAppendixB.Sin eea hstateofAneedstobevisitedat
moston e,thetimeandspa e ostsofthisalgorithm{ifsuitablyimplemented
{are linear inthe numberof states of A 3
.
3
In the algorithm provided in Appendix B, given an automaton
A(;Q;s (0)
;;F);the subroutine explore() is alled at most jQj times and
all tests and instru tions ex ept the re ursive all to the subroutine an be
If S is nite, then the transitiongraph of the automaton A 0
produ ed by the
algorithmgiven inthe previousse tion isa y li . Thenumberofve tors inS
orresponds to the number of a epting paths originatingin the initialstate
of A 0
.
For ea h state s of A 0
, let N(s) denote the number of paths of A 0
that start
ins and end in ana epting state. Ea h of these pathseither leavess by one
of itsoutgoingtransitions, orhas azero length(inwhi h ase s isa epting).
Thus, we have atea h state s
N(s)= X (s;d;s 0 )2 N(s 0 )+a (s);
where a (s) isequal to1 if s is a epting,and to0 otherwise.
Thankstothisrule,thevalueofN(s) aneasilybepropagatedfromthestates
that have no su essors to the initial state of A 0
, following the transitions
ba kwards. The number of additions that have to be performed is linear in
the numberof states of A 0
.
5 Example of use
The proje tion and ounting algorithms presented in Se tions 3 and 4 have
been implemented in the veri ation tool LASH [LAS℄, whose main purpose
isto omputeexa tlytheset ofrea hable ongurationsof systemswithnite
ontrol and unbounded data. In short, this tool handles nite and innite
sets of ongurations by means of nite-state representations suited for the
orresponding data domains, and relies on meta-transitions, whi h apture
the ee t of ontrolloops, for exploring innitestate spa es innite time. A
des ription of the main te hniques implemented inLASH is given in[Boi99℄.
Inthe ontextofthis paper,wefo us onsystemsbased onunbounded integer
variables,for whi h the set representation system used by LASH isthe NDD.
Our present results thus make it possible to ount pre isely the number of
rea hable system ongurations that belong to aset omputed by LASH.
Let us now des ribe an example of a state-spa e explorationexperiment
fea-turingthe ounting algorithm.We onsiderthe simplelift ontrolleroriginally
presented in [Val89℄. This system is omposed of two pro esses modeling a
10 852 930 25 100 1782 99300 65 1000 2684 9993000 101 10000 3832 999930000 153 100000 4770 99999300000 196 1000000 5666 9999993000000 242 Table 1
Numberof rea hable ongurations w.r.t.N.
of sharedintegervariables.A parameter N, whose value is either xed inthe
model or left undetermined, denes the number of oors of the building. In
the former ase, one observes that theamountof timeand of memoryneeded
by LASHinorderto omputethe set ofrea hable ongurations 4
grows only
logarithmi allyin N,despite the fa t that the number of elementsin this set
is learly atleast O(N 2
). (Indeed,the behaviorof the liftis ontrolledbytwo
main variables modeling the urrent and the target oors, whi h are able to
take anypair of values inf1;:::;Ng 2
.)Our simpleexperimenthas two goals:
Studying pre isely the evolution of the number of rea hable ongurations
with respe t toin reasing values of N, and evaluatingthe amountof
a eler-ation indu ed by meta-transitionsin the state-spa e explorationpro ess.
The results are summarized in Tables 1 and 2. The former table gives, for
several values ofN, the size (interms of automatonstates) of the nite-state
representationoftheset ofrea hable ongurations,theexa tnumberofthese
ongurations, and the total time needed to perform the exploration. These
results learlyshowanevolutioninO(N 2
),asexpe ted.Itisworthmentioning
that, thanks to the fa t that the ost of our ounting algorithm is linear in
thesize ofNDDs,itsexe utiontime(in ludingthe lassi ationofloops)was
negligiblewith respe t tothat of the exploration.
Thelattertableshows, forN =10 9
,theevolutionofthenumberof
ongura-tions rea hed afterthe su essive steps ofthe explorationalgorithm.Roughly
4
Pra ti ally,the rea hable ongurations are omputed as follows.First we
om-pute the transition fon tion for the system. This fun tion takes a set of
ongu-rations as input and generates the set of ongurations rea hable from the input
set in one-step. Then, we apply this transition fon tion re usively to the initial
onguration until we rea h a xpoint. In our example, the Presburger formula
orresponding to the transition fon tion is an union of about 100 lauses and has
14 variablesof whi h9 arequantiedexistentially.We need to apply 11 times the
1 638 3 2 1044 1000000003 3 1461 3999999999 4 2709 50000000549999 99 97 5 4596 150000000649999 99 95 6 6409 350000000449999 99 94 7 7020 649999999749999 99 99 8 7808 799999999500000 00 00 9 8655 899999999400000 00 00 10 8658 949999999350000 00 00 11 8663 999999999300000 00 00 Table 2
Numberof rea hed ongurations w.r.t. explorationsteps.
speaking, the states are explored in abreadth-rst fashion, starting fromthe
initial ongurationandfollowingtransitionsaswellasmeta-transitions,until
a xpoint is dete ted. In the present ase, the impa t of meta-transitions on
the numberof rea hed states is learly visibleatSteps 2 and 4 inthe table.
6 Con lusions and omparison with other work
Themain ontributionofthispaperistoprovideanalgorithmfor ountingthe
numberofelementsinasetrepresentedbyanNDD.Asanauxiliaryresult,we
alsopresentan improved proje tion algorithmthat makes itpossible tobuild
eÆ iently an NDD representing the set of solutions of a Presburger formula.
Our algorithmshave been implemented inthe toolLASH.
The problem of ounting the number of solutions of a Presburger equation
has already been addressed in [Pug94℄, following a formula-based approa h.
More pre isely, that solution pro eeds by de omposing the original formula
into an union of disjoint onvex sums, ea h of them being a onjun tion of
linear inequalities.Then, all variables but one are proje ted out su essively,
by splintering the sums in su h a way that the eliminated variables have one
single and one upper bound. This eventually yields a nite union of simple
general problem of determining whether a Presburger formula is satisable,
ountingusingaformula-basedmethodin ursasigni antadditional ost.On
theotherhand,theautomata-based ountingmethodhasanegligiblepra ti al
impa t on the total exe ution time on e an NDD has been onstru ted. Our
method is thus eÆ ient in all the ases for whi h an NDD an be omputed
qui kly,whi h,asithasbeenobserved in[BC96,WB00℄,happensmainlywhen
the oeÆ ientsofthevariablesarekeptsmall.Inaddition,sin eautomata an
bedeterminizedand minimizedafterea hmanipulation,NDDs areespe ially
suited for representing the results of omplex sequen es of operations
pro-du ingsimple sets, asinmost state-spa e explorationappli ations.The main
restri tion of our approa h is that it annot be generalized in a simple way
to the more omplex ounting problems, su h as summing polynomials over
Presburger-denable sets, that are addressed in[Pug94℄.
Referen es
[BC96℄ A.BoudetandH.Comon. Diophantineequations,Presburgerarithmeti
and nite automata. In Pro eedings of CAAP'96, number 1059 in
Le tureNotesinComputerS ien e,pages30{43.Springer-Verlag,1996.
[BHMV94℄V. Bruyere, G. Hansel, C. Mi haux, and R. Villemaire. Logi and
p-re ognizable sets of integers. Bulletin of the Belgian Mathemati al
So iety, 1(2):191{238, Mar h 1994.
[Boi99℄ B. Boigelot. Symboli Methods for Exploring Innite State Spa es.
Colle tion des publi ations de la Fa ulte des S ien es Appliquees de
l'Universite de Liege,Liege, Belgium,1999.
[Cob69℄ A.Cobham. Onthebase-dependen eofsetsofnumbersre ognizableby
niteautomata. Mathemati al Systems Theory,3:186{192, 1969.
[DK00℄ Z. Dangand R.A Kemmerer. Usingthe astral symboli model he ker
as a spe i ationdebugger: Three approximation te hniques. InE. M.
ClarkeandR.P.Kurshan,editors,Pro eedingsofthe22ndInternational
Conferen e on Software Engineering (ICSE 2000). IEEE Press, IEEE
Press, 2000.
[FO97℄ L. Fribourg and H. Olsen. Proving safety properties of innite state
systems by ompilation into Presburger arithmeti . In Pro eedings of
CONCUR'97, volume1243, pages213{227, Warsaw,Poland,July1997.
Springer-Verlag.
[KSW95℄ F.Kabanza,J.-M.Stevenne,and P.Wolper. Handlinginnitetemporal
data. Journal of omputerand System S ien es, 51(1):3{17, 1995.
[LAS℄ The Liege Automata-based Symboli Handler (LASH). Available at
Programming. KluwerA ademi Publishers,Massa husetts, 1996.
[Pre29℄ M. Presburger.
Uber die Volstandigkeit eines gewissen Systems der
ArithmetikganzerZahlen,inwel hemdieAdditionalseinzigeOperation
hervortritt.InComptesRendusduPremierCongresdesMathemati iens
desPays Slaves, pages 92{101, Warsaw, Poland,1929.
[Pug92℄ W. Pugh. The Omega Test: A fast and pra ti alinteger programming
algorithmfordependen eanalysis. Communi ations of the ACM,pages
102{114, August 1992.
[Pug94℄ W. Pugh. Counting solutions to Presburger formulas: How and why.
SIGPLAN, 94-6/94:121{134 , 1994.
[S h86℄ A. S hrijver. Theory of Linear and Integer Programming. John Wiley
&sons,Chi hester, 1986.
[Sem77℄ A. L. Semenov. Presburgerness of predi ates regular in two number
systems. Siberian Mathemati al Journal, 18:289{299, 1977.
[SKR98℄ T. R. Shiple, J. H. Kukula, and R. K. Ranjan. A omparison of
Presburger engines for EFSM rea hability. In Pro eedings of the 10th
Intl. Conf. on Computer-Aided Veri ation, volume 1427 of Le ture
Notesin ComputerS ien e,pages280{292,Van ouver,June/July1998.
Springer-Verlag.
[TBP99℄ R. Gerber T. Bultan and W. Pugh. Model- he king on urrent
systems with unbounded integer variables: symboli representations,
approximations, and experimental results. ACM Transa tions on
Programming Languages and Systems (TOPLAS), 21(4):747{789, July
1999.
[TF92℄ N. Tawbi and P. Feautrier. Pro essor allo ation and loop s heduling
on multipro essor omputers. In Pro eedings of the 6th international
onferen e on Super omputing, pages 63{71.ACM Press,1992.
[Val89℄ A. Valmari. State spa e generation with indu tion. In Pro eedings of
the SCAI'89,pages 99{115, Tampere, Finland,June1989.
[WB95℄ P. Wolper and B. Boigelot. An automata-theoreti approa h to
Presburger arithmeti onstraints. In Pro eedings of Stati Analysis
Symposium, volume 983 of Le ture Notes in Computer S ien e, pages
21{32, Glasgow, September1995.Springer-Verlag.
[WB00℄ P.WolperandB.Boigelot. Onthe onstru tionofautomatafromlinear
arithmeti onstraints. In Pro . 6th International Conferen e on Tools
and Algorithms for the Constru tion and Analysis of Systems, volume
1785 of Le ture Notes in Computer S ien e, pages 1{19, Berlin, Mar h
Let (;Q;s (0)
;;F) be the deterministi automaton A
1
, where is the
al-phabet f0;:::;r 1g, Q is a nite set of states, s (0)
2 Q is the initial state,
QQ is the transition relation, and F Q is a set of a epting
states. (1) Let A P = (;Q P ;s (0) P ; P ;F P ), with s (0) P = (s (0) ;0), Q P = fs (0) P g, and both of P and F P
are empty. Ea h state (s;i) of A
P
will be omposed
of a state s of A
1
and an index i ranging from 0 to n. The index n
orresponds to the end states of A
P .
(2) The array mat hes[s℄ will asso iate ea h end states of A
P
to the subset
of Q su hthat
(3) Fori=1;:::;n and forea h(s; ;s 0 )2 su h that (s;i 1)2Q P ,add (s 0 ;i) toQ P and ((s;i 1); ;(s 0 ;i)) to P .
(4) Forea h s2Q su h that (s;n)2Q
P , letmat hes[(s;n)℄=fsg. (5) Letremaining =f(s;s)j(s;n)2Q P g. (6) Forea h (s;s 0 )2remaining:
If there do not exist s 00 2 Qnmat hes[(s;n)℄ and u 2 n su h that (s (0) P ;u;(s;n)) 2 P and (s 0 ;u;s 00 ) 2 , then remove (s;s 0 ) from re-maining. If there exists s 00
2 Qn mat hes[(s;n)℄ su h that for every u 2 n for whi h (s (0) P ;u;(s;n)) 2 P , (s 0 ;u;s 00 ) 2 , then add s 00 to the
set mat hes[(s;n)℄, add (s;s 00
) to remaining, and remove (s;s 0 ) from remaining. Otherwise,ndu;u 0 2 n su hthat(s (0) P ;u;(s;n))2 P ,(s (0) P ;u 0 ;(s;n)) 2 P and either there exist s 00 ;s 000 2 Q, s 00 6= s 000 , su h that (s 0 ;u;s 00 ) 2 and (s 0 ;u 0 ;s 000 )2 ,or there exists s 00 2 Q su h that (s 0 ;u;s 00 ) 2 but nos 000 2 Q su h that (s 0 ;u 0 ;s 000 )2 , then rene A P
with respe t to the state s 0
and the headers u and u 0
(this operationwillbedes ribed separately).
(7) Let A 2 = (;Q 2 ;s (0) 2 ; 2 ;F 2 ), with Q 2 = Q[ Q P , s (0) 2 = s (0) P , 2 = [ P [f((s;n);";s 0 )js 0 2mat hes[(s;n)℄g, and F 2 =F.
It is worth mentioning that the test performed at Line 6 an be arried out
eÆ iently by a sear h in the transitiongraph of the automata. Detailsof an
eÆ ient implementationare availablein [LAS ℄.
A entral step of the algorithm onsists of rening the prex automaton A
P
in order to asso iate dierent end states to two sign headers u and u 0
fromthe state s of A
1
. This operation isperformedas follows:
(1) Letk 2 f1;:::;ng be the smallest integer su h that the paths reading u
andu 0
fromthestates (0)
P ofA
P
rea hthesamestateafterhavingfollowed
ktransitions,andthepathsreadinguandu 0
fromthe states 0
ofA
1 rea h
two distin t states afterthe same numberk of transitions.
(2) Let((s 1 ;k 1);d;(s 2 ;k))and((s 0 1 ;k 1);d 0 ;(s 2 ;k))bethek-thtransitions
of the paths reading (respe tively) u and u 0 inA P . (3) For ea h q 2 Q P su h that ((s 2 ;k);w;q) 2 P for some w 2 , add a new state q 0 toQ P
and set split[q℄=q 0 . (4) For ea h transition (q;d;q 0 ) 2 P
su h that split[q℄ is dened, add the
transition(split[q℄;d;split[q 0
℄)to
P .
(5) Repla ethetransition((s 0 1 ;k 1);d 0 ;(s 2 ;k))by((s 0 1 ;k 1);d 0 ;split[(s 2 ;k)℄) in P . (6) Forea hq2Q P
su hthatsplit[q℄exists,letmat hes[split[q℄℄=mat hes[q℄.
(7) Forea h(s;s 0
)2remaining su hthatsplit[(s;n)℄ isdened, addthepair
(split[(s;n)℄; s 0
)to remaining.
B Cy le lassi ation and removal algorithm
(1) Let A =(;Q;s (0)
;;F), let visited = ;, and for ea h state s 2 Q, let
leads-to- y le[s℄=F;
(2) Ifexplore(s (0)
;0)=F,thenthesetrepresentedbyAisinnite.Otherwise,
the automaton A 0 is given by (;Q;s (0) ;;F). Subroutineexplore(s;k):
(1) Letvisited =visited [fsg, and lethistory[k℄=s;
(2) Forea h (s 0 ;d;s 00 )2su h that s 0 =s: Ifs 00 62visited, then (a) Ifexplore(s 00 ;k+1)=F then returnF; (b) Ifleads-to- y le[s 00
℄then letleads-to- y le[s℄=T;
Ifs 00
2visited and (9i<k)(history[i℄=s 00
),then
(a) Ifleads-to- y le[s℄ then return F;
(b) Letleads-to- y le[s℄=T,and remove(s 0 ;d;s 00 )from ; Ifs 00
2visited and (8i<k)(history[i℄6=s 00 ),then (a) Ifleads-to- y le[s 00 ℄then returnF; (3) Return T.