Hennessy–Milner logic

From HandWiki

In computer science, Hennessy–Milner logic (HML) is a dynamic logic used to specify properties of a labeled transition system (LTS), a structure similar to an automaton. It was introduced in 1980 by Matthew Hennessy and Robin Milner in their paper "On observing nondeterminism and concurrency"[1] (ICALP). Another variant of the HML involves the use of recursion to extend the expressibility of the logic, and is commonly referred to as 'Hennessy-Milner Logic with recursion'.[2] Recursion is enabled with the use of maximum and minimum fixed points.

Syntax

A formula is defined by the following BNF grammar for Act some set of actions:

[math]\displaystyle{ \Phi ::= \textit{tt} \,\,\, | \,\,\,\textit{ff}\,\,\, | \,\,\,\Phi_1 \land \Phi_2 \,\,\, | \,\,\,\Phi_1 \lor \Phi_2\,\,\, | \,\,\,[Act] \Phi\,\,\, | \,\,\, \langle Act \rangle \Phi }[/math]

That is, a formula can be

constant truth [math]\displaystyle{ \textit{tt} }[/math]
always true
constant false [math]\displaystyle{ \textit{ff} }[/math]
always false
formula conjunction
formula disjunction
[math]\displaystyle{ \scriptstyle{[Act]\Phi} }[/math] formula
for all Act-derivatives, Φ must hold
[math]\displaystyle{ \scriptstyle{\langle Act \rangle \Phi} }[/math] formula
for some Act-derivative, Φ must hold

Formal semantics

Let [math]\displaystyle{ L = (S, \mathsf{Act}, \rightarrow) }[/math] be a labeled transition system, and let [math]\displaystyle{ \mathsf{HML} }[/math] be the set of HML formulae. The satisfiability relation [math]\displaystyle{ {} \models {} \subseteq (S \times \mathsf{HML}) }[/math] relates states of the LTS to the formulae they satisfy, and is defined as the smallest relation such that, for all states [math]\displaystyle{ s \in S }[/math] and formulae [math]\displaystyle{ \phi, \phi_1, \phi_2 \in \mathsf{HML} }[/math],

  • [math]\displaystyle{ s \models \textit{tt} }[/math],
  • there is no state [math]\displaystyle{ s \in S }[/math] for which [math]\displaystyle{ s \models \textit{ff} }[/math],
  • if there exists a state [math]\displaystyle{ s' \in S }[/math] such that [math]\displaystyle{ s \xrightarrow{a} s' }[/math] and [math]\displaystyle{ s' \models \phi }[/math], then [math]\displaystyle{ s \models \langle a \rangle \phi }[/math],
  • if for all [math]\displaystyle{ s' \in S }[/math] such that [math]\displaystyle{ s \xrightarrow{a} s' }[/math] it holds that [math]\displaystyle{ s' \models \phi }[/math], then [math]\displaystyle{ s \models [ a ] \phi }[/math],
  • if [math]\displaystyle{ s \models \phi_1 }[/math], then [math]\displaystyle{ s \models \phi_1 \lor \phi_2 }[/math],
  • if [math]\displaystyle{ s \models \phi_2 }[/math], then [math]\displaystyle{ s \models \phi_1 \lor \phi_2 }[/math],
  • if [math]\displaystyle{ s \models \phi_1 }[/math] and [math]\displaystyle{ s \models \phi_2 }[/math], then [math]\displaystyle{ s \models \phi_1 \land \phi_2 }[/math].

See also

References

  1. Hennessy, Matthew; Milner, Robin (1980-07-14). "On observing nondeterminism and concurrency" (in en). Automata, Languages and Programming. Lecture Notes in Computer Science. 85. Springer, Berlin, Heidelberg. pp. 299–309. doi:10.1007/3-540-10003-2_79. ISBN 978-3540100034. 
  2. Holmström, Sören (1990). "Hennessy-Milner Logic with recursion as a specification language, and a refinement calculus based on it". Specification and Verification of Concurrent Systems. Workshops in Computing. pp. 294–330. doi:10.1007/978-1-4471-3534-0_15. ISBN 978-3-540-19581-8. 

Sources