|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| In [[theoretical computer science]], the '''modal μ-calculus''' ('''Lμ''', '''L<sub>μ</sub>''', sometimes just '''μ-calculus''', although this can have a more general meaning) is an extension of [[propositional logic|propositional]] [[modal logic]] (with [[Multimodal logic|many modalities]]) by adding a [[least fixpoint]] operator μ and a [[greatest fixpoint]] operator <math>\nu</math>, thus a [[fixed-point logic]].
| | Emilia Shryock is my name but you can call me something you like. The favorite pastime for my children and me is to perform baseball and I'm attempting to make it a profession. For many years he's been living in North Dakota and his family enjoys it. Supervising is my profession.<br><br>Visit my web-site :: at home std test [[http://phpfoxdev.azurewebsites.net/index.php?do=/profile-44231/info/ find more information]] |
| | |
| The (propositional, modal) μ-calculus originates with [[Dana Scott]] and [[Jaco de Bakker]],<ref>Kozen p. 333.</ref> and was further developed by [[Dexter Kozen]] into the version most used nowadays. It is used to describe properties of [[labelled transition system]]s and for [[model checking|verifying]] these properties. Many [[temporal logic]]s can be encoded in the μ-calculus, including [[CTL*]] and its widely used fragments—[[linear temporal logic]] and [[computational tree logic]].<ref>Clarke p.108, Theorem 6; Emerson p. 196</ref>
| |
| | |
| An algebraic view is to see it as an [[universal algebra|algebra]] of [[monotonic function]]s 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]].<ref>Arnold and Niwiński, pp. viii-x and chapter 6</ref> The [[game semantics]] of μ-calculus is related to [[two-player game]]s with [[perfect information]], particularly infinite [[parity game]]s.<ref>Arnold and Niwiński, pp. viii-x and chapter 4</ref>
| |
| | |
| == 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 <math>\phi</math> and <math>\psi</math> are formulas, then <math>\phi \wedge \psi</math> is a formula.
| |
| * if <math>\phi</math> is a formula, then <math>\neg \phi</math> is a formula;
| |
| * if <math>\phi</math> is a formula and <math>a</math> is an action, then <math>[a] \phi</math> is a formula;(pronounced either: <math>a</math> box <math>\phi </math> or after <math>a</math> necessarily <math>\phi</math>)
| |
| * if <math>\phi</math> is a formula and <math>Z</math> a variable, then <math>\nu Z. \phi</math> is a formula, provided that every free occurrence of <math>Z</math> in <math>\phi</math> occurs positively, i.e. within the scope of an even number of negations.
| |
| | |
| (The notions of free and bound variables are as usual, where <math>\nu</math> is the only binding operator.)
| |
| | |
| Given the above definitions, we can enrich the syntax with:
| |
| * <math>\phi \lor \psi</math> meaning <math>\neg (\neg \phi \land \neg \psi)</math>
| |
| * <math>\langle a \rangle \phi</math> (pronounced either: <math>a</math> diamond <math>\phi </math> or after <math>a</math> possibly <math>\phi</math>) meaning <math>\neg [a] \neg \phi</math>
| |
| * <math>\mu Z. \phi</math> means <math>\neg \nu Z. \neg \phi [Z:=\neg Z]</math>, where <math>\phi [Z:=\neg Z]</math> means substituting <math>\neg Z</math> for ''Z'' in all [[free occurrence]]s of ''Z'' in <math>\phi </math>.
| |
| | |
| The first two formulas are the familiar ones from the classical [[propositional calculus]] and respectively the minimal [[multimodal logic]] '''K'''.
| |
| | |
| The notation <math>\mu Z. \phi</math> (and its dual) are inspired from the [[lambda calculus]]; the intent is to denote the least (and respectively greatest) fixed point of the expression <math>\phi</math> where the "minimization" (and respectively "maximization") are in the variable ''Z'', much like in lambda calculus <math>\lambda Z. \phi</math> is a function with formula <math>\phi</math> in [[Lambda_calculus#Free_and_bound_variables|bound variable]] ''Z'';<ref>Arnold and Niwiński, p. 14</ref> see the denotational semantics below for details.
| |
| | |
| == Denotational semantics ==
| |
| Models of (propositional) μ-calculus is given are [[labelled transition system]]s <math>(S, R, V)</math> where:
| |
| * <math>S</math> is a set of states;
| |
| * <math>R</math> maps to each label <math>a</math> a relation on <math>S</math>;
| |
| * <math> V : \mbox{Var} \rightarrow 2^S </math>, maps to each proposition <math>p \in \mbox{Prop}</math> the set of states where the proposition is true.
| |
| | |
| Given a labelled transition system <math>(S, R, V)</math> and an interpretation of the fórmulas <math>\phi</math> of <math>\mu</math>-calculus, <math>[\![\underline{~\,}]\!]_i : \phi \rightarrow 2^S </math>, is the function definded by the following rules:
| |
| * <math>[\![p]\!]_i = V(p)</math>;
| |
| * <math>[\![\phi \wedge \psi]\!]_i = [\![\phi]\!]_i \cap [\![\psi]\!]_i</math>;
| |
| * <math>[\![\neg \phi]\!]_i = S \smallsetminus [\![\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.
| |
| By duality, the interpretation of the other basic formulas is:
| |
| * <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>[\![\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>:
| |
| * <math>p</math> holds in the set of states <math>V(p)</math>;
| |
| * <math>\phi \wedge \psi</math> holds in every state where <math>\phi</math> and <math>\psi</math> both hold;
| |
| * <math>\neg \phi</math> holds in every state where <math>\phi</math> does not hold.
| |
| * <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>\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 name="Bradfield and Stirling, p. 731">Bradfield and Stirling, p. 731</ref>
| |
| | |
| === Examples ===
| |
| * <math>\nu Z.\phi \wedge [a]Z</math> is interpreted as "<math>\phi</math> is true along every ''a''-path".<ref name="Bradfield and Stirling, p. 731"/>
| |
| * <math>\mu Z.\phi \vee \langle a \rangle Z</math> is interpreted as the existence of a path along ''a''-transitions to a state where <math>\phi</math> holds.<ref name="GrädelKolaitis2007"/>
| |
| * 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<ref name="GrädelKolaitis2007">{{cite book|author1=Erich Grädel|author2=Phokion G. Kolaitis|author3=Leonid Libkin|coauthors=Maarten Marx, Joel Spencer, Moshe Y. Vardi, Yde Venema, Scott Weinstein|title=Finite Model Theory and Its Applications|url=http://books.google.com/books?id=e6ST-AVC27AC&pg=PA159|year=2007|publisher=Springer|isbn=978-3-540-00428-8|page=159}}</ref>
| |
| *: <math>\nu Z.(\bigvee_{a\in A}\langle a\rangle\top\wedge \bigwedge_{a\in A}[a]Z)</math>
| |
| | |
| ==Satisfiability==
| |
| [[Satisfiability]] of a modal μ-calculus formula is [[EXPTIME-complete]].<ref name="Schneider2004">{{cite book|author=Klaus Schneider|title=Verification of reactive systems: formal methods and algorithms|url=http://books.google.com/books?id=Z92bL1VrD_sC&pg=PA521|year=2004|publisher=Springer|isbn=978-3-540-00296-3|page=521}}</ref>
| |
| | |
| == See also ==
| |
| * [[Finite model theory]]
| |
| * [[Alternation-free modal μ-calculus]]
| |
| | |
| ==Notes==
| |
| <references/>
| |
| | |
| ==References==
| |
| *{{cite book
| |
| | last = Clarke, Jr.
| |
| | first = Edmund M.
| |
| | coauthors = Orna Grumberg, Doron A. Peled
| |
| | title = Model Checking
| |
| | year = 1999
| |
| | publisher = MIT press
| |
| | location = Cambridge, Massachusetts, USA
| |
| | isbn = 0-262-03270-8
| |
| }}, chapter 7, Model checking for the μ-calculus, pp. 97–108
| |
| *{{cite book
| |
| | last = Stirling
| |
| | first = Colin.
| |
| | title = Modal and Temporal Properties of Processes
| |
| | year = 2001
| |
| | publisher = Springer Verlag
| |
| | location = New York, Berlin, Heidelberg
| |
| | isbn = 0-387-98717-7
| |
| }}, chapter 5, Modal μ-calculus, pp. 103–128
| |
| * {{cite book|author1=André Arnold|author2=Damian Niwiński|title=Rudiments of μ-Calculus|year=2001|publisher=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) [http://philo.ruc.edu.cn/logic/reading/Yde/mu0612.pdf Lectures on the Modal μ-calculus]; was presented at The 18th European Summer School in Logic, Language and Information
| |
| *{{cite book
| |
| | author = Bradfield, Julian and Stirling, Colin
| |
| | year = 2006
| |
| | chapter = Modal mu-calculi
| |
| | title = The Handbook of Modal Logic
| |
| | editor = P. Blackburn, J. van Benthem and F. Wolter (eds.)
| |
| | publisher = [[Elsevier]]
| |
| | pages = 721–756
| |
| | url = http://homepages.inf.ed.ac.uk/jcb/Research/pubs.html#mlh-chapter
| |
| }}
| |
| *{{cite conference
| |
| | first = E. Allen
| |
| | last = Emerson
| |
| | title = Model Checking and the Mu-calculus
| |
| | booktitle = Descriptive Complexity and Finite Models
| |
| | year = 1996
| |
| | pages = 185–214
| |
| | publisher = [[American Mathematical Society]]
| |
| | isbn = 0-8218-0517-7
| |
| }}
| |
| *{{cite journal
| |
| | author = Kozen, Dexter
| |
| | year = 1983
| |
| | title = Results on the Propositional μ-Calculus
| |
| | journal = [[Theoretical Computer Science (journal)|Theoretical Computer Science]]
| |
| | volume = 27
| |
| | issue = 3
| |
| | pages = 333–354
| |
| | doi = 10.1016/0304-3975(82)90125-6
| |
| }}
| |
| | |
| == External links ==
| |
| * Sophie Pinchinat, [http://videolectures.net/ssll09_pinchinat_lag/ Logic, Automata & Games] video recording of a lecture at ANU Logic Summer School '09
| |
| | |
| [[Category:Modal logic]]
| |
| [[Category:Model checking]]
| |