Jump to content

Modal μ-calculus: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
KLBot2 (talk | contribs)
m Bot: Migrating 1 interwiki links, now provided by Wikidata on d:Q5275729
Algebraic semantics: || x || ===> [\![ x ]\!] denotational semantics
Line 31: Line 31:


Given a labelled transition system <math>(S, R, V)</math> and an interpretation of the variables <math>i : VAR \rightarrow 2^S </math>, we interpret a formula according to the following rules:
Given a labelled transition system <math>(S, R, V)</math> and an interpretation of the variables <math>i : VAR \rightarrow 2^S </math>, we interpret a formula according to the following rules:
* <math>||p||_i = V(p)</math>;
* <math>[\![p]\!]_i = V(p)</math>;
* <math>||\phi \wedge \psi||_i = ||\phi||_i \cap ||\psi||_i</math>;
* <math>[\![\phi \wedge \psi]\!]_i = [\![\phi]\!]_i \cap [\![\psi]\!]_i</math>;
* <math>||\neg \phi||_i = S \backslash ||\phi||_i</math>;
* <math>[\![\neg \phi]\!]_i = S \backslash [\![\phi]\!]_i</math>;
* <math>||[a] \phi||_i = \{s \in S \mid \forall t \in S, (s, t) \in R_a \rightarrow t \in ||\phi||_i\}</math>;
* <math>[\![[a] \phi]\!]_i = \{s \in S \mid \forall t \in S, (s, t) \in R_a \rightarrow t \in [\![\phi]\!]_i\}</math>;
* <math>||\nu Z. \phi||_i = \bigcup \{T \subseteq S \mid T \subseteq ||\phi||_{i[Z := T]}\}</math>, where <math>i[Z := T]</math> maps Z to T while preserving the mappings of <math>i</math> everywhere else.
* <math>[\![\nu Z. \phi]\!]_i = \bigcup \{T \subseteq S \mid T \subseteq [\![\phi]\!]_{i[Z := T]}\}</math>, where <math>i[Z := T]</math> maps Z to T while preserving the mappings of <math>i</math> everywhere else.
By duality, the interpretation of the other basic formulas is:
By duality, the interpretation of the other basic formulas is:
* <math>||\phi \vee \psi||_i = ||\phi||_i \cup ||\psi||_i</math>;
* <math>[\![\phi \vee \psi]\!]_i = [\![\phi]\!]_i \cup [\![\psi]\!]_i</math>;
* <math>||\langle a \rangle \phi||_i = \{s \in S \mid \exists t \in S, (s, t) \in R_a \wedge t \in ||\phi||_i\}</math>;
* <math>[\![\langle a \rangle \phi]\!]_i = \{s \in S \mid \exists t \in S, (s, t) \in R_a \wedge t \in [\![\phi]\!]_i\}</math>;
* <math>||\mu Z. \phi||_i = \bigcap \{T \subseteq S \mid ||\phi||_{i[Z := T]} \subseteq T \}</math>
* <math>[\![\mu Z. \phi]\!]_i = \bigcap \{T \subseteq S \mid [\![\phi]\!]_{i[Z := T]} \subseteq T \}</math>
Less formally, this means that, for a given transition system <math>(S, R, V)</math>:
Less formally, this means that, for a given transition system <math>(S, R, V)</math>:
* <math>p</math> holds in the set of states <math>V(p)</math>;
* <math>p</math> holds in the set of states <math>V(p)</math>;
Line 46: Line 46:
* <math>[a] \phi</math> holds in a state <math>s</math> if every <math>a</math>-transition leading out of <math>s</math> leads to a state where <math>\phi</math> holds.
* <math>[a] \phi</math> holds in a state <math>s</math> if every <math>a</math>-transition leading out of <math>s</math> leads to a state where <math>\phi</math> holds.
* <math>\langle a\rangle \phi</math> holds in a state <math>s</math> if there exists <math>a</math>-transition leading out of <math>s</math> that leads to a state where <math>\phi</math> holds.
* <math>\langle a\rangle \phi</math> holds in a state <math>s</math> if there exists <math>a</math>-transition leading out of <math>s</math> that leads to a state where <math>\phi</math> holds.
* <math>\nu Z.\phi</math> holds in any state in any set <math>T</math> such that, when the variable <math>Z</math> is set to <math>T</math>, then <math>\phi</math> holds for all of <math>T</math>. (From the [[Knaster–Tarski theorem]] it follows that <math>||\nu Z.\phi||_i</math> is the greatest [[fixpoint]] of <math>||\phi||_{i[Z := T]}</math>, and <math>||\mu Z. \phi||_i</math> its least fixpoint.)
* <math>\nu Z.\phi</math> holds in any state in any set <math>T</math> such that, when the variable <math>Z</math> is set to <math>T</math>, then <math>\phi</math> holds for all of <math>T</math>. (From the [[Knaster–Tarski theorem]] it follows that <math>[\![\nu Z.\phi]\!]_i</math> is the greatest [[fixpoint]] of <math>[\![\phi]\!]_{i[Z := T]}</math>, and <math>[\![\mu Z. \phi]\!]_i</math> its least fixpoint.)


The interpretations of <math>[a] \phi</math> and <math>\langle a\rangle \phi</math> are if fact the "classical" ones from [[Dynamic logic (modal logic)|dynamic logic]]. Additionally, the operator μ can be interpreted as [[liveness]] ("something good eventually happens") and ν as [[safety (computer science)|safety]] ("nothing bad ever happens") in [[Leslie Lamport]]'s informal classification.<ref>Bradfield and Stirling, p. 731</ref>
The interpretations of <math>[a] \phi</math> and <math>\langle a\rangle \phi</math> are if fact the "classical" ones from [[Dynamic logic (modal logic)|dynamic logic]]. Additionally, the operator μ can be interpreted as [[liveness]] ("something good eventually happens") and ν as [[safety (computer science)|safety]] ("nothing bad ever happens") in [[Leslie Lamport]]'s informal classification.<ref>Bradfield and Stirling, p. 731</ref>

Revision as of 18:49, 7 June 2013

In theoretical computer science, the modal μ-calculus (, Lμ, sometimes just μ-calculus, although this can have a more general meaning) is an extension of propositional modal logic (with many modalities) by adding a least fixpoint operator μ and a greatest fixpoint operator , thus a fixed-point logic.

The (propositional, modal) μ-calculus originates with Dana Scott and Jaco de Bakker,[1] and was further developed by Dexter Kozen into the version most used nowadays. It is used to describe properties of labelled transition systems and for verifying these properties. Many temporal logics can be encoded in the μ-calculus, including CTL* and its widely used fragments—linear temporal logic and computational tree logic.[2]

An algebraic view is to see it as an algebra of monotonic functions over a complete lattice, with operators consisting of functional composition plus the least and greatest fixed point operators; from this viewpoint, the modal μ-calculus is over the lattice of a power set algebra.[3] The game semantics of μ-calculus is related to two-player games with perfect information, particularly infinite parity games.[4]

Syntax

Let P (propositions) and A (actions) be two finite sets of symbols, and let V be a countably infinite set of variables. The set of formulas of (propositional, modal) μ-calculus is defined as follows:

  • each proposition and each variable is a formula;
  • if and are formulas, then is a formula.
  • if is a formula, then is a formula;
  • if is a formula and is an action, then is a formula;
  • if is a formula and a variable, then is a formula, provided that every free occurrence of in occurs positively, i.e. within the scope of an even number of negations.

(The notions of free and bound variables are as usual, where is the only binding operator.)

Given the above definitions, we can enrich the syntax with:

  • meaning
  • meaning
  • means , where means substituting for Z in all free occurrences of Z in .

The first two formulas are the familiar ones from the classical propositional calculus and respectively the minimal multimodal logic K.

The notation (and its dual) are inspired from the lambda calculus; the intent is to denote the least (and respectively greatest) fixed point of the expression where the "minimization" (and respectively "maximization") are in the variable Z, much like in lambda calculus is a function with formula in bound variable Z;[5] see the algebraic semantics below for details.

Algebraic semantics

Models of (propositional) μ-calculus is given are labelled transition systems where:

  • is a set of states;
  • maps to each label a relation on ;
  • maps to each proposition the set of states where the proposition is true.

Given a labelled transition system and an interpretation of the variables , we interpret a formula according to the following rules:

  • ;
  • ;
  • ;
  • ;
  • , where maps Z to T while preserving the mappings of everywhere else.

By duality, the interpretation of the other basic formulas is:

  • ;
  • ;

Less formally, this means that, for a given transition system :

  • holds in the set of states ;
  • holds in every state where and both hold;
  • holds in every state where does not hold.
  • holds in a state if every -transition leading out of leads to a state where holds.
  • holds in a state if there exists -transition leading out of that leads to a state where holds.
  • holds in any state in any set such that, when the variable is set to , then holds for all of . (From the Knaster–Tarski theorem it follows that is the greatest fixpoint of , and its least fixpoint.)

The interpretations of and are if fact the "classical" ones from dynamic logic. Additionally, the operator μ can be interpreted as liveness ("something good eventually happens") and ν as safety ("nothing bad ever happens") in Leslie Lamport's informal classification.[6]

Examples

  • is interpreted as " is true along every a-path".[7]
  • is interpreted as the existence of a path along a-transitions to a state where holds.[8]
  • The property of a system of being deadlock-free, understood as having no states without outgoing transitions and furthermore there does not exists a path to such a state, is expressed by formula[8]

Satisfiability

Satisfiability of a modal μ-calculus formula is EXPTIME-complete.[9]

See also

Notes

  1. ^ Kozen p. 333.
  2. ^ Clarke p.108, Theorem 6; Emerson p. 196
  3. ^ Arnold and Niwiński, pp. viii-x and chapter 6
  4. ^ Arnold and Niwiński, pp. viii-x and chapter 4
  5. ^ Arnold and Niwiński, p. 14
  6. ^ Bradfield and Stirling, p. 731
  7. ^ Bradfield and Stirling, p. 731
  8. ^ a b Erich Grädel; Phokion G. Kolaitis; Leonid Libkin (2007). Finite Model Theory and Its Applications. Springer. p. 159. ISBN 978-3-540-00428-8. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  9. ^ Klaus Schneider (2004). Verification of reactive systems: formal methods and algorithms. Springer. p. 521. ISBN 978-3-540-00296-3.

References

  • Clarke, Jr., Edmund M. (1999). Model Checking. Cambridge, Massachusetts, USA: MIT press. ISBN 0-262-03270-8. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help), chapter 7, Model checking for the μ-calculus, pp. 97-108
  • Stirling, Colin. (2001). Modal and Temporal Properties of Processes. New York, Berlin, Heidelberg: Springer Verlag. ISBN 0-387-98717-7., chapter 5, Modal μ-calculus, pp. 103-128
  • André Arnold; Damian Niwiński (2001). Rudiments of μ-Calculus. Elsevier. ISBN 978-0-444-50620-7., chapter 6, The μ-calculus over powerset algebras, pp. 141-153 is about the modal μ-calculus
  • Yde Venema (2008) Lectures on the Modal μ-calculus; the 2006 version was presented at The 18th European Summer School in Logic, Language and Information
  • Bradfield, Julian and Stirling, Colin (2006). "Modal mu-calculi". In P. Blackburn, J. van Benthem and F. Wolter (eds.) (ed.). The Handbook of Modal Logic. Elsevier. pp. 721–756. {{cite book}}: |editor= has generic name (help)CS1 maint: multiple names: authors list (link)
  • Emerson, E. Allen (1996). "Model Checking and the Mu-calculus". Descriptive Complexity and Finite Models. American Mathematical Society. pp. 185–214. ISBN 0-8218-0517-7. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  • Kozen, Dexter (1983). "Results on the Propositional μ-Calculus". Theoretical Computer Science. 27 (3): 333–354. doi:10.1016/0304-3975(82)90125-6.