In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, Hennessy–Milner logic (HML) is a
dynamic logic used to specify properties of a
labeled transition system (LTS), a structure similar to an
automaton
An automaton (; plural: automata or automatons) is a relatively self-operating machine, or control mechanism designed to automatically follow a sequence of operations, or respond to predetermined instructions.Automaton – Definition and More ...
. It was introduced in 1980 by
Matthew Hennessy
Matthew Hennessy is an Irish computer scientist who has contributed especially to concurrency, process calculi and programming language semantics.
Career
During 1976–77, Matthew Hennessy was an assistant professor at the University of Water ...
and
Robin Milner
Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010), known as Robin Milner or A. J. R. G. Milner, was a British computer scientist, and a Turing Award winner. in their paper "On observing nondeterminism and concurrency"
(
ICALP
ICALP, the International Colloquium on Automata, Languages, and Programming is an academic conference organized annually by the European Association for Theoretical Computer Science and held in different locations around Europe. Like most theoret ...
).
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'.
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:
:
That is, a formula can be
; constant truth
: always true
; constant false
: always false
; formula
conjunction
Conjunction may refer to:
* Conjunction (grammar), a part of speech
* Logical conjunction, a mathematical operator
** Conjunction introduction, a rule of inference of propositional logic
* Conjunction (astronomy), in which two astronomical bodies ...
; formula
disjunction
In logic, disjunction is a logical connective typically notated as \lor and read aloud as "or". For instance, the English language sentence "it is raining or it is snowing" can be represented in logic using the disjunctive formula R \lor ...
;
formula : for all ''Act''-derivatives, ''Φ'' must hold
;
formula : for some ''Act''-derivative, ''Φ'' must hold
Formal semantics
Let
be a
labeled transition system, and let
be the set of HML formulae. The satisfiability
relation
relates states of the LTS
to the formulae they satisfy, and is defined as the smallest relation such that, for all states
and formulae
,
*
,
* there is no state
for which
,
* if there exists a state
such that
and
, then
,
* if for all
such that
it holds that
, then
,
* if
, then
,
* if
, then
,
* if
and
, then
.
See also
* The
modal μ-calculus In theoretical computer science, the modal μ-calculus (Lμ, Lμ, sometimes just μ-calculus, although this can have a more general meaning) is an extension of propositional modal logic (with many modalities) by adding the least fixed point operat ...
, which extends HML with
fixed point operators
*
Dynamic logic, a multimodal logic with infinitely many modalities
References
Sources
*
* Sören Holmström. 1988. "Hennessy-Milner Logic with Recursion as a Specification Language, and a Refinement Calculus based on It". In ''Proceedings of the BCS-FACS Workshop on Specification and Verification of Concurrent Systems'', Charles Rattray (Ed.). Springer-Verlag, London, UK, 294–330.
Concurrency (computer science)
Formal specification
Modal logic
Logic in computer science
{{comp-sci-stub