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.
A formula is defined by the following BNF grammar for Act some set of actions:
\Phi::=it{tt}|it{ff}|\Phi1\land\Phi2|\Phi1\lor\Phi2|[Act]\Phi|\langleAct\rangle\Phi
That is, a formula can be
it{tt}
it{ff}
\scriptstyle{[Act]\Phi}
\scriptstyle{\langleAct\rangle\Phi}
Let
L=(S,Act, → )
HML
{}\models{}\subseteq(S x HML)
s\inS
\phi,\phi1,\phi2\inHML
s\modelsit{tt}
s\inS
s\modelsit{ff}
s'\inS
s\xrightarrow{a}s'
s'\models\phi
s\models\langlea\rangle\phi
s'\inS
s\xrightarrow{a}s'
s'\models\phi
s\models[a]\phi
s\models\phi1
s\models\phi1\lor\phi2
s\models\phi2
s\models\phi1\lor\phi2
s\models\phi1
s\models\phi2
s\models\phi1\land\phi2