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 operator μ and the greatest fixed point operator ν, thus a fixed-point logic.

The (propositional, modal) μ-calculus originates with Dana Scott and Jaco de Bakker, 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&mdash;linear temporal logic and computational tree logic.

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. The game semantics of μ-calculus is related to two-player games with perfect information, particularly infinite parity games.

Syntax
Let P (propositions) and A (actions) be two finite sets of symbols, and let Var 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 $$\phi$$ and $$\psi$$ are formulas, then $$\phi \wedge \psi$$ is a formula;
 * if $$\phi$$ is a formula, then $$\neg \phi$$ is a formula;
 * if $$\phi$$ is a formula and $$a$$ is an action, then $$[a] \phi$$ is a formula; (pronounced either: $$a$$ box $$\phi $$ or after $$a$$ necessarily $$\phi$$)
 * if $$\phi$$ is a formula and $$Z$$ a variable, then $$\nu Z. \phi$$ is a formula, provided that every free occurrence of $$Z$$ in $$\phi$$ occurs positively, i.e. within the scope of an even number of negations.

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

Given the above definitions, we can enrich the syntax with:
 * $$\phi \lor \psi$$ meaning $$\neg (\neg \phi \land \neg \psi)$$
 * $$\langle a \rangle \phi$$ (pronounced either: $$a$$ diamond $$\phi $$ or after $$a$$ possibly $$\phi$$) meaning $$\neg [a] \neg \phi$$
 * $$\mu Z. \phi$$ means $$\neg \nu Z. \neg \phi [Z:=\neg Z]$$, where $$\phi [Z:=\neg Z]$$ means substituting $$\neg Z$$ for $$Z$$ in all free occurrences of $$Z$$ in $$\phi $$.

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

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

Denotational semantics
Models of (propositional) μ-calculus are given as labelled transition systems $$(S, R, V)$$ where:


 * $$S$$ is a set of states;
 * $$R$$ maps to each label $$a$$ a binary relation on $$S$$;
 * $$ V : P \to 2^S$$, maps each proposition $$p \in P$$ to the set of states where the proposition is true.

Given a labelled transition system $$(S, R, V)$$ and an interpretation $$i$$ of the variables $$Z$$ of the $$\mu$$-calculus, $$[\![\cdot]\!]_i:\phi \to 2^S$$, is the function defined by the following rules:


 * $$[\![p]\!]_i = V(p)$$;
 * $$[\![Z]\!]_i = i(Z)$$;
 * $$[\![\phi \wedge \psi]\!]_i = [\![\phi]\!]_i \cap [\![\psi]\!]_i$$;
 * $$[\![\neg \phi]\!]_i = S \smallsetminus [\![\phi]\!]_i$$;
 * $$[\![[a] \phi]\!]_i = \{s \in S \mid \forall t \in S, (s, t) \in R_a \rightarrow t \in [\![\phi]\!]_i\}$$;
 * $$[\![\nu Z. \phi]\!]_i = \bigcup \{T \subseteq S \mid T \subseteq [\![\phi]\!]_{i[Z := T]}\}$$, where $$i[Z := T]$$ maps $$Z$$ to $$T$$ while preserving the mappings of $$i$$ everywhere else.

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


 * $$[\![\phi \vee \psi]\!]_i = [\![\phi]\!]_i \cup [\![\psi]\!]_i$$;
 * $$[\![\langle a \rangle \phi]\!]_i = \{s \in S \mid \exists t \in S, (s, t) \in R_a \wedge t \in [\![\phi]\!]_i\}$$;
 * $$[\![\mu Z. \phi]\!]_i = \bigcap \{T \subseteq S \mid [\![\phi]\!]_{i[Z := T]} \subseteq T \}$$

Less formally, this means that, for a given transition system $$(S, R, V)$$:


 * $$p$$ holds in the set of states $$V(p)$$;
 * $$\phi \wedge \psi$$ holds in every state where $$\phi$$ and $$\psi$$ both hold;
 * $$\neg \phi$$ holds in every state where $$\phi$$ does not hold.
 * $$[a] \phi$$ holds in a state $$s$$ if every $$a$$-transition leading out of $$s$$ leads to a state where $$\phi$$ holds.
 * $$\langle a\rangle \phi$$ holds in a state $$s$$ if there exists $$a$$-transition leading out of $$s$$ that leads to a state where $$\phi$$ holds.
 * $$\nu Z.\phi$$ holds in any state in any set $$T$$ such that, when the variable $$Z$$ is set to $$T$$, then $$\phi$$ holds for all of $$T$$. (From the Knaster–Tarski theorem it follows that $$[\![\nu Z.\phi]\!]_i$$ is the greatest fixed point of $$T\mapsto[\![\phi]\!]_{i[Z := T]}$$, and $$[\![\mu Z. \phi]\!]_i$$ its least fixed point.)

The interpretations of $$[a] \phi$$ and $$\langle a\rangle \phi$$ are in fact the "classical" ones from dynamic logic. Additionally, the operator $$\mu$$ can be interpreted as liveness ("something good eventually happens") and $$\nu$$ as safety ("nothing bad ever happens") in Leslie Lamport's informal classification.

Examples

 * $$\nu Z.\phi \wedge [a]Z$$ is interpreted as "$$\phi$$ is true along every a-path". The idea is that "$$\phi$$ is true along every a-path" can be defined axiomatically as that (weakest) sentence $$Z$$ which implies $$\phi$$ and which remains true after processing any a-label.
 * $$\mu Z.\phi \vee \langle a \rangle Z$$ is interpreted as the existence of a path along a-transitions to a state where $$\phi$$ holds.
 * The property of a state being deadlock-free, meaning no path from that state reaches a dead end, is expressed by the formula $$\nu Z.\left (\bigvee_{a\in A}\langle a\rangle\top\wedge \bigwedge_{a\in A}[a]Z \right)$$

Decision problems
Satisfiability of a modal μ-calculus formula is EXPTIME-complete. Like for linear temporal logic, the model checking, satisfiability and validity problems of linear modal μ-calculus are PSPACE-complete.