[PDF] The mu-calculus and model-checking





Previous PDF Next PDF



Calculus.pdf

Mathematics after Calculus. Linear Algebra. Differential Equations. Discrete Mathematics. Study Guide For Chapter 1. Answers to Odd-Numbered Problems.



solutions-Adams-Calculus-A-Complete-Course-8th-Edition-[konkur

to instructors who have adopted Calculus: A Complete Course Eighth Edition



Indiana Academic Standards Mathematics: Calculus

Farvardin 25 1393 AP The college and career ready Indiana Academic Standards for Mathematics: Calculus are the result of a process designed to identify



A Calculus of Sequences

A CALCULUS OF SEQUENCES. By MORGAN WARD. I. Introduction. 1. I propose in this paper to give a generalization of a large portion of the.



The mu-calculus and model-checking

Syntax. The formulas of the logic are constructed using conjunction dis- junction



Some Fiscal Calculus

Some Fiscal Calculus. By Harald Uhlig*. $3.40 of output is lost eventually for every dol- lar of increased government spending when dis-.



Too Much Calculus Calculus I Calculus II

http://web.mit.edu/18.06/www/Essays/too-much-calculus.pdf



Calculus on Arithmetic Surfaces

In [A2] and [A3] Arakelov introduces an intersection calculus for arithmetic surfaces



The Completeness of the First-Order Functional Calculus

propositional calculus (cf. Quine (1)2) for the first-order functional calculus only the original completeness proof of G6del (2) and a variant due to 



The Calculus of Individuals and Its Uses

THE CALCULUS OF INDIVIDUALS AND ITS USES1. HENRY S. LEONARD AND NELSON GOODMAN. I. An individual or whole we understand to be whatever is represented in any.

The mu-calculus and model-checking

Julian Bradeld and Igor Walukiewicz

AbstractThis chapter presents a part of the theory of the mu-calculus that is relevant to the, broadly understood, model-checking problem. The mu-calculus is one of the most important logics in model-checking. It is a logic with an exceptional balance between expressiveness and algorithmic properties. The chapter describes in length the game characterization of the semantics of the mu-calculus. It discusses the theory of the mu-calculus starting with the tree model property, and bisimulation invariance. Then it develops the notion of modal automaton: an automaton-based model behind the mu-calculus. It gives a quite detailed explanation of the satisability algorithm, followed by the results on alternation hierarchy, proof systems, and interpolation. Finally, the chapter discusses the relations of the mu-calculus to monadic second-order logic as well as to some program and temporal logics. It also presents two extensions of the mu-calculus that allow us to address issues such as inverse modalities.

1 Introduction

The mu-calculus is one of the most important logics in model-checking. It is a logic with an exceptional balance between expressiveness and algorithmic properties. In this chapter we present a part of the theory of the mu-calculus that seems to us most relevant to the, broadly understood, model-checking problem.Julian Bradeld Laboratory for Foundations of Computer Science, University of Edinburgh,

Igor Walukiewicz

LaBRI, Bordeaux University

1

2 Julian Bradeld and Igor Walukiewicz

This chapter is divided into three parts. In Section 2 we introduce the logic, and present some basic notions such as: special forms of formulas, vectorial syntax, alternation depth of xpoints. The largest part of this section is con- cerned with a characterization of the semantics of the logic in terms of games. We give a relatively detailed exposition of the characterization, since in our opinion this is one of the central tools in the theory of the mu-calculus. The section ends with an overview of approaches to the model-checking problem for the logic. Section 3 goes deeper into the theory of the mu-calculus. It starts with the tree model property, and bisimulation invariance. Then it develops the notion of modal automaton: an automaton-based model behind the mu-calculus. This model is then often used in the rest of the chapter. We continue the section with a quite detailed explanation of the satisability algorithm. It is followed by the results on alternation hierarchy, proof systems, and interpola- tion. We nish with a division property that is useful for modular verication and synthesis. Section 4 presents the mu-calculus in the larger context. We relate the logic to monadic second-order logic as well as to some program and temporal logics. We also present two extensions of the mu-calculus that allow us to express inverse modalities, some form of equality, or counting. This chapter is short, given the material that we would like to cover. Instead of being exhaustive, we try to focus on concepts and ideas we consider important and interesting from the perspective of broadly understood model- checking problem. Since concepts often give more insight than enumeration of facts, we give quite complete arguments for the main results we present.

2 Basics

In this section we present some basic notions and tools of the theory of the mu-calculus. We discuss some special forms of formulas like guarded or vectorial forms. We introduce also the notion of alternation depth. Much of this section is devoted to a characterization of the semantics of the logic in terms of parity games, and its use in model-checking. The section ends with an overview of model-checking methods and results.

2.1 Syntax and semantics

The-calculus is a logic describing properties of transition systems: poten- tially innite graphs with labeled edges and vertices. Often the edges are calledtransitionsand the verticesstates. Transitions are labeled withac- tions,Act=fa;b;c;:::g, and the states with sets ofpropositions,Prop=

The mu-calculus and model-checking 3

fp1;p2;:::g. Formally, atransition systemis a tuple:

M=hS;fRaga2Act;fPigi2Ni

consisting of a setSof states, a binary relationRaSSdening transitions for every actiona2Act, and a setPiSfor every proposition. A pair (s;s0)2Rais called ana-transition. We require a countable set ofvariables, whose meanings will be sets of states. These can be bound by xpoint operators to form xpoint formulas.

We useVar=fX;Y;Z :::gfor variables.

Syntax.The formulas of the logic are constructed using conjunction, dis- junction, modalities, and xpoint operators. The set of-calculus formulas, F mcis the smallest set containing: pand:pfor all propositionsp2Prop;

Xfor all variablesX2Var;

_as well as^, if,are formulas inFmc; h aiand [a], ifa2Actis an action andis a formula inFmc; X:andX:, ifX2Varis a variable and2 Fmcis a formula. Disambiguating parentheses are added when necessary. It is generally agreed thathaiand [a] bind more tightly than boolean operators, but opinions vary on whetherandbind tighter or looser than booleans. We will assume that they bind looser. For example, consider the important formula `innitely often pon some path', which fully parenthesized isY:X:((p^ haiY)_ haiX).

We shall write it asY:X:(p^ haiY)_ haiX.

We writeX:to stand forX:orX:. We will usettas an abbre- viation of (p1_ :p1), andfor (p1^ :p1). Note that there is no negation operation in the syntax; we just permit negations of propositions. Actually, the operation of the negation of a sentence will turn out to be denable. Semantics.The semantics of the logic is concise and yet of intriguing depth. We will see later that it pays to study it in detail from dierent points of view. A meaning of a formula in a transition system is a set of states satisfying the formula. Since a formula may have free variables, their meaning should be xed before evaluating the formula. As with formulas, the meaning of a variable will be a set of states of the transition system. More formally, given a transition systemM=hS;fRaga2Act;fPigi2Niand a valuationV:

Var! P(S) we dene the meaning of a formula [[]]M

Vby induction on its

structure. The meaning of variables is given by the valuation. The meanings of propositional constants and their negations are given by the transition system. [[X]]M

V=V(X);for everyX2 V;

[[pi]]M

V=Piand [[:pi]]M

V=SPi;for everypi2Prop:

Disjunction and conjunction are interpreted as the union and the intersection:

4 Julian Bradeld and Igor Walukiewicz

[[_]]M

V= [[]]M

V[[[]]M

V[[^]]M

V= [[]]M

V\[[]]M

V: The meaning of modalities is given by transitions. The formulahaiholds in some state if it has an outgoinga-transition to some state satisfying. Dually, the formula [a]holds in some state if all its outgoinga-transitions go to states satisfying: [[hai]]M

V=fs2S:9s0:Ra(s;s0)^s02[[]]M

Vg; [[[a]]]M

V=fs2S:8s0:Ra(s;s0))s02[[]]M

Vg: Finally, theandconstructs are interpreted as xpoints of operators on sets of formulas. A formula(X) containing a free variableXcan be seen as an operator on sets of states mapping a setS0to the semantics ofwhen

Xis interpreted asS0, in symbols:S07![[]]M

V[S0=X]. Since by denition of

the basic operators of the logic this operator is monotonic, it has well dened least and greatest xpoints. Formally, [[X:]]M

V=\fS0S: [[]]M

V[S0=X]S0g;

[[X:]]M

V=[fS0S:S0[[]]M

V[S0=X]g:

We will often writeM;s;Vinstead ofs2[[]]M

V. Moreover we will omit

VorMif it is not important, or clear from the context. Examples:The simplest formulas are just those of modal logic:haittmeans `there is transition labeled bya'. With one xpoint, we can talk about ter- mination properties of paths in a transition system. The formulaX:[a]X means that all sequences ofa-transitions are nite. The formulaY:haiY means that there is an innite sequence ofa-transitions. We can then add a predicatep, and obtainY:p^ haiYformula saying that there is an innite sequence ofa-transitions, and all states in this sequence satisfyp. The for- mulaX:haiXis just false, but the formulaX:p_haiXsays that there is a sequence ofa-transitions leading to a state wherepholds. With two xpoints, we can write fairness formulas, such asY:X:(p^haiY)_haiXmeaning `on somea-path there are innitely many states wherepholds'. Changing the order of xpoints we getX:Y:(p^ haiY)_ haiXsaying `on somea-path almost alwayspholds'. To see why these formulas mean what they do, one can of course use the semantics directly, but it is often easier to use some alternative approaches that we introduce in the following. As these examples suggest, the semantics depends on the order of xpoint operators, and the expressive power increases with the number of xpoints (cf. Section 2.2). Some syntactic conventions.The xpoint operatorsXandXbind occurrences of the variableX, in the sense that the meaning ofX:does not depend on the valuation ofX. We leave to the reader the formal denition

The mu-calculus and model-checking 5

of bound and free occurrence of a variable in a formula. Asentenceis a formula without free variables. In particular, the meaning of a sentence does not depend on the valuation of variables. By[=X] we denote the result of substitution offor every free occurrence ofX; when doing this we suppose that the free variables ofare disjoint from the bound variables of. Clearly X:is equivalent toY:([Y=X]), so we can always make sure that no variable has at the same time a free and a bound occurrence in a formula. In order to underline the dependency of the value ofonX, we will often writeX:(X) instead ofX:. In this context we write() for[=X]. We immediately employ this notation to introduce the idea of unfolding. A xpoint formulaX:(X) is equivalent to itsunfolding,(X:(X)). This is a very useful rule that allows us to \delay" reasoning about xpoints. The equivalence of a formula with its unfolding follows directly from the fact that is a xpoint operator. Of course the same applies forin place of. Semantics based on approximations.There is another very convenient way of dening meanings of xpoint constructs. It comes directly from the Knaster{Tarski theorem characterizing xpoints in a complete lattice in terms of their approximations. Let us start with a denition of formal approx- imations of xpoint formulas:X:(X) andX:(X) for every ordinal. The meaning of0X:(X) is the empty set. The meaning of+1X:(X) is that of(Z) whereZis interpreted asX:(X). Finally, the meaning of X:(X) whenis a limit ordinal is the least upper bound of meanings of X:(X) for < . Similarly forX:(X) but for the fact that0X:(X) is the set of all states, and the greatest lower bound is taken whenis a limit ordinal. Example:Let us look at the meaning of approximations of a formulaX:[a]X:

0X:[a]X=?false

1X:[a]X= [a]?states with noa-path

2X:[a]X= [a][a]?states with noaa-path

!X:[a]X=[ n6 Julian Bradeld and Igor Walukiewicz For a more complex example, consider the formulaY:X:hai((p^Y)_X) which is another way of writing `along somea-path there are innitely many states wherepholds' formula we have seen in the example on page 4. Here we have to calculate the approximations of theformula, and during each such calculation, we have to calculate the approximations of theformula, relative to the currentapproximation. For ease of tabulation, writefor Y:X:hai((p^Y)_X), and;0for0X:(hai((p^Y)_X))[=Y]. Now we have, with some abuse of notation: 0S 0;0?

0;1[[hai((p^S)_0;0)]] = [[haip]]

0;2[[hai((p^S)_0;1)]] = [[hai(p_ haip)]]

1=0;1haieventually(p)

1;1[[hai((p^1)_?)]] = [[hai(p^1)]]

1;2[[hai((p^1)_1;1)]] = [[hai(p^1)_ hai(p^1)]]

2=1;1eventually(p^ haieventually(p))

1innitely oftenp

In this example, `eventuallyp' means `on somea-path,pwill occur'. If the modalityhaiwere replaced by the [a] modality, then it would mean `on every a-path,pwill occur'. Negation.Since the syntax we propose does not have the negation operation, it is useful to see that negation can be dened in the language. We rst dene by induction on the structure a formal negation operation:on formulas and then state that it has the required properties. :(:p) =p:(:X) =X :(_) =:^ ::(^) =:_ : :hai= [a]::[a]=hai: :X:(X) =X::(:X):X:(X) =X::(:X) Observe that when applying this translation to a formula without free vari- ables, the nal result has all variables occurring un-negated, because of the two negations introduced when negating xpoint expressions.

The mu-calculus and model-checking 7

Fact 1 (Denability of negation)For every sentence, every transition systemMover the set of statesS, and every valuationV: [[:]]M

V=S[[]]M

V: Examples:The negation of the `everywhere alwaysp' formulaX:p^[a]Xis :X:p^[a]X=X::(p^[a](:X)) =X::p_ :[a](:X) =X::p_ haiX, the `eventually somewhere:p' formula. For a more complicated example let us come back toY:X:(p^haiY)_ haiXmeaning `along somea-path there are innitely many states wherep holds'. Its negation isY:X:(:p_[a]Y)^[a]Xexpressing, in a slightly cryptic way, `on every path almost always:p'. Special forms of formulas.Let us mention some useful special forms for formulas. First, as we have noted above, we can require that bound and free variables are dierent. We can also require that every variable is bound at most once in a formula. If both of these are the case, we say the formula is well-named. Moreover, we can even ensure that in every formulaX:(X) variableXappears only once in(X). This is becauseX:Y:(X;Y) is equivalent toX:(X;X). Similarly forX:(X). Another useful syntactic property isguardedness. A variableYis guarded in(Y) if all occurrences ofYare preceded (not necessary directly) by a modality. For example,Yis guarded inhaiX:(X^Y^p). A formula is guardedif for every subformulaY:(Y), variableYis guarded in(Y). It turns out that every formula is equivalent to a guarded formula. The algorithm for constructing an equivalent guarded formula uses an operation of removing open occurrences of a variable. An occurrence of a variable isopenif it is neither guarded, nor preceded by a xpoint operator. To see how it works, consider a formulaY:(Y) and suppose we want to obtain an equivalent formula without open occurrences ofYin(Y). For this it suces to replace every open occurrence ofYin(Y) by. To see why this may work, observe thatY:Y^ (Y) is equivalent towhileY:Y_ (Y) is equivalent toY: (Y). Now, due to laws of propositional logic, the formula(Y) is equivalent toY^ (Y) orY_ (Y) for some (Y) with no open occurrence ofY. We get thatY:(Y) is equivalent toY:Y^ (Y) or Y:Y_ (Y). By the observation above, these in turn are equivalent toor to Y: (Y), respectively. The translation forY:(Y) is dual: open occurrences ofYare replaced bytt. To convert a formula to a guarded formula we repeatedly remove open occurrences of variables starting from innermost xpoint formulas. For ex- ample, consider a formulaY:X:(X;Y), where(X;Y) does not have x- point subformulas. We rst remove open occurrences ofXinX:(X;Y). In the obtained formula,X:0(X;Y), all occurrences ofXare guarded as the formula does not have proper xpoint subformulas. In consequence, every occurrence ofYin0(X:(X;Y);Y) is either open or guarded. Hence we

8 Julian Bradeld and Igor Walukiewicz

remove open occurrences ofYinY:0(X:(X;Y);Y) and obtain a guarded formula. Fact 2 (Special form of formulas)Every formula can be transformed to an equivalent guarded, well-named formula. Moreover, one can require that in every subformula of the formX:(X)variableXappears at most once in(X). As observed in [54], contrary to some claims in the literature, the transfor- mation to a guarded form described above can induce an exponential growth in the size of the formula. It is not known if there is a better transformation. Often it is enough to remove open occurrences of bound variables though, and this transformation does not increase the size of the formula. A way of avoiding exponential blowup is to use vectorial syntax described below [109]. Vectorial syntax.The original syntax of the mu-calculus allows us to freely mix all types of operators. In some contexts it is more interesting to have a formula in a prenex form where all the xpoint operators are on the out- side. This is possible in a vectorial syntax we will now introduce. Another advantage of this syntax is that it is in general more compact, as it allows the sharing of common subformulas. Amodal formulais a formula of the mu-calculus without xpoint opera- tors. As we do not allow negation of a variable in the syntax, this formula is positive. A sequence= (1;:::;n) ofnmodal formulas is avectorial mu- calculus formula of heightn. IfX=X1;:::;Xnis a sequence ofnvariables anda vectorial formula of heightnthenX:andX:are vectorial formulas of heightn. The meaning of a vectorial formula of heightnis ann-tuple of sets of states. Apart from that, the semantics is analogous to the scalar (i.e., ordinary) mu-calculus. More precisely, if= (1;:::;n) is a sequence of modal formulas then its meaning in a modelMwith a valuationVis [[1]]M

V [[n]]M

V. Observe that with the variablesXdistinguished, the meaning ofis a function fromP(S)ntoP(S)n. The meaning ofX:is then the least xed-point of this function. Similarly forX:. It turns out that vectorial and scalar mu-calculi have the same expressive power. This is one more example of remarkable closure properties of the logic. The translation from scalar to vectorial formulas is rather direct. One introduces a variable for every subformula and then writes a xpoint formula in the obvious way. The obtained vectorial formula has the property that the rst component of its meaning is exactly the meaning of the scalar formula. The translation in the other direction relies on a repeated use of the so-called

Bekic principle [10]:

X Y :(X;Y) (X;Y) =X:(X;Y:(X;Y))

Y:(X:(X;Y);Y)

The mu-calculus and model-checking 9

This principle allows us to eliminate the prex of xpoint operators. In the result we obtain a vector of formulas. The formula at thei-th coordinate will give the semantics of thei-th coordinate of the original vectorial formula. Fact 3 (Vectorial syntax)Every-calculus formula can be converted to an equivalent vectorial formula. Every vectorial formula can be converted to an equivalent (scalar)-calculus formula. The translation from scalar to vectorial form does not yield a blow-up in size. It is conjectured that vectorial formulas may be exponentially smaller than their scalar equivalents.

2.2 Alternation depth

The examples above suggest that the power for the logic comes from xpoint operators. While most useful properties can be expressed with few xpoints, it is the nesting of the two types of xpoints that is the source of both expressive power and algorithmic diculties. We introduce some notions to state this formally. Letbe a well-named formula. So for every bound variableYwe have a unique subformulaY:Yin; and it makes sense to say thatYis a- variable or a-variable depending on the binder. This syntactic convention makes it easier to dene the notion of alternation depth, otherwise we would need to refer to specic occurrences of variables.

Denition 1

(Al ternationdepth). Thedependency orderon bound vari- ables ofis the smallest partial order such thatXYifXoccurs free in Y: Y. Thealternation depth of a-variableXin formulais the maximal length of a chainX1 XnwhereX=X1, variablesX1;X3;::: are-variables and variablesX2;X4;:::are-variables. Alternation depth of a-variable is dened similarly.Alternation depth of formula, denoted adepth(), is the maximum of alternation depths of variables bound in, or zero if there are no xpoints. Examples:The now-familiar `on somea-path there are innitely many states wherepholds' formulaY:X:(p^ haiY)_ haiXis a canonical example of an alternation depth 2 formula sinceYhas alternation depth 2. Indeed YXin the dependence order, andYis a-variable whileXis a- variable. In contrast, the `there is a path wherepholds almost always' formula X:Y:(p^haiY)_haiXhas alternation depth 1, sinceXdoes not occur free inY:(p^ haiY) and in consequence has alternation depth 1. The following fact gives a rst good reason for this seemingly complicated denition

10 Julian Bradeld and Igor Walukiewicz

Fact 4 (Alternation depth and unfolding)A formulaX:(X)has the same alternation depth as its unfolding(X:(X)). Similarly for the great- est xpoint. Indeed, after renaming bound variables to avoid their repeated use, the depen- dency order of a sentence(X:(X)) is a disjoint union of the dependency order forX:(X) and that for(X). The number of alternations in the latter is not greater than in the former. Alternation depth is a parameter that appears in many contexts. It is crucial in translations between the logic and automata. It induces a hierarchy with respect to expressive power. The complexity of all known model-checking algorithms depends exponentially on this parameter. We will see alternation depth often in this chapter. At the moment let us only observe that this apparently technical denition becomes much more readable in vectorial syntax: the alternation depth is just the number of alternations betweenandin the prex. It is tiresome but not dicult to check that the translations between scalar and vectorial formulas introduced on page 8 preserve alternation depth. There is a commonly seen alternative formulation, analogous to the def- inition of arithmetic hierarchy. Rather than talking about the `alternation depth', we may classify formulas into a hierarchy of nand nclasses ac- cording to the nesting of xpoint operators. So, for example,

1consists of

formulas with onlyxpoints, and

1consists of formulas having onlyx-

points. Then

2is the closure of

1under boolean operations, substitutions,

and. Observe that unlike for arithmetic, we need to explicitly mention sub- stitutions in the denition. Class

2is dened similarly but using closure

under. It can be shown that a formula has alternation depthnif and only if it is syntactically both in n+1and in n+1. Examples:The `always on everya-pathp' formulaX:p^[a]Xis a 1for- mula, and the `on everya-path eventuallyp' formulaX:p_[a]Xis

1; both

are alternation depth 1. However, `on somea-pathpholds almost always' formulaX:Y:(p^ haiY)_ haiXhas also alternation depth 1 but it is neither 1nor

1. It is

2because it can be obtained by substituting the

1and therefore)

2formulaY:(p^haiY) forZin the (

1and therefore)

2formulaX:Z_ haiX. It is also

2, for the same reason. Note also that

the alternation depth 2 formula `on somea-path there are innitely many states wherepholds' writtenY:X:(p^ haiY)_ haiXis

2butnot

2.

2.3 Semantics in terms of games

There are two good reasons why the mu-calculus has the right to its own chapter in this Handbook: expressive power and algorithmic properties. In- deed the logic can encode most of the other logics used in verication, and

The mu-calculus and model-checking 11

still algorithmically it is not substantially more dicult than the others. Nevertheless, the mu-calculus has been relatively slow in gaining acceptance, mainly because of its compact syntax. It is quite dicult to decode the mean- ing of a formula using the semantic clauses presented above. This is why the semantics in terms of games that we introduce here is conceptually very use-

ful.s?[a](p1_(p2^p3))...for allt:sa!tt?p1_(p2^p3)t?p2^p3t?p1t?p2t?p3Fig. 1Game for verifyings?[a](p1_(p2^p3)):

To see what we are aiming at, consider a formula [a](p1_(p2^p3)). Suppose that we want to verify that the formula holds in a statesof some transition systemM. We describe the verication process as a game between two play- ers: Eve and Adam. The goal of Eve will be to show that the formula holds, while Adam aims at the opposite. The game is presented in Figure 1. The positions of Eve are pointed, and those of Adam are square. For example, the initial position belongs to Adam,quotesdbs_dbs50.pdfusesText_50
[PDF] calendar evaluare 2 4 6 2018

[PDF] calendar evaluare nationala 2 4 6 2018

[PDF] calendar evaluare nationala 2017-2018

[PDF] calendar evaluare nationala 2018

[PDF] calendar evaluare nationala ii iv vi 2017

[PDF] calendar simulare bac 2018

[PDF] calendar simulare evaluare nationala 2018

[PDF] calendar simulari bac 2018

[PDF] calendario 2017

[PDF] calendario 2018

[PDF] calendario de noviembre

[PDF] calendario de noviembre del 2017

[PDF] calendario de octubre 2017 para imprimir

[PDF] calendario diciembre 2017

[PDF] calendario diciembre 2017 pdf