Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
152 CHAPTER 6. HML WITH RECURSION<br />
Intuitively, we have so far discovered the (obvious!) fact that p has a possibility of<br />
reaching a state where a livelock may arise because p has a livelock now.<br />
Our second approximation S (2) is obtained by computing the set obtained by<br />
evaluating the expression on the right-h<strong>and</strong> side of equation (6.16) when S =<br />
S (1) = {p}. The result is<br />
S (2) = {p} ∪ 〈·Act·〉{p} = {s, p} .<br />
Intuitively, we have now discovered the new fact that s has a possibility of reaching<br />
a state where a livelock may arise because s has a transition leading to p, which,<br />
as we found out in the previous approximation, has itself a possibility of reaching<br />
a livelock.<br />
You should now be able to convince yourselves that the set {s, p} is ind<strong>ee</strong>d a<br />
fixed point of equation (6.16)—that is, that<br />
{s, p} = {p} ∪ 〈·Act·〉{s, p} .<br />
It follows that {s, p} is the least solution of equation (6.16), <strong>and</strong> that the states s<br />
<strong>and</strong> p are the only ones in our example labelled transition system that satisfy the<br />
formula P os(LivelockNow). This makes perfect sense intuitively because s <strong>and</strong><br />
p are the only states in that labelled transition system that afford a sequence of<br />
transitions leading to a state from which an infinite computation consisting of τlabelled<br />
transitions is possible. (In case of p, this sequence is empty since p can<br />
embark in a τ-loop immediately.)<br />
Note that we could find the set of states satisfying P os(LivelockNow) by first<br />
computing [LivelockNow], <strong>and</strong> then using this set to compute<br />
[P os(LivelockNow)] ,<br />
because the specification of the formula LivelockNow was independent of that<br />
P os(LivelockNow). In general, we can apply this strategy when the collection<br />
of equations can be partitioned into a sequence of ‘blocks’ such that<br />
• the equations in the same block are all either largest fixed point equations or<br />
least fixed equations, <strong>and</strong><br />
• equations in each block only use variables defined in that block or in preceding<br />
ones.<br />
The following definition formalizes this class of systems of equations.<br />
Definition 6.2 A n-nested mutually recursive equational system E is an n-tuple<br />
〈 (D1, X1, m1), (D2, X2, m2), . . . , (Dn, Xn, mn) 〉,<br />
where the Xis are pairwise disjoint, finite sets of variables, <strong>and</strong>, for each 1 ≤ i ≤ n,