Research Article Bounded Model Checking of ETL Cooperating with

advertisement
Hindawi Publishing Corporation
Journal of Applied Mathematics
Volume 2013, Article ID 462532, 12 pages
http://dx.doi.org/10.1155/2013/462532
Research Article
Bounded Model Checking of ETL Cooperating with
Finite and Looping Automata Connectives
Rui Wang, Wanwei Liu, Tun Li, Xiaoguang Mao, and Ji Wang
College of Computer Science, National University of Defense Technology, Changsha, Hunan 410073, China
Correspondence should be addressed to Wanwei Liu; wwliu@nudt.edu.cn
Received 8 March 2013; Accepted 14 June 2013
Academic Editor: Xiaoyu Song
Copyright © 2013 Rui Wang et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
As a complementary technique of the BDD-based approach, bounded model checking (BMC) has been successfully applied to LTL
symbolic model checking. However, the expressiveness of LTL is rather limited, and some important properties cannot be captured
by such logic. In this paper, we present a semantic BMC encoding approach to deal with the mixture of ETL𝑓 and ETL𝑙 . Since such
kind of temporal logic involves both finite and looping automata as connectives, all regular properties can be succinctly specified
with it. The presented algorithm is integrated into the model checker ENuSMV, and the approach is evaluated via conducting a
series of imperial experiments.
1. Introduction
A crucial bottleneck of model checking is the state-explosion
problem, and the symbolic model checking technique has
proven to be an applicable approach to alleviate it. In the
early 1990s, McMillan presented the BDD [1] based model
checking technique [2]. It is first applied to CTL model checking and is later adapted to deal with LTL. With the rapid
evolvement of SAT solvers, an entirely new approach, namely,
bounded model checking (BMC), is presented in [3]. It rerpresents the problem “there is a path (with bounded length) violating the specification in the model” with a Boolean formula
and then tests its satisfiability via a SAT solver. Usually, BMC
is considered to be a complementary approach of the BDDbased approach: BMC is normally used for hunting bugs not
for proving their absence. It performs better when handling
a model having a large reachable state set but involving
(relatively) shallow error runnings.
BMC has been successfully employed in LTL model
checking. However, LTL has the drawback of limited expressiveness. Wolper was the first to complain about this by
addressing the fact that some counting properties such as “𝑝
holds at every even moment” cannot be expressed by any
LTL formula [4]. Indeed, LTL formulae are just as expressive
as star-free πœ”-expressions, that is, πœ”-regular expressions disallowing arbitrary (in a star-free expression, Kleene-closure
operators (βˆ™∗ and βˆ™πœ” ) can only be applied upon Σ, which is
the whole set of alphabet) use of Kleene-closure operators.
As pointed in [5, 6], it is of great importance for a specification language to have the power to express all πœ”-regular
properties—as an example, it is a necessary requirement to
support modular model checking. Actually, such specification language like PSL [7] has been accepted as industrial
standard.
For temporal logics within linear framework, there are
several ways to pursue such an expressiveness.
(1) The first way is to add fixed-point operators or propositional quantifiers to the logic, such as linear πœ‡calculus [8] and QLTL [9].
(2) An alternative choice is to add regular expressions to
LTL-like logics, as done in RLTL [10], FTL [11, 12], and
PSL [7].
(3) The third approach is to cooperate infinitely many
temporal connectives with the logic, just like various
of ETLs [4, 9, 13].
The first extension requires finitely many operators in
defining formulae. Meanwhile, the use of fixed-point operators and higher-order quantifiers tends to rise difficulties in
understanding. In contrast, using regular expressions or
automata as syntactical ingredients is much more intuitive in
2
Journal of Applied Mathematics
comprehension. To some extent, since nesting of automata
connectives is allowed, the third approach generalizes the
second one.
In [4], Wolper suggested using right linear grammars as
connectives. Later, Wolper, Vardi, and Sistla consider taking various πœ”-automata [9, 13]. Depending on the type of
automata used as temporal connectives, we may obtain various ETLs. As a result, ETLs employing πœ”-automata with looping, finite, and repeating (alternatively, Büchi [14]) acceptance
are, respectively, named ETL𝑙 , ETL𝑓 , and ETLπ‘Ÿ , and all of
them are known to be as expressive as πœ”-regular expressions
[13].
We have presented a BDD-based model checking algorithm for ETL𝑓 in [15] and an algorithm for BDD-based
model checking of an invariant of PSL in [16]. Jehle et al.
present a bounded model checking algorithm for linear πœ‡calculus in [17]. And in [18], a tester based symbolic model
checking approach is proposed by Pnueli and Zacks to deal
with PSL properties. Meanwhile, a modular symbolic Büchi
automata construction is presented in [19] by Cimatti et al.
In this paper, we present a semantic BMC encoding for
ETL employing both finite acceptance and looping acceptance automata connectives (we in the following refer to it as
ETL𝑙+𝑓 ). The reason that we study BMC algorithm for such
kind of logic is for the following considerations.
(1) The BDD-based symbolic model checking technique
for ETL𝑓 has been established in [15] by extending
LTL construction [20]. Nevertheless, in a pure theoretical perspective, looping and finite acceptance,
respectively, correspond to safety and liveness properties, and looping acceptance automata can be viewed
as the counterparts of finite acceptance automata.
Actually, both similarities and differences could be
found in compiling the semantic models and translating Boolean representations when dealing with these
two types of connectives. Since ETL𝑙+𝑓 has a rich set
of fragments, such as LTL, it is hopeful to develop a
unified semantic BMC framework of such logics.
(2) Practically, things would usually be much more succinct when employing both types of automata connectives, in comparison to merely using finite or looping ones. As an example, there is no direct encoding
for the temporal operator G just with finite acceptance
automata—to do this with ETL𝑓 , we need to use a
two-state and two-letter connective to represent the
operator F and then to dualize it. In contrast, with
looping automata, we just need to define a one-state
and one-letter connective. It would save much space
overhead in building tableaux.
(3) Lastly, unlike syntactic BMC encodings (such kind
of encodings give inductive Boolean translations with
the formulae’s structure, cf. [21, 22] for a survey), the
semantic fashion [22] yields a natural completeness
threshold computation approach, and it describes the
fair path finding problem over the product model
with Boolean formulae. In this paper, we give a linear
semantic encoding approach (opposing to the original quadratic semantic encoding) for ETL𝑙+𝑓 . Moreover, the technique can also be tailored to semantic
LTL BMC.
We have implemented the presented algorithm with our
model checker ENuSMV (Ver. 1.2), and this tool allows end
users to customize temporal connectives by defining automata. We have also justified the algorithm by conducting a series
of comparative experiments.
The paper is structured as follows: Section 2 briefly revisits basic notions. Section 3 introduces semantic BMC encoding technique for ETL𝑙+𝑓 . In Section 4, experimental results of
ETL𝑙+𝑓 BMC are given. Finally, we conclude the whole paper
with Section 5.
2. Preliminaries
An infinite word 𝑀 over the alphabet Σ is a mapping from
N to Σ; hence we may use 𝑀(𝑖) to denote the 𝑖th letter of 𝑀.
For the sake of simplicity, we usually write 𝑀 as the sequence
𝑀(0)𝑀(1) ⋅ ⋅ ⋅ . A finite prefix of 𝑀 with length 𝑛 is a restriction
of 𝑀 to the domain {0, . . . , 𝑛 − 1}, denoted by 𝑀[𝑛].
A (nondeterministic) automaton is a tuple A = ⟨Σ, 𝑄, 𝛿,
π‘ž, 𝐹⟩, where:
(i) Σ is a finite alphabet,
(ii) 𝑄 is a finite set of states,
(iii) 𝛿 : 𝑄 × Σ → 2𝑄 is a transition function,
(iv) π‘ž ∈ 𝑄 is an initial state, and
(v) 𝐹 ⊆ 𝑄 is a set of accepting states.
An infinite run of A = ⟨Σ, 𝑄, 𝛿, π‘ž, 𝐹⟩ over an infinite word
𝑀 is an infinite sequence 𝜎 = π‘ž0 π‘ž1 ⋅ ⋅ ⋅ ∈ π‘„πœ” , where π‘ž0 = π‘ž
and π‘žπ‘–+1 ∈ 𝛿(π‘žπ‘– , 𝑀(𝑖)) for each 𝑖. In addition, we say that each
prefix π‘ž0 ⋅ ⋅ ⋅ π‘žπ‘›+1 is a finite run over 𝑀[𝑛].
In this paper, we are concerned with two acceptance types
for πœ”-automata.
Looping. An infinite word 𝑀 is accepted if it has an
infinite run over 𝑀.
Finite. An infinite word 𝑀 is accepted if it has a
finite prefix 𝑀[𝑛], over which there is a finite run
π‘ž0 ⋅ ⋅ ⋅ π‘žπ‘›+1 and π‘žπ‘›+1 is an accepting state (call such a
prefix accepting prefix).
In both cases, we denote by L(A) the set of infinite words
accepted by A.
Given an automaton A = ⟨Σ, 𝑄, 𝛿, π‘ž, 𝐹⟩ and a state π‘Ÿ ∈ 𝑄,
we denote by Aπ‘Ÿ the automaton ⟨Σ, 𝑄, 𝛿, π‘Ÿ, 𝐹⟩. That is, Aπ‘Ÿ is
almost identical to A, except for that its initial state is replaced
by π‘Ÿ. Hence, A and Aπ‘ž are the same.
Given a set of atomic propositions 𝐴𝑃, the class of ETL𝑙+𝑓
formulae can be inductively defined as follows.
(i) Both ⊀ and ⊥ are ETL𝑙+𝑓 formulae.
(ii) Each proposition 𝑝 ∈ 𝐴𝑃 is an ETL𝑙+𝑓 formula.
(iii) If πœ‘ is an ETL𝑙+𝑓 formula, then ¬πœ‘ and Iπœ‘ are ETL𝑙+𝑓
formulae.
Journal of Applied Mathematics
(iv) If πœ‘1 , πœ‘2 are ETL𝑙+𝑓 formulae, then both πœ‘1 ∧ πœ‘2 and
πœ‘1 ∨ πœ‘2 are ETL𝑙+𝑓 formulae.
(v) If A is an automaton with the alphabet Σ = {π‘Ž1 ,
. . . , π‘Žπ‘› } and πœ‘1 , . . . , πœ‘π‘› are ETL𝑙+𝑓 formulae, then
A(πœ‘1 , . . . , πœ‘π‘› ) is also an ETL𝑙+𝑓 formula.
Remark 1. In the original definition of various ETLs (say
ETL𝑙 , ETL𝑓 , and ETLπ‘Ÿ ), the “next operator” (I) is not explicitly declared. However, this operator is extremely important
in building the semantic BMC encodings for ETL𝑙+𝑓 . Hence,
we explicitly use this operator in our definition, and it would
not change the expressiveness of the logic.
Remark 2. Since we employ both finite and looping acceptance automata connectives, our logic is a mixture of ETL𝑙
and ETL𝑓 . On the one hand, ETL𝑙+𝑓 generalizes both of
these two logics; on the other hand, it can be embedded into
ETLπ‘Ÿ ; hence this logic is also as expressive as omega-regular
expressions.
The satisfaction relation of an ETL𝑙+𝑓 formula πœ‘ with
respect to an infinite word πœ‹ ∈ (2𝐴𝑃 )πœ” and a position 𝑖 ∈ N is
inductively given as follows.
(i) πœ‹, 𝑖 ⊨ ⊀ and πœ‹, 𝑖 ⊭⊥.
(ii) πœ‹, 𝑖 ⊨ 𝑝 if and only if 𝑝 ∈ πœ‹(𝑖).
(iii) πœ‹, 𝑖 ⊨ ¬πœ‘ if and only if πœ‹, 𝑖 ⊭ πœ‘.
(iv) πœ‹, 𝑖 ⊨ Iπœ‘ if and only if πœ‹, 𝑖 + 1 ⊨ πœ‘.
(v) πœ‹, 𝑖 ⊨ πœ‘1 ∧ πœ‘2 if and only if πœ‹, 𝑖 ⊨ πœ‘1 and πœ‹, 𝑖 ⊨ πœ‘2 .
(vi) πœ‹, 𝑖 ⊨ πœ‘1 ∨ πœ‘2 if and only if πœ‹, 𝑖 ⊨ πœ‘1 or πœ‹, 𝑖 ⊨ πœ‘2 .
(vii) If A is a looping acceptance automaton with the
alphabet {π‘Ž1 , . . . , π‘Žπ‘› }, then πœ‹, 𝑖 ⊨ A(πœ‘1 , . . . , πœ‘π‘› ) if and
only if: there is an infinite word 𝑀 ∈ L(A), and, for
each 𝑗 ∈ N, 𝑀(𝑗) = π‘Žπ‘˜ implies πœ‹, 𝑖 + 𝑗 ⊨ πœ‘π‘˜ .
(viii) If A is a finite acceptance automaton with the alphabet {π‘Ž1 , . . . , π‘Žπ‘› }, then πœ‹, 𝑖 ⊨ A(πœ‘1 , . . . , πœ‘π‘› ) if and only
if: there is an infinite word 𝑀 ∈ L(A) with an
accepting prefix 𝑀[𝑛], such that, for each 𝑗 < 𝑛, 𝑀(𝑗) =
π‘Žπ‘˜ implies πœ‹, 𝑖 + 𝑗 ⊨ πœ‘π‘˜ .
As usual, we directly use πœ‹ ⊨ πœ‘ in place of πœ‹, 0 ⊨ πœ‘.
To make a better understanding of ETL𝑙+𝑓 formulas, we
here give some examples of the use of automata connectives.
(1) Considering the LTL formula πœ‘1 Uπœ‘2 , it can be
described with an ETL𝑙+𝑓 formula AU (πœ‘1 , πœ‘2 ),
where AU is the finite acceptance automaton ⟨{π‘Ž1 ,
π‘Ž2 }, {π‘ž1 , π‘ž2 }, 𝛿U , π‘ž1 , {π‘ž2 }⟩, and we let 𝛿U (π‘ž1 , π‘Ž1 ) = {π‘ž1 },
𝛿U (π‘ž1 , π‘Ž2 ) = {π‘ž2 }, and 𝛿U (π‘ž2 , π‘Ž1 ) = 𝛿U (π‘ž2 , π‘Ž2 ) = 0.
(2) The LTL formula Gπœ‘ is equivalent to the ETL𝑙+𝑓
formula AG (πœ‘), where AG = ⟨{π‘Ž}, {π‘ž}, 𝛿G , π‘ž, 0⟩ is a
looping acceptance automaton and 𝛿G (π‘ž, π‘Ž) = {π‘ž}.
Remark 3. The order of letters is important in defining
automata connectives. Hence, the alphabet should be considered as a vector, rather than a set.
3
We use sub(πœ‘) to denote the set of subformulae of πœ‘. A formula πœ‘ is in negation normal form (NNF) if all negations in πœ‘
are adjacent to atomic propositions or automata connectives.
One can achieve this by repeatedly using De Morgan’s law and
the schemas of ¬Iπœ‘ ≡ I¬πœ‘ and ¬¬πœ‘ ≡ πœ‘. In addition, we call
a formula πœ‘ being of the form A(πœ‘1 , . . . , πœ‘π‘› ) an automaton
formula.
Given a formula πœ‘ (in NNF), we use a two-letter-acronym
to designate the type of an automaton subformula of πœ‘: the
first letter is either “P” or “N,” which means “positive” or
“negative”; and the second letter can be “F” or “L,” which
describes the acceptance type. For example, NL-subformulae
stand for “negative automata formulae with looping automata
connectives,” such as ¬Aπ‘ž (πœ‘1 , πœ‘2 ), where A is a two-letter
looping automaton.
A model or interchangeably a labeled transition system
(LTS) is a tuple M = βŸ¨π‘†, 𝜌, 𝐼, 𝐿, F⟩, where:
(i) 𝑆 is a finite set of states,
(ii) 𝜌 ⊆ 𝑆 × π‘† is a transition relation (usually, we require 𝜌
to be total; that is, for each 𝑠 ∈ 𝑆, there is some 𝑠󸀠 ∈ 𝑆
having (𝑠, 𝑠󸀠 ) ∈ 𝜌),
(iii) 𝐼 ⊆ 𝑆 is the set of initial states,
(iv) 𝐿 : 𝑆 → 2𝐴𝑃 is the labeling function, and
(v) F ⊆ 2𝑆 is a set of fairness constraints.
A path of M is an infinite sequence 𝜎 = 𝑠0 𝑠1 ⋅ ⋅ ⋅ ∈ π‘†πœ” ,
where 𝑠0 ∈ 𝐼 and (𝑠𝑖 , 𝑠𝑖+1 ) ∈ 𝜌 for each 𝑖 ∈ N. In addition, 𝜎
is a fair path if 𝜎 visits each 𝐹 ∈ F infinitely often. Formally,
𝜎 is a fair path if inf(𝜎) ∩ 𝐹 =ΜΈ 0 for each 𝐹 ∈ F, where inf(𝜎)
denotes the set of states occurring infinitely many times in 𝜎.
An infinite word πœ‹ = π‘Ž0 π‘Ž1 ⋅ ⋅ ⋅ is derived from a path 𝜎 of
M (denoted by πœ‹ = 𝐿(𝜎)) if π‘Žπ‘– = 𝐿(𝑠𝑖 ) for each 𝑖 ∈ N. We use
L(M) to denote the set of infinite words derived from fair
paths of M.
Given an ETL𝑙+𝑓 formula πœ‘ and an LTS M, we denote by
M ⊨ πœ‘ if πœ‹ ⊨ πœ‘ for each πœ‹ ∈ L(M). The model checking
problem of ETL𝑙+𝑓 is just to verify if M ⊨ πœ‘ holds for the
given LTS M and the given ETL𝑙+𝑓 formula πœ‘.
3. Semantic BMC Encoding for ETL𝑙+𝑓
In this section, we will give a detailed description of the
semantic BMC encoding for ETL𝑙+𝑓 . Firstly, we show how
to extend the tableau construction of LTL [20] to that of
ETL𝑙+𝑓 , and hence a product model can also be constructed.
Subsequently, we interpret the fairness path finding problem
(upon the product model) into SAT, and the size blow-up of
this encoding is linear with the bound.
For the sake of convenience, in this section, we always
assume that the given ETL𝑙+𝑓 formulae have been normalized
into NNF.
3.1. The Tableaux of ETL𝑙+𝑓 Formulae. Given an ETL𝑙+𝑓 formula πœ‘, we first inductively define its elementary formula set
el(πœ‘) as follows.
(i) el(⊀) = el(⊥) = 0.
(ii) el(𝑝) = el(¬π‘) = {𝑝} for each 𝑝 ∈ 𝐴𝑃.
4
Journal of Applied Mathematics
(iii) el(πœ‘1 ∧ πœ‘2 ) = el(πœ‘1 ∨ πœ‘2 ) = el(πœ‘1 ) ∪ el(πœ‘2 ).
(iv) el(Iπœ‘) = el(πœ‘) ∪ {Iπœ‘}.
(v) If πœ‘ = Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› ) or πœ‘ = ¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› ) and the
states set of A is 𝑄, then
σΈ€ 
el (πœ‘) = ⋃ el (πœ‘π‘˜ ) ∪ {IAπ‘ž (πœ‘1 , . . . , πœ‘π‘› ) | π‘žσΈ€  ∈ 𝑄} .
1≤π‘˜≤𝑛
(1)
Hence, if πœ“ ∈ el(πœ‘), then πœ“ is either an atomic proposition
or a formula rooted at the next operator.
Subsequently, we define the function sat, which maps
each subformula πœ“ of πœ‘ to a set of members in 2el(πœ‘) . Inductively the following hold.
(i) sat(⊀) = 2el(πœ‘) ; sat(⊥) = 0.
(ii) sat(𝑝) = {Γ ⊆ el(πœ‘) | 𝑝 ∈ Γ} and sat(¬π‘) = {Γ ⊆
el(πœ‘) | 𝑝 ∉ Γ}.
(iii) sat(Iπœ“) = {Γ ⊆ el(πœ‘) | Iπœ“ ∈ Γ}.
(iv) sat(πœ‘1 ∧ πœ‘2 ) = sat(πœ‘1 ) ∩ sat(πœ‘2 ) and sat(πœ‘1 ∨ πœ‘2 ) =
sat(πœ‘1 ) ∪ sat(πœ‘2 ).
(v) Suppose that A = ⟨{π‘Ž1 , . . . , π‘Žπ‘› }, 𝑄, 𝛿, π‘ž, 𝐹⟩.
(1) If A is a looping acceptance automaton or a
finite acceptance automaton and π‘ž ∉ 𝐹, then
1≤π‘˜≤𝑛
(i) When 𝑃 =ΜΈ 0, then, for each π‘ž ∈ 𝑃 and 1 ≤ π‘˜ ≤ 𝑛, we
have: Γ ∈ sat(πœ‘π‘˜ ) implies 𝛿(π‘ž, π‘Žπ‘˜ ) ⊆ 𝑃󸀠 .
(ii) When 𝑃 = 0, then π‘ž ∈ 𝑃󸀠 if and only if ΓσΈ€  ∉
sat(Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› )), for each π‘ž ∈ 𝑄.
We now describe the tableau construction for πœ‘. Suppose
that πœ“1 , . . . , πœ“π‘š and ¬πœ‚1 , . . . , ¬πœ‚𝑛 are, respectively, all the PFsubformulae and NL-subformulae occurring in πœ‘ then the
tableau Tπœ‘ is such an LTS βŸ¨π‘†πœ‘ , πœŒπœ‘ , πΌπœ‘ , 𝐿 πœ‘ , Fπœ‘ ⟩, where:
(i) π‘†πœ‘ consists of tuples like ⟨Γ; 𝑃1 , . . . , π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩,
where Γ ⊆ el(πœ‘) and each 𝑃𝑖 (resp., 𝑅𝑖 ) is a subset of
πœ“π‘– ’s (resp., πœ‚π‘– ’s) connective’s state set.
(ii) For two states 𝑠 = ⟨Γ; 𝑃1 , . . . , π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩ and 𝑠󸀠 =
⟨ΓσΈ€  ; 𝑃1σΈ€  , . . . , π‘ƒπ‘šσΈ€  ; 𝑅1σΈ€  , . . . , 𝑅𝑛󸀠 ⟩, (𝑠, 𝑠󸀠 ) ∈ πœŒπœ‘ if and only if
the following three conditions hold.
(1) Γ ∈ sat(Iπœ“) if and only if ΓσΈ€  ∈ sat(πœ“) for each
Iπœ“ ∈ el(πœ‘).
(2) ((Γ, 𝑃𝑖 ), (ΓσΈ€  , 𝑃𝑖󸀠 )) ∈ Δ+πœ“π‘– for each 1 ≤ 𝑖 ≤ π‘š.
(3) ((Γ, 𝑅𝑗 ), (ΓσΈ€  , 𝑅𝑗󸀠 )) ∈ Δ−¬πœ‚𝑗 for each 1 ≤ 𝑗 ≤ 𝑛.
(iii) πΌπœ‘ = {⟨Γ; 𝑃1 , . . . , π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩ ∈ π‘†πœ‘ | Γ ∈ sat(πœ‘)}.
(iv) 𝐿 πœ‘ (⟨Γ; 𝑃1 , . . . , π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩) = Γ ∩ 𝐴𝑃.
sat (Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› ))
= ⋃ (sat (πœ‘π‘˜ ) ∩
Likewise, for each NL-subformula πœ“ = ¬A(πœ‘1 , . . . , πœ‘π‘› )
of πœ‘, we also define a relation Δ−πœ“ ⊆ (2el(πœ‘) × 2𝑄) × (2el(πœ‘) ×
2𝑄). In detail, for any Γ, ΓσΈ€  ⊆ el(πœ‘) and 𝑃, 𝑃󸀠 ⊆ 𝑄, we have
((Γ, 𝑃), (ΓσΈ€  , 𝑃󸀠 )) ∈ Δ−πœ“ if and only if the following hold.
σΈ€ 
⋃ sat (IAπ‘ž (πœ‘1 , . . . , πœ‘π‘› ))) .
π‘žσΈ€  ∈𝛿(π‘ž,π‘Žπ‘˜ )
(2)
(2) If A is a finite acceptance automaton and π‘ž ∈ 𝐹,
then sat(Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› )) = 2el(πœ‘) .
(vi) sat(¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› )) = 2el(πœ‘) \ sat(Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› )).
Recall the tableau construction for LTL [20], an “until
subformula” would generate a fairness constraint to the
tableau. Indeed, such a subformula corresponds to a “leastfixpoint subformula” if we translate the specification into a
logic employing higher-order quantifiers, such as πœ‡-calculus.
Similarly, for ETL𝑙+𝑓 , the PF- and NL-subformulae also
impose fairness constraints. For this reason, we need to define
the following two auxiliary relations before giving the tableau
construction.
For a PF-subformula πœ“ = A(πœ‘1 , . . . , πœ‘π‘› ) of πœ‘, where
A = ⟨{π‘Ž1 , . . . , π‘Žπ‘› }, 𝑄, 𝛿, π‘ž, 𝐹⟩, we define a relation Δ+πœ“ ⊆
(2el(πœ‘) ×2𝑄)×(2el(πœ‘) ×2𝑄) as follows: suppose that Γ, ΓσΈ€  ⊆ el(πœ‘)
and 𝑃, 𝑃󸀠 ⊆ 𝑄; then ((Γ, 𝑃), (ΓσΈ€  , 𝑃󸀠 )) ∈ Δ+πœ“ if and only if the
following hold.
(i) When 𝑃 =ΜΈ 0, then, for each π‘ž ∈ 𝑃\𝐹, there exists some
1 ≤ π‘˜ ≤ 𝑛 such that Γ ∈ sat(πœ‘π‘˜ ) and 𝑃󸀠 ∩ 𝛿(π‘ž, π‘Žπ‘˜ ) =ΜΈ 0.
(ii) When 𝑃 = 0, then π‘ž ∈ 𝑃󸀠 if and only if ΓσΈ€  ∈ sat(Aπ‘ž (πœ‘1 ,
. . . , πœ‘π‘› )) for each π‘ž ∈ 𝑄.
(v) Fπœ‘ = {𝐹𝑖+ | 1 ≤ 𝑖 ≤ π‘š} ∪ {𝐹𝑗− | 1 ≤ 𝑗 ≤ 𝑛}, where
𝐹𝑖+ = {⟨Γ; 𝑃1 , . . . , π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩ ∈ π‘†πœ‘ | 𝑃𝑖 = 0} ,
𝐹𝑗− = {⟨Γ; 𝑃1 , . . . , π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩ ∈ π‘†πœ‘ | 𝑅𝑗 = 0} .
(3)
The below two theorems (Theorems 4 and 5) reveal the
language property of ETL𝑙+𝑓 tableaux. To remove the lengthiness, we here just provide the proof sketches, and rigorous
proofs of them are postponed to the appendices.
Theorem 4. For each πœ‹ ∈ (2𝐴𝑃 )πœ” , if πœ‹ ∈ L(Tπœ‘ ), then πœ‹ ⊨ πœ‘.
Proof (sketch). Just assume that 𝜎 = 𝑠0 𝑠1 ⋅ ⋅ ⋅ ∈ π‘†πœ‘πœ” is the corresponding fair path of Tπœ‘ such that πœ‹ = 𝐿 πœ‘ (𝜎), where 𝑠𝑖 =
⟨Γ𝑖 ; 𝑃1,𝑖 , . . . , π‘ƒπ‘š,𝑖 ; 𝑅1,𝑖 , . . . , 𝑅𝑛,𝑖 ⟩. We may inductively prove the
following claim.
“For each πœ“ ∈ sub(πœ‘) ∪ 𝑒𝑙(πœ‘), we have: Γ𝑖 ∈ sat(πœ“) implies
πœ‹, 𝑖 ⊨ πœ“.”
Because we require that Γ0 ∈ sat(πœ‘), hence we have πœ‹, 0 ⊨
πœ‘.
Theorem 5. For each πœ‹ ∈ (2𝐴𝑃 )πœ” , if πœ‹ ⊨ πœ‘, then πœ‹ ∈ L(Tπœ‘ ).
Proof (sketch). Suppose that πœ‹ ⊨ πœ‘; to show πœ‹ ∈ L(Tπœ‘ ),
we need to first construct an infinite state sequence 𝜎 =
𝑠0 𝑠1 ⋅ ⋅ ⋅ ∈ π‘†πœ‘πœ” guided by πœ‹ (the detailed construction is given
in Section A.2), and then we will subsequently show that 𝜎 is
a fair path of Tπœ‘ and πœ‹ = 𝐿 πœ‘ (𝜎).
Journal of Applied Mathematics
5
The following theorem is immediate from Theorems 4
and 5.
Theorem 6. The model M violates the ETL𝑙+𝑓 property πœ‘ if
and only if L(M) ∩ L(T¬πœ‘ ) =ΜΈ 0, equivalently; there exists
some fair path in M × T¬πœ‘ .
Theorem 7. For an ETL𝑙+𝑓 formula πœ‘, its tableau Tπœ‘ has at
most 4|el(πœ‘)| states.
Proof. Observe that a state should be of the form ⟨Γ; 𝑃1 , . . . ,
π‘ƒπ‘š ; 𝑅1 , . . . , 𝑅𝑛 ⟩. For Γ, there are 2|el(πœ‘)| possible choices. Suppose that πœ“π‘— = A𝑗 (πœ‘1 , . . . , πœ‘π‘˜ ) (resp., ¬πœ‚𝑖 = ¬A𝑖 (πœ‘1σΈ€  , . . . , πœ‘π‘ŸσΈ€  ))
and the state set of A𝑗 is 𝑄𝑗 (resp., A𝑖 with 𝑄𝑖󸀠 ). According
to the construction, each π‘ž ∈ 𝑄𝑗 (resp., π‘ž ∈ 𝑄𝑖󸀠 ) corπ‘ž
responds to a unique elementary formula IA𝑗 (πœ‘1 , . . . , πœ‘π‘˜ )
π‘ž
(resp., IA𝑖 (πœ‘1σΈ€  , . . . , πœ‘π‘ŸσΈ€  )), and such a mapping is an injection.
Hence we have
󡄨 󡄨
󡄨 󡄨
󡄨
󡄨
( ∑ 󡄨󡄨󡄨󡄨𝑄𝑗 󡄨󡄨󡄨󡄨 + ∑ 󡄨󡄨󡄨󡄨𝑄𝑖󸀠 󡄨󡄨󡄨󡄨) ≤ 󡄨󡄨󡄨el (πœ‘) \ 𝐴𝑃󡄨󡄨󡄨 .
1≤𝑗≤π‘š
(4)
1≤𝑖≤𝑛
Note that 𝑃𝑗 ⊆ 𝑄𝑗 (resp., 𝑅𝑖 ⊆ 𝑄𝑖󸀠 ), and hence we have |π‘†πœ‘ | ≤
(2|el(πœ‘)| )2 = 4|el(πœ‘|) .
3.2. The Linear Semantic Encoding. Practically, a model’s state
space is determined by the evaluation of a set of variables.
Further, we may assume that each of them is a “Boolean
variable” (which corresponds to a proposition belonging to
𝐴𝑃), because every variable over finite domain could be
encoded with several Boolean variables.
Let C = βŸ¨π‘†, 𝜌, 𝐼, 𝐿, F⟩ be an arbitrary LTS, and we
also assume that the corresponding variable set is 𝑉 = {𝑝1 ,
. . . , 𝑝𝑛 }; then each state 𝑠 ∈ 𝑆 uniquely corresponds to an
assignment of such 𝑝𝑖 s.
If we use 𝑠(𝑝𝑖 ) to denote the value of 𝑝𝑖 at 𝑠, then each
subset 𝑍 ⊆ 𝑆 can be represented by a Boolean formula Φ𝑍
over 𝑉. In detail, it fulfills
𝑠 ∈ 𝑆 ⇐⇒ 𝑠 ⊩ Φ𝑍 ,
(5)
where 𝑠 ⊩ Φ𝑍 means that Φ𝑍 is evaluated to be true if we
assign each 𝑝𝑖 with the value 𝑠(𝑝𝑖 ).
Let 𝑉󸀠 = {𝑝1σΈ€  , . . . , 𝑝𝑛󸀠 }, and each binary relation πœ† ⊆ 𝑆 ×
𝑆 also has a Boolean representation Φπœ† over the variable set
𝑉 ∪ 𝑉󸀠 . That is,
(𝑠1 , 𝑠2 ) ∈ πœ† ⇐⇒ (𝑠1 , 𝑠2 ) ⊩ Φπœ† ,
For example, from Theorem 7, we have that the symbolic
representation of Tπœ‘ requires 2 × |el(πœ‘) \ 𝐴𝑃| new Boolean
variables—because variables in el(πœ‘) ∩ 𝐴𝑃 can be shared with
the encoding of the original model.
A canonical Boolean encoding of fair path existence
detection upon LTSs is presented in [22]: given a model C =
βŸ¨π‘†, 𝜌, 𝐼, 𝐿, F⟩ and a bound π‘˜ ∈ N, one may use the formula
(𝑗)
(𝑖,𝑖+1)
∧ ⋁ (Φ(π‘˜,β„“)
∧ β‹€ ⋁ Φ𝐹 ) ,
Φ(0)
𝜌
𝐼 ∧ β‹€ Φ𝜌
0≤𝑖<π‘˜
𝐹∈F β„“≤𝑗≤π‘˜
0≤β„“≤π‘˜
(7)
(𝑗)
(𝑗)
where Φ𝐼 and Φ𝐹 are, respectively, the Boolean formulae
obtained from Φ𝐼 and Φ𝐹 by replacing each variable 𝑝 with
a new copy 𝑝(𝑗) , and Φ(𝑖,𝑗)
is obtained from Φ𝜌 by replacing
𝜌
each 𝑝 with 𝑝(𝑖) and replacing each 𝑝󸀠 with 𝑝(𝑗) .
It can be seen that this formula is satisfiable if and only if
C involves a fair path of the form 𝑠0 𝑠1 ⋅ ⋅ ⋅ 𝑠ℓ−1 (𝑠ℓ ⋅ ⋅ ⋅ π‘ π‘˜ )πœ” (call
it is of the lasso shape). Since that L(C) =ΜΈ 0 if and only if C
contains some lasso fair path (note that from each fair path
we may derive another fair path of lasso shape), hence we may
convert the fair path detection into the satisfiability problem
of the above Boolean formula.
However, a closer look shows that the size of such encoding is quadratic with the bound. To reduce the blow-up in
size, we need to introduce the following new variables (the
linearization can also be done with the syntactic fashion
presented in [23, 24]. We would draw a comparison of these
two approaches in Section 4.).
(1) For each 0 ≤ β„“ ≤ π‘˜, we introduce a new variable π‘Ÿβ„“ .
Intuitively, π‘Ÿβ„“ indicates that 𝑠ℓ is a successor of π‘ π‘˜ .
(2) For each fairness constraint 𝐹 ∈ F and each 0 ≤
β„“ ≤ π‘˜, we introduce a variable 𝑓𝐹(β„“) , and this variable
(𝑗)
is evaluated to be true only if there is some Φ𝐹 which
is evaluated to true, where β„“ ≤ 𝑗 ≤ π‘˜.
And the new encoding (with the bound π‘˜ ∈ N) can be formulated as
(𝑖,𝑖+1)
∧ ⋁ π‘Ÿβ„“ ,
Φ(0)
𝐼 ∧ β‹€ Φ𝜌
0≤𝑖<π‘˜
0≤β„“≤π‘˜
ΨC(π‘˜) = ∧ β‹€ (π‘Ÿβ„“ 󳨀→ (Φ(π‘˜,β„“)
∧ β‹€ 𝑓𝐹(β„“) ))
𝜌
𝐹∈F
0≤β„“≤π‘˜
(8)
∧ β‹€(β‹€
𝐹∈F
0≤𝑖<π‘˜
(𝑓𝐹(𝑖)
󳨀→
(𝑓𝐹(𝑖+1)
∨
Φ(𝑖)
𝐹 ))
(6)
where (𝑠1 , 𝑠2 ) ⊩ Φπœ† means that Φπœ† is evaluated to be true if
we assign each 𝑝𝑖 with 𝑠1 (𝑝𝑖 ) and assign each 𝑝𝑖󸀠 with 𝑠2 (𝑝𝑖 ).
Hence, all components of M can be encoded: 𝐼 and 𝜌
can be represented by two Boolean formulae Φ𝐼 and Φ𝜌 ,
respectively; we subsequently create a Boolean formula Φ𝐹
for each 𝐹 ∈ F; note that the labeling function 𝐿 is not
concerned any longer, because the sates labeled with 𝑝 can
be captured by the Boolean formula 𝑝.
∧ (𝑓𝐹(π‘˜) 󳨀→ Φ(π‘˜)
𝐹 )).
Hence, both the number of variables and the size of this
encoding are linear with π‘˜. Moreover, the following theorem
guarantees the correctness of such encoding.
Theorem 8. L(C) =ΜΈ 0 if and only if ΨC(π‘˜) is satisfiable for some
π‘˜.
6
Journal of Applied Mathematics
Proof. We begin with the “if ” direction: suppose that the
variable set is {𝑝1 , . . . , π‘π‘š }; if there is some π‘˜ such that ΨCπ‘˜
is evaluated to 1 (i.e., true) under the assignment 𝑒, then we
(𝑖)
denote 𝑠𝑖 = (𝑒(𝑝1(𝑖) ), . . . , 𝑒(π‘π‘š
)) for each 1 ≤ 𝑖 ≤ π‘š. Hence,
each 𝑠𝑖 is a state of C.
(i) Since the truth value of Φ(0)
𝐼 is 1 under 𝑒, then we have
𝑠0 ⊩ Φ(0)
;
this
implies
that
𝑠0 ∈ 𝐼.
𝐼
, and
(ii) For each 0 ≤ 𝑖 < π‘˜, we have (𝑠𝑖 , 𝑠𝑖+1 ) ⊩ Φ(𝑖,𝑖+1)
𝜌
thus (𝑠𝑖 , 𝑠𝑖+1 ) ∈ 𝜌.
(iii) Because we have the conjunct ⋁0≤β„“ π‘Ÿβ„“ , then there is
some 0 ≤ β„“ ≤ π‘˜ such that 𝑒(π‘Ÿβ„“ ) = 1. In the following,
we fix this specific value β„“ for the discussion.
∧⋀𝐹∈F 𝑓𝐹(β„“) ),
(iv) According to the constraint π‘Ÿβ„“ → (Φ(π‘˜,β„“)
𝜌
we have the following.
(1) 𝑒(Φ(π‘˜,β„“)
𝜌 ) = 1, which indicates that (π‘ π‘˜ , 𝑠ℓ ) ∈ 𝜌.
(2) For each 𝐹 ∈ F, we have 𝑒(𝑓𝐹(β„“) ) = 1.
(v) For each fairness constraint 𝐹 ∈ F and 0 ≤ 𝑖 ≤ π‘˜,
we now inductively show that “𝑒(𝑓𝐹(𝑖) ) = 1 implies
(𝑗)
𝑒(Φ𝐹 ) = 1 (alternatively, 𝑠𝑗 ∈ 𝐹) for some 𝑖 ≤ 𝑗 ≤ π‘˜.”
First of all, it holds in the case of 𝑖 = π‘˜, because we
have the constraint 𝑓(π‘˜) → Φ(π‘˜)
𝐹 . In addition, the fact
of “when 𝑖 = 𝑐, it holds” can be immediately inferred
from the hypothesis “when 𝑖 = 𝑐 + 1, it holds,”
according to the conjunct 𝑓𝐹(𝑖) → (𝑓𝐹(𝑖+1) ∨Φ(𝑖)
𝐹 ). Since
(β„“)
we have shown that 𝑒(𝑓𝐹 ) = 1, we can conclude that
there exists some β„“ ≤ 𝑗 ≤ π‘˜ such that 𝑠𝑗 ∈ 𝐹.
The above shows that 𝑠0 𝑠1 ⋅ ⋅ ⋅ 𝑠ℓ−1 (𝑠ℓ ⋅ ⋅ ⋅ π‘ π‘˜ )πœ” is a fair path of C,
and hence L(C) =ΜΈ 0.
Conversely, for the “only if ” direction, it suffices to find
some π‘˜ and some assignment 𝑒 evaluating ΨC(π‘˜) to be true.
Since L(C) =ΜΈ 0, there must exist some fair path of lasso
shape in C. Without loss of generality, assume that 𝜎 =
𝑠0 𝑠1 ⋅ ⋅ ⋅ 𝑠ℓ−1 (𝑠ℓ ⋅ ⋅ ⋅ π‘ π‘˜ )πœ” is such a path; just let π‘˜ be this value,
and we now illustrate how the assignment 𝑒 is constructed.
(i) For each variable 𝑝𝑗 and each 𝑖 ≤ π‘˜, let 𝑒(𝑝𝑗(𝑖) ) =
𝑠𝑖 (𝑝𝑗 ). Since 𝑠0 is an initial state, according to the
definition, we have 𝑒(Φ(0)
𝐼 ) = 1. Meanwhile, because
each (𝑠𝑖 , 𝑠𝑖+1 ) ∈ 𝜌, we have that the conjunction
is satisfied under 𝑒.
β‹€0≤𝑖≤π‘˜ Φ(𝑖,𝑖+1)
𝜌
(ii) For each 0 ≤ 𝑖 ≤ π‘˜, we let
𝑒 (π‘Ÿπ‘– ) = {
1, 𝑖 = β„“,
0, 𝑖 =ΜΈ β„“.
(9)
Then it can be seen that 𝑒(⋁0≤𝑖≤π‘˜ π‘Ÿπ‘– ) = 1.
(iii) For each 𝐹 ∈ F and each 0 ≤ 𝑖 ≤ π‘˜, we let
𝑒 (𝑓𝐹(𝑖) ) = {
1, if there is some 𝑗 ≥ 𝑖 such that 𝑠𝑗 ∈ 𝐹,
0, otherwise.
(10)
Then it can be directly checked that the conjunct
(π‘˜)
(π‘˜)
β‹€ ( β‹€ (𝑓𝐹(𝑖) 󳨀→ (𝑓𝐹(𝑖+1) ∨ Φ(𝑖)
𝐹 )) ∧ (𝑓𝐹 󳨀→ Φ𝐹 ))
𝐹∈F
0≤𝑖<π‘˜
(11)
is evaluated to be true under 𝑒.
(iv) Since (π‘ π‘˜ , 𝑠ℓ ) ∈ 𝜌, we have 𝑒(Φ(π‘˜,β„“)
𝜌 ) = 1. Also note
that 𝜎 is a fair path; then for each 𝐹 ∈ F there is some
𝑠𝑗 ∈ 𝐹, where β„“ ≤ 𝑗 ≤ π‘˜. According to the previous
definition, we can infer that 𝑒(⋀𝐹∈F 𝑓𝐹(β„“) ) = 1. Thus
the conjunct
∧ β‹€ 𝑓𝐹(𝑖) ))
β‹€ (π‘Ÿπ‘– 󳨀→ (Φ(π‘˜,𝑖)
𝜌
0≤𝑖≤π‘˜
(12)
𝐹∈F
is also satisfied under 𝑒 (recall that we have assigned
𝑒(π‘Ÿπ‘– ) = 0 in the case of 𝑖 =ΜΈ β„“).
Thus, the formula ΨC(π‘˜) is satisfiable.
For bounded model checking, an important issue is the
completeness threshold, which is the specific value π‘˜ such that
we may declare L(C) = 0 in the case that ΨC(π‘˜) is not satisfiable, and we denote it by CT(C) in this paper.
Since we need only to concern about fair paths of the
form 𝜎1 (𝜎2 )πœ” , as pointed in [22], a possible candidate for the
completeness threshold CT(C) is
𝐷𝐼 (C) + |F| × π· (C) ,
(13)
where 𝐷 and 𝐷𝐼 are, respectively, the diameter and the initialized diameter (cf. [22]). Since [22] just considers LTSs having
only one fairness constraint, we here add the factor |F|.
Observe that the part 𝜎2 must be enclosed in some SCC
(i.e., strongly connected component) of C, and we may replace
𝐷(C) with 𝐷(S), where S is the largest SCC that intersects
all fairness constraints. Therefore, we may get a more compact
upper bound of the completeness threshold.
Then, for a given LTS M and the given ETL𝑙+𝑓 formula
πœ‘, since we have shown that M ⊭ πœ‘ if and only if M × T¬πœ‘
involves some fair path, we now just need to test if there is
(π‘˜)
some π‘˜ making ΨM×T
satisfiable, where π‘˜ ≤ CT(M × T¬πœ‘ ).
¬πœ‘
Remark 9. In the case that C = C1 × C2 , where C = βŸ¨π‘†,
𝜌, 𝐼, 𝐿, F⟩ and C𝑖 = βŸ¨π‘†π‘– , πœŒπ‘– , 𝐼𝑖 , 𝐿 𝑖 , F𝑖 ⟩ for 𝑖 = 1, 2, we have
Φ𝐼 = Φ𝐼1 ∧ Φ𝐼2 , Φ𝜌 = Φ𝜌1 ∧ Φ𝜌2 , and ΦF = ΦF1 ∪ ΦF1 ,
and in addition, the variable set of C is just the union of the
variable sets of C1 and C2 .
Remark 10. Actually, for an ETL𝑙+𝑓 formula πœ‘, the symbolic
representation of Tπœ‘ can be directly given without the detour
of explicit construction of the LTS. Because, the relation sat
could be inductively constructed if we introduce corresponding new variables in el(πœ‘). Subsequently, encodings of ΦΔ+πœ“ or
ΦΔ−πœ‚ could be naturally obtained from the underlying Boolean
variables corresponding to states of automata connectives.
Hence, the Boolean representation of ΦπœŒπœ‘ is obtained. And,
encodings of other components are as routine.
Journal of Applied Mathematics
7
q1
CONNECTIVE A (a1, a2) : FIN
STATES >q1, q2, q3<;
TRANSITIONS(q1)
case a1 : q2; a2 : q3; esac;
TRANSITIONS(q2)
case
a1 : fq2, q3g;
a2 : q3;
esac;
TRANSITIONS(q3)
case a1 : fq1, q2g; esac;
a1
q2
a1
a2
a1
a1
a2
q3
Figure 1: An automata connective declaration in ENuSMV.
Table 1: Comparative results of BDD-based and BMC approaches.
Cells
5
6
7
8
9
10
Time (s)
170.56
513.06
2372.28
8074.05
≥5 h
≥5 h
BDD
Memory (MB)
68.32
209.17
976.14
1482.15
≥2 G
≥2 G
C.L.
78
84
90
96
—
—
Variables
3939
4677
5415
6154
6892
7630
4. Experimental Results
To justify our idea, we have integrated (the tool is available
at https://sourceforge.net/projects/enusmv12/) the ETL𝑙+𝑓
BMC algorithm into ENuSMV (Ver. 1.2). This tool is completely compatible with NuSMV [25], and it allows end-users
to customize new temporal connectives by defining automata.
For example, Figure 1 illustrates how to declare a finite
acceptance automata connective (to define a looping acceptance automata connective, just replace the keyword FIN with
LOOP), namely, A. Since it has three states q1, q2, and q3
(where q1 is the initial state and q3 is an accepting state), then
A[q1], A[q2], and A[q3] are also connectives—for example,
A[q2] just replaces the initial state with q2. Subsequently, one
may define ETL𝑙+𝑓 specifications; for example,
ETLSPEC A(p,A[q2] (q,p))
is a proper declaration.
In this redistribution, both BDD-based and bounded
model checkings for ETL𝑙+𝑓 are supported. To perform (semantic encoding based) BMC, we need to use the command
option bmc tab.
We have conducted some experiments to test the correctness and efficiency of our algorithm. In this paper, we are
especially concerned with the following issues.
(1) The comparison of BDD-based symbolic model
checking and bounded model checking.
Clauses
8126
9620
11113
12609
14102
15599
BMC
Time (s)
13.50
29.14
41.32
52.45
68.17
85.13
Memory (MB)
34.98
42.37
58.48
67.32
82.13
101.21
C.L.
39
39
39
39
39
39
(2) The overhead contrast in verifications of ETL𝑓 and
ETL𝑙+𝑓 upon both star-free and nonstar-free properties.
(3) The comparison of performances with syntactic/semantic BMC of LTL and semantic BMC of ETL𝑙+𝑓 .
To compare the efficiencies between BDD-based MC
and BMC, we chose the (distributed mutual exclusion) DME
circuit as the model (which involves a buggy design), as
described in [3]. It consists of 𝑛 cells for 𝑛 users that want to
have exclusive access to a shared resource. We conducted the
experiment by describing the liveness property that “a request
for using the resource will eventually be acknowledged” (with
ETL𝑙+𝑓 formula). The max bound are set to 100, and the
comparative results are shown in Table 1, where “C.L.” stands
for the length of counterexample.
As a previous work, we have implemented the symbolic
model checking algorithm for ETL𝑓 in ENuSMV 1.0. To
justify that in general ETL𝑙+𝑓 could be more effectively
checked, we would make a comparison of BMC for ETL𝑓 and
ETL𝑙+𝑓 .
To draw the comparison upon non-start-free regular
properties, we use a “mod 2𝑛 counter” as the model. The
model consists of 𝑛 “cells” bit 0,. . .,bit n-1. Each cell is
a (mod 2) counter having an input carry in and an output
signal carry out. These cells are connected in a serial
manner; that is, bit 0’s carry in is set to 1, and bit i’s
carry in is connected to bit i−1’s carry out as described
in Figure 2.
8
Journal of Applied Mathematics
Carry out
Carry out
Carry in
1
···
bit 1
bit 0
Carry out
Carry out
Carry in
Carry in
bit n − 1
Carry in
Figure 2: The circuit of MOD 2𝑛 counter.
Table 2: Comparison of ETL𝑓 and ETL𝑙+𝑓 with periodicity properties.
Cells
10
11
12
Max bound
11032
5138
3702
ETL𝑓
Memory (MB)
279.44
148.22
129.571
Variables
154461
77084
3702
Clauses
1180431
631981
518287
We, respectively, describe the periodicity property that
“bit 0 carries out at every even (except for 0) moment”
with ETL𝑓 and ETL𝑙+𝑓 . We set the time bound to 1 hour,
and Table 2 provides the max bounds (together with related
information) which can be handled by the SAT solver within
the time bound. From it, we can see that a deeper search could
be done when specifications are described with ETL𝑙+𝑓 .
To compare the overhead of ETL𝑓 and ETL𝑙+𝑓 upon
star-free properties, we would first use the DME model to
check the safety property: “no two cells will be simultaneously
acknowledged.” The results are shown in Table 3, and the time
bound is also set to 1 hour.
At the same time, we can also compare the verification
performances of the DME model upon the aforementioned
liveness property that “each request will be acknowledged
in the further.” Note that for this property, the verification
could be accomplished within the given time bound, and a
counterexample could be detected at the bound π‘˜ = 39. The
comparative results are given in Table 4.
The last group of experiments aims at comparing the
efficiencies of (syntactic/semantic) LTL BMC and ETL𝑙+𝑓
BMC. First of all, for LTL BMC, we are also concerned with
two types of encoding approaches.
(1) The Syntactic Approach. We here adopt the linear
incremental syntactic encoding proposed in [26]—to
the best of our knowledge, this is the most effective
syntactic encoding for full LTL.
(2) The Semantic Approach. ENuSMV 1.2 also supports
semantic encoding for LTL—this is tailored from our
linear encoding presented in Section 3.2.
We still use the DME circuit as the model and the liveness
property as specification; Table 5 provides the experimental
results on LTL BMC based on syntactic and semantic encodings. From that, we can see that, with semantic encoding, it
tends to generate less clauses and tends to terminate earlier
than that with the syntactic encoding, whereas the latter
requires fewer variables.
Meanwhile, we can also make a comparison between
Tables 4 and 5; we may find that the variable numbers of
semantic ETL BMC and LTL BMC are almost at a fixed
ratio—for this experiment, the ratio is 1.09 (approximately).
Max bound
13009
6037
4316
ETL𝑙+𝑓
Memory (MB)
382.784
173.59
143.802
Variables
182140
90570
69072
Clauses
1417990
754461
612888
5. Concluding Remarks
The logic ETL𝑙+𝑓 is a variant of extended temporal logic,
it employs both finite and looping acceptance automata
connectives, and it can be considered a mixture of ETL𝑙 and
ETL𝑓 . Thus, any omega-regular properties can be succinctly
described with this kind of logic, particularly for safety and
liveness properties.
We have presented the semantic bounded model checking
algorithm for ETL𝑙+𝑓 . The central part of this approach is
the tableau construction. Meanwhile, we also illustrate how
to give a linear BMC encoding for it. To justify it, we
have implemented the presented algorithm (in ENuSMV
1.2). Experimental results show that ETL𝑙+𝑓 could be more
efficiently verified via BMC (in comparison to our previous
implementation for ETL𝑙+𝑓 ).
In this paper, verification of ETLπ‘Ÿ , namely, extended temporal logic using Büchi (alternatively, repeating) automata
as connectives, has not been studied. This is partly because
of the inherited difficulties of Büchi complementation
[27]. Indeed, we may mimic the ranking complementing technique of Büchi automata [28–30]. However, this would cause
an asymptotically quadratic blow-up of variable number in
building the tableaux. Hence, a further work is about to study
the semantic BMC encodings of ETLπ‘Ÿ .
Appendix
A. Omitted Proofs
A.1. Proof of Theorem 4. Just assume that 𝜎 = 𝑠0 𝑠1 ⋅ ⋅ ⋅ ∈ π‘†πœ‘πœ” is
the corresponding fair path of Tπœ‘ having πœ‹ = 𝐿 πœ‘ (𝜎), where
𝑠𝑖 = ⟨Γ𝑖 ; 𝑃1,𝑖 , . . . , π‘ƒπ‘š,𝑖 ; 𝑅1,𝑖 , . . . , 𝑅𝑛,𝑖 ⟩. We now inductively prove
the following claim.
“For each πœ“ ∈ sub(πœ‘) ∪ el(πœ‘), we have: Γ𝑖 ∈ sat(πœ“)
implies πœ‹, 𝑖 ⊨ πœ“.”
(i) The basic cases are trivial.
(a) πœ“ = ⊀, or πœ“ =⊥. Since πœ‹, 𝑖 ⊨ ⊀ holds trivially, the case
Γ𝑖 ∈ sat(⊥) never happens.
Journal of Applied Mathematics
9
Table 3: Comparison of ETL𝑓 and ETL𝑙+𝑓 with safety properties.
Cells
3
4
5
Max bound
68
62
54
ETL𝑓
Memory (MB)
29.14
34.76
40.12
Variables
4002
4864
5170
Clauses
8091
9764
10313
Max-bound
101
87
73
ETL𝑙+𝑓
Memory (MB)
38.03
40.34
45.37
Variables
4958
5712
6072
Clauses
9898
11512
12088
Table 4: Comparison of ETL𝑓 and ETL𝑙+𝑓 with liveness properties.
Cells
3
4
5
Time (s)
25.09
31.42
42.56
ETL𝑓
Clauses
4796
6200
7604
Variables
2400
3120
3840
Memory (MB)
29.66
38.61
44.28
(b) πœ“ = 𝑝, or πœ“ = ¬π‘, where 𝑝 ∈ 𝐴𝑃. Because Γ𝑖 ∈ sat(𝑝)
if and only if 𝑝 ∈ Γ𝑖 if and only if 𝑝 ∈ πœ‹(𝑖) if and only
if πœ‹, 𝑖 ⊨ 𝑝. Similar to show it when πœ“ = ¬π‘.
(ii) The following inductions are as routine.
(a) For the case πœ“ = πœ“1 ∧ πœ“2 , or πœ“1 ∨ πœ“2 . For the first case,
we have Γ𝑖 ∈ sat(πœ“) if and only if Γ𝑖 ∈ Sat(πœ“1 ) and Γ𝑖 ∈
sat(πœ“2 ); by induction, we have πœ‹, 𝑖 ⊨ πœ“1 and πœ‹, 𝑖 ⊨ πœ“2 ;
hence πœ‹, 𝑖 ⊨ πœ“; similar to the case of πœ“ = πœ“1 ∨ πœ“2 .
(b) In the case of πœ“ = Iπœ“σΈ€  , we have Γ𝑖 ∈ sat(πœ“) if and
only if Γ𝑖+1 ∈ sat(πœ“σΈ€  ), according to the definition of Δ πœ‘
(note that in this case πœ“ is an elementary formula of
πœ‘). By induction, we have πœ‹, 𝑖 + 1 ⊨ πœ“σΈ€  ; hence πœ‹, 𝑖 ⊨ πœ“.
π‘ž
(iii) If πœ“ = A (πœ‘1 , . . . , πœ‘π‘˜ ) is a PF-subformula, without
loss of generality, assume πœ“ = πœ“π‘— (i.e., the 𝑗th PF-subformula
of πœ‘), where 1 ≤ 𝑗 ≤ π‘š and Aπ‘ž = ⟨{π‘Ž1 , . . . , π‘Žπ‘˜ }, 𝑄, 𝛿, π‘ž, 𝐹⟩,
then the proof is given as follows.
Since 𝜎 is a fair path, there exists 𝑖2 > 𝑖1 > 𝑖, such that
𝑃𝑗,𝑖1 = 𝑃𝑗,𝑖2 = 0 and 𝑃𝑗,𝑐 =ΜΈ 0 for each 𝑖1 < 𝑐 < 𝑖2 .
π‘ž0
(a) First, let π‘ž0 = π‘ž; then we have Γ𝑖 ∈ sat(A (πœ‘1 , . . . ,
πœ‘π‘˜ )).
(b) For each 𝑑 ≤ 𝑖1 − 𝑖, if π‘žπ‘‘ ∉ 𝐹 and Γ𝑖+𝑑 ∈ sat(Aπ‘žπ‘‘ (πœ‘1 ,
. . . , πœ‘π‘˜ )), then, according to the definition of sat, there
is some 1 ≤ π‘˜π‘‘ ≤ π‘˜ and a π‘žσΈ€  such that Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ ),
σΈ€ 
π‘žσΈ€  ∈ 𝛿(π‘žπ‘‘ , π‘Žπ‘˜π‘‘ ), and Γ𝑖+𝑑 ∈ sat(IAπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )) (equivσΈ€ 
alently, Γ𝑖+𝑑+1 ∈ sat(Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )), as discussed
above). Now, we let π‘žπ‘‘+1 = π‘žσΈ€  .
Till now, if there is some 𝑑 having π‘žπ‘‘ ∈ 𝐹, we stop the processing. Otherwise, we go on with the following processing.
(a) When 𝑑 = 𝑖1 − 𝑖 + 1, we have Γ𝑑 ∈ sat(Aπ‘žπ‘‘ (πœ‘1 , . . . , πœ‘π‘˜ )).
Since 𝑃𝑗,𝑖1 = 0, according to the definition of Δ+πœ“π‘— , we
have π‘žπ‘‘ ∈ 𝑃𝑗,𝑖1 +1 = 𝑃𝑗,𝑖+𝑑 .
(b) For each 𝑖1 − 𝑖 < 𝑑 ≤ 𝑖2 − 𝑖, if π‘žπ‘‘ ∈ 𝑃𝑗,𝑖+𝑑 and π‘žπ‘‘ ∉
𝐹, according to Δ+πœ“π‘— , there is some 1 ≤ π‘˜π‘‘ ≤ π‘˜, such
that Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ ), and there is some π‘žσΈ€  ∈ 𝑃𝑗,𝑖+𝑑+1 ∩
𝛿(π‘žπ‘‘ , π‘Žπ‘˜π‘‘ ). Now, we let π‘žπ‘‘+1 = π‘žσΈ€  .
Time (s)
13.78
20.06
24.70
Variables
2340
3042
3744
ETL𝑙+𝑓
Clauses
4747
6115
7843
Memory (MB)
26.34
31.38
36.12
Notice that 𝑃𝑗,𝑖2 = 0, and we have the inductive assertion that
π‘žπ‘‘ ∉ 𝐹 implies π‘žπ‘‘ ∈ 𝑃𝑗,𝑖+𝑑 ; hence there must exist some π‘žπ‘‘ ∈ 𝐹.
Thus, A have some accepting prefix π‘Žπ‘˜0 π‘Žπ‘˜1 ⋅ ⋅ ⋅ π‘Žπ‘˜β„“ of some
infinite word. On the other hand, by induction, Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜,𝑑 )
implies πœ‹, 𝑖 + 𝑑 ⊨ πœ‘π‘˜π‘‘ . Hence, we have πœ‹, 𝑖 ⊨ πœ“ by definition.
(iv) If πœ“ = ¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) is an NF-subformula of πœ‘ and
assume that Aπ‘ž = ⟨{π‘Ž1 . . . , π‘Žπ‘˜ }, 𝑄, 𝛿, π‘ž, 𝐹⟩, then the proof is
given as below.
Assume by contradiction it is not the case; then πœ‹, 𝑖 ⊨
Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) holds. Therefore, there exist some accepting
prefix π‘Žπ‘˜0 π‘Žπ‘˜1 ⋅ ⋅ ⋅ π‘Žπ‘˜β„“ of some infinite word and a state sequence
π‘ž0 π‘ž1 ⋅ ⋅ ⋅ π‘žβ„“ π‘žβ„“+1 such that
(a) π‘ž0 = π‘ž, π‘žβ„“+1 ∈ 𝐹 and each π‘žπ‘‘+1 ∈ 𝛿(π‘žπ‘‘ , π‘Žπ‘˜π‘‘ ),
(b) for each 𝑑 ≤ β„“, we have πœ‹, 𝑖 + π‘‘βŠ¨ πœ‘π‘˜π‘‘ .
Then, we have the following facts.
(a) Γ𝑖+β„“+1 ∈ sat(Aπ‘žβ„“+1 (πœ‘1 , . . . , πœ‘π‘˜ )) = 2el(πœ‘) , because π‘žβ„“+1 ∈
𝐹.
(b) Assume that Γ𝑖+𝑑+1 ∈ sat(Aπ‘žπ‘‘+1 (πœ‘1 , . . . , πœ‘π‘˜ )), where
𝑑 ≤ β„“; then Γ𝑖+𝑑 ∈ sat(IAπ‘žπ‘‘+1 (πœ‘1 , . . . , πœ‘π‘˜ )). In addition,
πœ‹, 𝑖 + 𝑑 ⊨ πœ‘π‘˜π‘‘ implies that Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ )—otherwise
(it is not hard to show that if there is an infinite path
in Tπœ‘ starting from 𝑠𝑖+𝑑 , then, for each πœ‚, either Γ𝑖+𝑑 ∈
sat(πœ‚) or Γ𝑖+𝑑 ∈ sat(¬πœ‚) holds), Γ𝑖+𝑑 ∈ sat(¬πœ‘π‘˜π‘‘ ); then
we have πœ‹, 𝑖 + 𝑑 ⊨ ¬πœ‘π‘˜π‘‘ by induction contradicts!
Hence, by the definition of sat, we have Γ𝑖+𝑑 ∈
sat(Aπ‘žπ‘‘ (πœ‘1 , . . . , πœ‘π‘˜ )).
Then, we have Γ𝑖 ∈ sat(Aπ‘ž0 (πœ‘1 , . . . , πœ‘π‘˜ )) when 𝑑 = 0. However,
it contradicts the premiss Γ𝑖 ∈ sat(¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘› )), because
π‘ž0 = π‘ž. Therefore, the assumption πœ‹, 𝑖 ⊨ Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) is a
falsity, and this implies that πœ‹, 𝑖 ⊨ πœ“ holds.
(v) If πœ“ = Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) is a PL-subformula of πœ‘, where
π‘ž
A = ({π‘Ž1 , . . . , π‘Žπ‘˜ }, 𝑄, 𝛿, π‘ž, 𝐹), then we have the following
proof in the case that Γ𝑖 ∈ sat(πœ“).
(a) Let π‘ž0 = π‘ž, and Γ𝑖 ∈ sat(Aπ‘ž0 (πœ‘1 , . . . , πœ‘π‘˜ )).
(b) For each 𝑑 ≥ 0, assume that Γ𝑖+𝑑 ∈ sat(Aπ‘žπ‘‘ (πœ‘1 , . . . ,
πœ‘π‘˜ )); then by the definition of sat, there is some 1 ≤
π‘˜π‘‘ ≤ π‘˜, such that Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ ), and there is
10
Journal of Applied Mathematics
Table 5: Comparison of syntactic/semantic LTL BMC with liveness properties.
Cells
3
4
5
Syntactic LTL BMC encoding
Variables
Clauses
Memory (MB)
2052
5474
32.66
2736
6806
35.74
3420
8138
37.02
Time (s)
9.34
16.71
24.06
σΈ€ 
some π‘žσΈ€  ∈ 𝛿(π‘žπ‘‘ , π‘Žπ‘˜π‘‘ ) such that π‘ π‘Žπ‘‘(IAπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ))
π‘ž
σΈ€ 
(equivalently, Γ𝑖+𝑑+1 ∈ sat(A (πœ‘1 , . . . , πœ‘π‘˜ )) holds).
Now, we let π‘žπ‘‘+1 = π‘žσΈ€  .
π‘ž
Hence, we have an accepting run of A over the infinite word
π‘Žπ‘˜0 π‘Žπ‘˜1 ⋅ ⋅ ⋅ . Meanwhile, by induction, Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ ) implies
that πœ‹, 𝑖 + 𝑑 ⊨ πœ‘π‘˜π‘‘ . By definition, we have πœ‹, 𝑖 ⊨ πœ“ in this
case.
(vi) Lastly, consider the case πœ“ = ¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ), where
π‘ž
A = ⟨{π‘Ž1 , . . . , π‘Žπ‘˜ }, 𝑄, 𝛿, π‘ž, 𝐹⟩ is a looping acceptance automaton.
Suppose that Γ𝑖 ∈ sat(πœ“), and assume by contradiction
that πœ‹, 𝑖 ⊭ πœ“; then there is an infinite word 𝑀 = π‘Žπ‘˜0 π‘Žπ‘˜1 ⋅ ⋅ ⋅ ∈
L(Aπ‘ž ) and πœ‹, 𝑖 + 𝑑 ⊨ πœ‘π‘˜π‘‘ for each 𝑑 ≥ 0. Also, let the
corresponding run of Aπ‘ž on 𝑀 is π‘ž0 π‘ž1 ⋅ ⋅ ⋅ , where π‘ž0 = π‘ž.
Without loss of generality, suppose that πœ“ = ¬πœ‚𝑗 (i.e., the
𝑗th NL-subformula); since 𝜎 is a fair path, there must exist
some 𝑖2 > 𝑖1 > 𝑖 such that 𝑅𝑗,𝑖1 = 𝑅𝑗,𝑖2 = 0 and 𝑅𝑗,𝑐 =ΜΈ 0 for
each 𝑖1 < 𝑐 < 𝑖2 . Then
π‘ž0
(a) Γ𝑖 ∈ sat(¬A (πœ‘1 , . . . , πœ‘π‘˜ )), because π‘ž0 = π‘ž,
(b) as discussed before (in the case of NF-subformula),
πœ‹, 𝑖 + 𝑑 ⊨ πœ‘π‘˜π‘‘ implies that Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ ). For each
𝑑 > 0, if Γ𝑖+𝑑 ∈ sat(¬Aπ‘žπ‘‘ (πœ‘1 , . . . , πœ‘π‘˜ )) holds, according
to the definition of sat, for each π‘žσΈ€  ∈ 𝛿(π‘žπ‘‘ , π‘Žπ‘˜π‘‘ ), we have
σΈ€ 
π‘ž
Γ𝑖+𝑑 ∈
sat(IA (πœ‘1 , . . . , π‘žπœ‘π‘˜ )). Note that π‘žπ‘‘+1 ∈ 𝛿(π‘žπ‘‘ , π‘Žπ‘˜ );
hence Γ𝑖+𝑑+1 ∈ sat(¬A 𝑑+1 (πœ‘1 , . . . , πœ‘π‘˜ )).
Therefore, we have Γ𝑖+𝑑 ∈ sat(¬Aπ‘žπ‘‘ (πœ‘1 , . . . , πœ‘π‘˜ )) for each 𝑑 ≥ 0.
According to the definition of Δ−¬πœ‚𝑗 , we have
(a) π‘žπ‘–1 +1−𝑖 ∈ 𝑅𝑗,𝑖1 +1 , since 𝑅𝑗,𝑖1 = 0,
(b) for each 𝑑 having π‘žπ‘‘ ∈ 𝑅𝑗,𝑖+𝑑 , since Γ𝑖+𝑑 ∈ sat(πœ‘π‘˜π‘‘ ), then
π‘žσΈ€  ∈ 𝛿(π‘žπ‘‘ , π‘Žπ‘˜π‘‘ ) implies π‘žσΈ€  ∈ 𝑅𝑗,𝑖+𝑑+1 . Therefore, π‘žπ‘‘+1 ∈
𝑅𝑗,𝑖+𝑑+1 .
The above induction implies that π‘žπ‘‘ ∈ 𝑅𝑗,𝑖+𝑑 for each 𝑑 ≥ 𝑖1 −
𝑖 + 1. However, it is impossible since 𝑅𝑗,𝑖2 = 0. Hence, the
assumption πœ‹, 𝑖 ⊨ Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) is incorrect, which implies
that πœ‹, 𝑖 ⊨ πœ“ also holds in this case.
Clearly, the above induction is complete. Because we
require that Γ0 ∈ sat(πœ‘), we have πœ‹, 0 ⊨ πœ‘.
A.2. Proof of Theorem 5. Suppose that πœ‹ ⊨ πœ‘ to show πœ‹ ∈
L(Tπœ‘ ), we need to first construct an infinite state sequence
𝜎 = 𝑠0 𝑠1 ⋅ ⋅ ⋅ , where 𝑠𝑖 = ⟨Γ𝑖 ; 𝑃1,𝑖 , . . . , π‘ƒπ‘š,𝑖 ; 𝑅1,𝑖 , . . . , 𝑅𝑛,𝑖 ⟩ ∈ π‘†πœ‘ ,
and then we will show that 𝜎 is a fair path of Tπœ‘ and πœ‹ =
𝐿 πœ‘ (𝜎).
(i) The construction of Γ𝑖 is as follows.
Time (s)
8.59
10.87
15.90
Semantic LTL BMC encoding
Variables
Clauses
Memory (MB)
2128
4291
24.79
2812
5623
28.44
3469
6955
32.28
For each 𝑖 ≥ 0, we let Γ𝑖 = {πœ“ ∈ el(πœ‘) | πœ‹, 𝑖 ⊨ πœ“}. We will
now show the following claim.
“For each πœ“ ∈ sub(πœ‘) ∪ el(πœ‘), we have Γ𝑖 ∈ sat(πœ“) if
and only if πœ‹, 𝑖 ⊨ πœ“.”
By induction of the structure of πœ“ the following hold.
(a) Cases are trivial when πœ“ =⊥ or πœ“ = ⊀.
(b) If πœ“ = 𝑝 ∈ 𝐴𝑃, then πœ“ ∈ el(πœ‘). Thus, Γ𝑖 ∈ sat(𝑝) if
and only if 𝑝 ∈ Γ𝑖 if and only if 𝑝 ∈ πœ‹(𝑖) if and only if
πœ‹, 𝑖 ⊨ 𝑝. Similar to show the case of πœ“ = ¬π‘.
(c) Another basic case is πœ“ = Iπœ“σΈ€  : note that in this case
we also have πœ“ ∈ el(πœ‘); hence Γ𝑖 ∈ sat(Iπœ“σΈ€  ) if and only
if πœ“ ∈ Γ𝑖 if and only if πœ‹, 𝑖 ⊨ πœ“.
(d) If πœ“ = πœ“1 ∧ πœ“2 , then Γ𝑖 ∈ sat(πœ“) if and only if Γ𝑖 ∈
sat(πœ“1 ) and Γ𝑖 ∈ sat(πœ“2 ). By induction, we have πœ‹, 𝑖 ⊨
πœ“1 and πœ‹, 𝑖 ⊨ πœ“2 that is, πœ‹, 𝑖 ⊨ πœ“. Similar to show the
case of πœ“ = πœ“1 ∨ πœ“2 .
(e) If πœ“ = Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ), where Aπ‘ž = ⟨{π‘Ž1 , . . . , π‘Žπ‘˜ },
𝑄, 𝛿, π‘ž, 𝐹⟩ and if A is a looping acceptance automaton
or a finite acceptance automaton, but π‘ž ∈
𝐹, it is not
difficult to show that
Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) ←→ ⋁ (πœ‘π‘‘ ∧
1≤𝑑≤π‘˜
σΈ€ 
⋁ IAπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )) .
π‘žσΈ€  ∈𝛿(π‘ž,π‘Žπ‘‘ )
(A.1)
Then by induction and according to the scheme
sat(πœ“σΈ€  ∨ πœ“σΈ€ σΈ€  ) = sat(πœ“σΈ€  ) ∪ sat(πœ“σΈ€ σΈ€  ) and sat(πœ“σΈ€  ∧ πœ“σΈ€ σΈ€  ) =
sat(πœ“σΈ€  ) ∩ sat(πœ“σΈ€ σΈ€  ), we have πœ‹, 𝑖 ⊨ πœ“ if and only if
Γ𝑖 ∈ ⋃ (sat (πœ‘π‘‘ ) ∩
1≤𝑑≤π‘˜
σΈ€ 
⋃ sat (IAπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )))
σΈ€ 
π‘ž ∈𝛿(π‘ž,π‘Žπ‘‘ )
= sat (Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )) .
(A.2)
Otherwise, if A is a finite acceptance automaton and
π‘ž ∈ 𝐹, then
Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) ←→ ⊀.
(A.3)
In this case, sat(Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )) = 2el(πœ‘) , and hence
the claim “πœ‹, 𝑖 ⊨ πœ“ if and only if Γ𝑖 ∈ sat(πœ“)” also
holds.
(f) If πœ“ = ¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ), then Γ𝑖 ∈ sat(πœ“) if and only
π‘ž
π‘ž
if Γ𝑖 ∈
sat(A (πœ‘1 , . . . , πœ‘π‘˜ )) if and only if πœ‹, 𝑖 ⊭ A (πœ‘1 ,
. . . , πœ‘π‘˜ ) if and only if πœ‹, 𝑖 ⊨ πœ“.
Journal of Applied Mathematics
11
σΈ€ 
πœ‹, β„“t + 1 ⊨ Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ ) for some π‘žσΈ€  ∈ 𝑅𝑗,ℓ𝑑 +1 , and
Now, we have the following properties.
(1) Since πœ‹, 0 ⊨ πœ‘, we have Γ0 ∈ sat(πœ‘), and hence 𝑠0 ∈ πΌπœ‘ .
(2) For each 𝑖 and each Iπœ“ ∈ el(πœ‘), we have Γ𝑖 ∈ sat(Iπœ“)
if and only if πœ‹, 𝑖 ⊨ Iπœ“ if and only if πœ‹, 𝑖 + 1 ⊨ πœ“ if and
only if Γ𝑖+1 ∈ sat(πœ“).
(3) For each 𝑝 ∈ 𝐴𝑃 and each 𝑖, we have 𝑝 ∈ πœ‹(𝑖) if and
only if πœ‹, 𝑖 ⊨ 𝑝 if and only if 𝑝 ∈ Γ𝑖 . Hence, πœ‹(𝑖) =
Γ𝑖 ∩ 𝐴𝑃.
(ii) The construction of 𝑃𝑗,𝑖 , for 1 ≤ 𝑗 ≤ π‘š is as follows.
Assume that the 𝑗th PF-subformula πœ“π‘— = Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )
and the automata connective Aπ‘ž = ⟨{π‘Ž1 , . . . , π‘Žπ‘˜ }, 𝑄, 𝛿, π‘ž, 𝐹⟩;
then the construction is as follows.
(a) We will find a series of “key positions” β„“0 , β„“1 , . . ., having
𝑃𝑗,ℓ𝑑 = 0 for each ℓ𝑑 . First, let β„“0 = 0, and, for each 𝑑 ≥
0, once ℓ𝑑 has been determined, we use the following
two steps to determine ℓ𝑑+1 and each 𝑃𝑗,𝑐 for ℓ𝑑 < 𝑐 <
ℓ𝑑+1 .
σΈ€ 
(b) Let 𝑃𝑗,ℓ𝑑 = 0, and let 𝑃𝑗,ℓ𝑑 +1 = {π‘žσΈ€  | πœ‹, ℓ𝑑 + 1 ⊨ Aπ‘ž (πœ‘1 ,
. . . , πœ‘π‘˜ )}. For each π‘žσΈ€  ∈ 𝑃𝑗,ℓ𝑑 +1 , there must exit a finite
word π‘€π‘žσΈ€  = π‘Žπ‘˜0 π‘Žπ‘˜1 ⋅ ⋅ ⋅ π‘Žπ‘˜π‘  and a finite state sequence
πœ’π‘žσΈ€  = π‘ž0 π‘ž1 ⋅ ⋅ ⋅ π‘žπ‘ +1 such that π‘ž0 = π‘žσΈ€  , π‘žπ‘ +1 ∈ 𝐹, and, for
each 𝑐 ≤ 𝑠, we have π‘žπ‘+1 ∈ 𝛿(π‘žπ‘ , π‘Žπ‘˜π‘ ) and πœ‹, ℓ𝑑 + 𝑐 + 1 ⊨
πœ‘π‘˜π‘  (equivalently, Γℓ𝑑 +𝑐+1 ∈ sat(πœ‘π‘˜π‘  )).
(c) Now, let ℓ𝑑+1 = ℓ𝑑 + max{|πœ’π‘žσΈ€  | | π‘žσΈ€  ∈ 𝑃𝑗,ℓ𝑑 +1 } + 1. And
we let
󡄨 󡄨
(A.4)
𝑃𝑗,𝑐 = {πœ’π‘žσΈ€  (𝑐 − ℓ𝑑 − 1) σ΅„¨σ΅„¨σ΅„¨σ΅„¨πœ’π‘žσΈ€  󡄨󡄨󡄨󡄨 > 𝑐 − ℓ𝑑 − 1}
for each ℓ𝑑 + 1 < 𝑐 < ℓ𝑑+1 , where πœ’π‘žσΈ€  (𝑠) is the 𝑠th element of πœ’π‘žσΈ€  .
Now, it is not hard to check that ((Γ𝑖 , 𝑃𝑗,𝑖 ), (Γ𝑖+1 , 𝑃𝑗+1 )) ∈ Δ+πœ“π‘—
for each 𝑖. Moreover, for each 𝑑, we have 𝑃𝑗,ℓ𝑑 = 0.
(iii) The construction of 𝑅𝑗,𝑖 for each 1 ≤ 𝑗 ≤ 𝑛 is as
follows.
Assume that the 𝑗th NL-subformula ¬πœ‚𝑗 = ¬Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )
and the automata connective Aπ‘ž = ⟨{π‘Ž1 , . . . , π‘Žπ‘˜ }, 𝑄, 𝛿, π‘ž, 𝐹⟩;
then the construction is as follows.
(a) First, let β„“0 = 0, and, for each 𝑑 ≥ 0, once ℓ𝑑 is decided,
we use the following steps to determine ℓ𝑑+1 and each
set 𝑅𝑗,𝑐 for ℓ𝑑 < 𝑐 < ℓ𝑑+1 .
σΈ€ 
(b) Let 𝑅𝑗,ℓ𝑑 = 0, and let 𝑅𝑗,ℓ𝑑 +1 = {π‘žσΈ€  | Γℓ𝑑 +1 ∈ sat(¬Aπ‘ž (πœ‘1 ,
. . . , πœ‘π‘˜ ))}. For each 𝑐 ≥ ℓ𝑑 + 1, let
𝑅𝑗,𝑐+1 = ⋃ {𝛿 (π‘žσΈ€  , π‘Žπ‘  ) | 1 ≤ 𝑠 ≤ π‘˜, Γ𝑐 ∈ sat (πœ‘π‘  )} .
π‘žσΈ€  ∈𝑅𝑗,𝑐
(A.5)
(c) Since we have shown that Γ, 𝑖 ⊨ πœ“ if and only if
πœ‹, 𝑖 ⊨ πœ“ for every πœ“ ∈ sub(πœ‘) ∪ el(πœ“), it is not hard
to show that if 𝑅𝑗,ℓ𝑑 +1 =ΜΈ 0, then there is some 𝑐 > ℓ𝑑 + 1
such that 𝑅𝑗,𝑐 = 0—otherwise (because, if 𝑅𝑗,𝑐 =ΜΈ 0
for each 𝑑 > ℓ𝑑 , using König’s lemma, we may find
σΈ€ 
a run of Aπ‘ž over some infinite word), we can show
σΈ€ 
this implies that Γℓ𝑑 +1 ∈ sat(Aπ‘ž (πœ‘1 , . . . , πœ‘π‘˜ )), which is
contradiction!
If 𝑅𝑗,ℓ𝑑 +1 = 0, let ℓ𝑑+1 = ℓ𝑑 + 1; otherwise, let ℓ𝑑+1 = 𝑐.
According to the construction, it can be examined that
((Γ𝑖 , 𝑅𝑗,𝑖 ), (Γ𝑖+1 , 𝑅𝑗,𝑖+1 )) ∈ Δ−¬πœ‚𝑗 for each 𝑖. In addition, we have
𝑅𝑗,ℓ𝑑 = 0 for each 𝑑 ≥ 0.
Taking all the above into account, by definition, we may
conclude that (𝑠𝑖 , 𝑠𝑖+1 ) ∈ πœŒπœ‘ for every 𝑖 ≥ 0; hence 𝜎 is a fair
path of Tπœ‘ . According to the construction of Γ𝑖 s, we have that
πœ‹ = 𝐿 πœ‘ (𝜎); hence πœ‹ ∈ L(Tπœ‘ ).
Acknowledgments
The authors thank the anonymous reviewers for their helpful
comments on a previous version of this paper. This work
is supported by the NSFC in China under grant number
61103012, 61272335, 61133007, 91118007, 61120106006, the 863
Program 2011AA010106, 2012AA011201, and the Program for
New Century Excellent Talents in University.
References
[1] R. E. Bryant, “Graph-based algorithms for Boolean function
manipulation,” IEEE Transactions on Computers C, vol. 35, no.
8, pp. 677–691, 1986.
[2] K. L. McMillan, Symbolic model checking, an approach to the
state explosion problem [Ph.D. thesis], Carnegie Mellon University, Pittsburgh, Pa, USA; Kluwer Academic, Boston, Mass,
USA, 1993.
[3] A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu, “Symbolic model
checking without BDDs,” in Proceedings of the 5th International
Conference on Tools and Algorithms for the Construction and
Analysis of Systems (TACAS ’99), vol. 1579 of Lecture Notes in
Computer Science, pp. 193–207, Springe, Berlin, Germany, 1999.
[4] P. Wolper, “Temporal logic can be more expressive,” Information
and Control, vol. 56, no. 1-2, pp. 72–99, 1983.
[5] A. Pnueli, “Linear and branching structures in the semantics
and logics of reactive systems,” in International Colloquium on
Automata, Language and Programming, W. Brauer, Ed., vol. 194
of Lecture Notes in Computer Science, pp. 15–32, Springer, Berlin,
Germany, 1985.
[6] O. Lichtenstein, A. Pnueli, and L. Zuck, “The glory of the
past,” in Proceedings of the Workshop on Logics of Programs, vol.
193 of Lecture Notes in Computer Science, pp. 97–107, Springer,
Brooklyn, NY, USA, 1985.
[7] Accellera, “Accellera property languages reference manual,”
June 2004, http://www.eda.org/vfv/docs/PSL-v1.1.pdf.
[8] B. Banieqbal and H. Barringer, “Temporal logic with fixed
points,” in Temporal Logic in Specification, vol. 398 of Lecture
Notes in Computer Science, pp. 62–74, Springer, Berlin, Germany, 1987.
[9] A. P. Sistla, M. Y. Vardi, and P. Wolper, “The complementation
problem for Büchi automata with applications to temporal
logic,” Theoretical Computer Science, vol. 49, no. 2-3, pp. 217–237,
1987.
[10] M. Leucker and C. Sanchez, “Regular linear temporal logic,” in
Proceedings of the 4th International Conference on Theoretical
Aspects of Computing, vol. 4711 of Lecture Notes in Computer
Science, pp. 291–305, Springer, Berlin, Germany, 2007.
12
[11] R. Armoni, L. Fix, A. Flaisher et al., “The ForSpec temporal
logic: a new temporal property-specification language,” in Proceedings of the International Conference on Tools and Algorithms
for Construction and Analysis of Systems (TACAS ’02), vol. 2280
of Lecture Notes in Computer Science, pp. 296–311, Springer,
Berlin, Germany, 2002.
[12] I. Beer, S. Ben-David, C. Eisner, D. Fisman, A. Gringauze, and
Y. Rodeh, “The temporal logic sugar,” in Proceedings of the 13th
International Conference on Computer Aided Verification, G.
Berry, H. Comon, and A. Frinkel, Eds., vol. 2102 of Lecture Notes
in Computer Science, pp. 363–367, Springer, London, UK, 2001.
[13] M. Y. Vardi and P. Wolper, “Reasoning about infinite computations,” Information and Computation, vol. 115, no. 1, pp. 1–37,
1994.
[14] J. R. Büchi, “On a decision method in restricted second order
arithmetic,” in Proceedings of the International Congresses in
Logic, Methodology and Philosophy of Science 1960, pp. 1–12,
Stanford University Press, Palo Alto, Calif, USA, 1962.
[15] W. Liu, J. Wang, and Z. Wang, “Symbolic model checking of
ETL,” Journal of Software, vol. 20, no. 8, pp. 2015–2025, 2009.
[16] W. Liu, J. Wang, H. Chen, X. Ma, and Z. Wang, “Symbolic model
checking APSL,” Frontiers of Computer Science in China, vol. 3,
no. 1, pp. 130–141, 2009.
[17] M. Jehle, J. Johannsen, M. Lange, and N. Rachinsky, “Bounded
model checking for all regular properties,” Electronic Notes in
Theoretical Computer Science, vol. 144, no. 1, pp. 3–18, 2006.
[18] A. Pnueli and A. Zaks, “PSL model checking and run-time
verification via testers,” Formal Methods, Springer, Berlin,
Germany, vol. 4085, pp. 573–586, 2006.
[19] A. Cimatti, M. Roveri, S. Semprini, and S. Tonetta, “From PSL
to NBA: a modular symbolic encoding,” in Formal Methods
in Computer Aided Design (FMCAD ’06), Lecture Notes in
Computer Science, pp. 125–133, Springer, 2006.
[20] E. M. Clarke, O. Grumberg, and K. Hamaguchi, “Another look
at LTL model checking,” in Computer Aided Verification, 6th
International Conference (CAV ’94), vol. 818 of Lecture Notes in
Computer Science, pp. 415–427, Springer, Berlin, Germany, 1994.
[21] A. Biere, K. Heljanko, T. Junttila, T. Latvala, and V. Schuppan,
“Linear encodings of bounded LTL model checking,” Logical
Methods in Computer Science, vol. 2, no. 5, article 5, 2006.
[22] E. Clarke, D. Kroening, J. Ouaknine, and O. Strichman,
“Completeness and complexity of bounded model checking,”
in Verification, Model Checking, and Abstract Interpretation
(VMCAI ’04), vol. 2937 of Lecutre Notes in Computer Science,
pp. 85–96, Springer, Berlin, Germany, 2004.
[23] T. Latvala, A. Biere, K. Heljanko, and T. Junttila, “Simple
bounded LTL model checking,” in Formal Methods in Computer-Aided Design (FMCAD ’04), A. Hu and A. Martin, Eds., vol.
3312 of Lecture Notes in Computer Science, pp. 186–200, Springer,
Berlin, Germany, 2004.
[24] T. Latvala, A. Biere, K. Heljanko, and T. Junttila, “Simple
is better: efficient bounded model checking for past LTL,”
in Verification, Model Checking, and Abstract Interpretation
(VMCAI ’05), vol. 3385 of Lecture Notes in Computer Science,
pp. 380–395, Springer, Berlin, Germany, 2005.
[25] R. Cavada, A. Cimatti, C. A. Jochim et al., “NuSMV 2. 5 user
manual,” April 2010, http://nusmv.fbk.eu/NuSMV/userman/
v25/nusmv.pdf.
[26] K. Heljanko, T. Junttila, and T. Latvala, “Incremental and complete bounded model checking for full PLTL,” in Proceedings of
the 17th International Conference of Computer Aided Verification
Journal of Applied Mathematics
[27]
[28]
[29]
[30]
(CAV ’05), K. Etessami and S. K. Rajamani, Eds., vol. 3576 of
Lecture Notes in Computer Science, pp. 98–111, Springer, Berlin,
Germany, 2005.
Q. Yan, “Lower bounds for complementation of πœ”-automata
via the full automata technique,” Journal of Logical Methods in
Computer Science, vol. 4, no. 1, article 5, 2008.
O. Kupferman and M. Y. Vardi, “Weak alternating automata are
not that weak,” ACM Transactions on Computational Logic, vol.
2, no. 3, pp. 408–429, 2001.
E. Friedgut, O. Kupferman, and M. Y. Vardi, “Büchi complementation made tighter,” in Automated Technology for Verification and Analysis (ATVA ’06), vol. 3299 of Lecture Notes in
Computer Science, pp. 64–78, Springer, Berlin, Germany, 2004.
S. Schewe, “Büchi complementation made tight,” in STACS
2009: 26th International Symposium on Theoretical Aspects of
Computer Science, vol. 3, pp. 661–672, IBFI, 2009.
Advances in
Operations Research
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Advances in
Decision Sciences
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Mathematical Problems
in Engineering
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Journal of
Algebra
Hindawi Publishing Corporation
http://www.hindawi.com
Probability and Statistics
Volume 2014
The Scientific
World Journal
Hindawi Publishing Corporation
http://www.hindawi.com
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
International Journal of
Differential Equations
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Volume 2014
Submit your manuscripts at
http://www.hindawi.com
International Journal of
Advances in
Combinatorics
Hindawi Publishing Corporation
http://www.hindawi.com
Mathematical Physics
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Journal of
Complex Analysis
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
International
Journal of
Mathematics and
Mathematical
Sciences
Journal of
Hindawi Publishing Corporation
http://www.hindawi.com
Stochastic Analysis
Abstract and
Applied Analysis
Hindawi Publishing Corporation
http://www.hindawi.com
Hindawi Publishing Corporation
http://www.hindawi.com
International Journal of
Mathematics
Volume 2014
Volume 2014
Discrete Dynamics in
Nature and Society
Volume 2014
Volume 2014
Journal of
Journal of
Discrete Mathematics
Journal of
Volume 2014
Hindawi Publishing Corporation
http://www.hindawi.com
Applied Mathematics
Journal of
Function Spaces
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Optimization
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Hindawi Publishing Corporation
http://www.hindawi.com
Volume 2014
Download