Hennessy–Milner logic

From testwiki
Jump to navigation Jump to search

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:

Φ::=𝑡𝑡|𝑓𝑓|Φ1∧Φ2|Φ1∨Φ2|[Act]Φ|⟨Act⟩Φ

That is, a formula can be

constant truth 𝑡𝑡
always true
constant false 𝑓𝑓
always false
formula conjunction
formula disjunction
[Act]Φ formula
for all Act-derivatives, Φ must hold
⟨Act⟩Φ formula
for some Act-derivative, Φ must hold

Formal semantics

Let L=(S,𝖠𝖼𝗍,→) be a labeled transition system (LTS), and let 𝖧𝖬𝖫 be the set of HML formulae. The satisfiability relation ⊨⊆(S×𝖧𝖬𝖫) relates states of the LTS to the formulae they satisfy, and is defined as the smallest relation such that, for all states s∈S and formulae ϕ,ϕ1,ϕ2∈𝖧𝖬𝖫,

  • s⊨𝑡𝑡,
  • there is no state s∈S for which s⊨𝑓𝑓,
  • if there exists a state s′∈S such that s→as′ and s′⊨ϕ, then s⊨⟨a⟩ϕ,
  • if for all s′∈S such that s→as′ it holds that s′⊨ϕ, then s⊨[a]ϕ,
  • if s⊨ϕ1, then s⊨ϕ1∨ϕ2,
  • if s⊨ϕ2, then s⊨ϕ1∨ϕ2,
  • if s⊨ϕ1 and s⊨ϕ2, then s⊨ϕ1∧ϕ2.

See also

References

Sources

  • Template:Cite book
  • 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.


Template:Comp-sci-stub