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.
CHAPTER 6. HML WITH RECURSION 119<br />
• Does (6.1) have a solution? And what precisely do we mean by that?<br />
• If (6.1) has more than one solution, which one do we choose?<br />
• How can we compute whether a process satisfies the formula described by<br />
(6.1)?<br />
Precise answers to these questions will be given in the remainder of this chapter.<br />
However, to motivate our subsequent technical developments, it is appropriate here<br />
to discuss briefly the first two questions above.<br />
Recall that the meaning of a formula (with respect to a labelled transition system)<br />
is the set of processes that satisfy it. Therefore, it is natural to expect that a<br />
set S of processes that satisfy the formula described by equation (6.1) should be<br />
such that:<br />
S = 〈·a·〉Proc ∩ [·a·]S .<br />
It is clear that S = ∅ is a solution to the equation (as no process can satisfy both<br />
〈a〉tt <strong>and</strong> [a]ff). However, the process p on Figure 6.1 can perform an a-transition<br />
invariantly <strong>and</strong> p ∈ ∅, so this cannot be the solution we are looking for. Actually<br />
it turns out that it is the largest solution we n<strong>ee</strong>d here, namely S = {p}. The set<br />
S = ∅ is the least solution.<br />
In other cases it is the least solution we are interested in. For instance, we can<br />
express Pos([a]ff) by the following equation:<br />
Y ≡ [a]ff ∨ 〈a〉Y .<br />
Here the largest solution is Y = {p, q, r} but, as the process p on Figure 6.1 cannot<br />
terminate at all, this is clearly not the solution we are interested in. The least<br />
solution of the above equation over the labelled transition system on Figure 6.1 is<br />
Y = {q, r} <strong>and</strong> is exactly the set of processes in that labelled transition system that<br />
intuitively satisfy Pos([a]ff).<br />
When we write down a recursively defined property, we can indicate whether<br />
we desire the least or the largest solution by adding this information to the equality<br />
sign. For Inv(〈a〉tt) we want the largest solution, <strong>and</strong> in this case we write<br />
For Pos([a]ff) we will write<br />
X max<br />
= 〈a〉tt ∧ [a]X .<br />
Y min<br />
= [a]ff ∨ 〈a〉Y .<br />
More generally we can express that the formula F holds for each reachable state<br />
in a labelled transition system having set of actions Act (written Inv(F ), <strong>and</strong> read