Definition CTL formulae are interpreted over
transition systems. A transition system is a triple \mathcal{M}=(S,{\rightarrow},L), where S is a set of states, {\rightarrow} \subseteq S \times S is a transition relation, assumed to be serial, i.e. every state has at least one successor, and L is a labelling function, assigning propositional letters to states. Let \mathcal{M}=(S,\rightarrow,L) be such a transition model, with s \in S, and \phi \in F, where F is the set of
well-formed formulas over the
language of \mathcal{M}. Then the relation of semantic
entailment (\mathcal{M}, s \models \phi) is defined recursively on \phi: • \Big( (\mathcal{M}, s) \models \top \Big) \land \Big( (\mathcal{M}, s) \not\models \bot \Big) • \Big( (\mathcal{M}, s) \models p \Big) \Leftrightarrow \Big( p \in L(s) \Big) • \Big( (\mathcal{M}, s) \models \neg\phi \Big) \Leftrightarrow \Big( (\mathcal{M}, s) \not\models \phi \Big) • \Big( (\mathcal{M}, s) \models \phi_1 \land \phi_2 \Big) \Leftrightarrow \Big( \big((\mathcal{M}, s) \models \phi_1 \big) \land \big((\mathcal{M}, s) \models \phi_2 \big) \Big) • \Big( (\mathcal{M}, s) \models \phi_1 \lor \phi_2 \Big) \Leftrightarrow \Big( \big((\mathcal{M}, s) \models \phi_1 \big) \lor \big((\mathcal{M}, s) \models \phi_2 \big) \Big) • \Big( (\mathcal{M}, s) \models \phi_1 \Rightarrow \phi_2 \Big) \Leftrightarrow \Big( \big((\mathcal{M}, s) \not\models \phi_1 \big) \lor \big((\mathcal{M}, s) \models \phi_2 \big) \Big) • \bigg( (\mathcal{M}, s) \models \phi_1 \Leftrightarrow \phi_2 \bigg) \Leftrightarrow \bigg( \Big( \big((\mathcal{M}, s) \models \phi_1 \big) \land \big((\mathcal{M}, s) \models \phi_2 \big) \Big) \lor \Big( \neg \big((\mathcal{M}, s) \models \phi_1 \big) \land \neg \big((\mathcal{M}, s) \models \phi_2 \big) \Big) \bigg) • \Big( (\mathcal{M}, s) \models AX\phi \Big) \Leftrightarrow \Big( \forall \langle s \rightarrow s_1 \rangle \big( (\mathcal{M}, s_1) \models \phi \big) \Big) • \Big( (\mathcal{M}, s) \models EX\phi \Big) \Leftrightarrow \Big( \exists \langle s \rightarrow s_1 \rangle \big( (\mathcal{M}, s_1) \models \phi \big) \Big) • \Big( (\mathcal{M}, s) \models AG\phi \Big) \Leftrightarrow \Big( \forall \langle s_1 \rightarrow s_2 \rightarrow \ldots \rangle (s=s_1) \forall i \big( (\mathcal{M}, s_i) \models \phi \big) \Big) • \Big( (\mathcal{M}, s) \models EG\phi \Big) \Leftrightarrow \Big( \exists \langle s_1 \rightarrow s_2 \rightarrow \ldots \rangle (s=s_1) \forall i \big( (\mathcal{M}, s_i) \models \phi \big) \Big) • \Big( (\mathcal{M}, s) \models AF\phi \Big) \Leftrightarrow \Big( \forall \langle s_1 \rightarrow s_2 \rightarrow \ldots \rangle (s=s_1) \exists i \big( (\mathcal{M}, s_i) \models \phi \big) \Big) • \Big( (\mathcal{M}, s) \models EF\phi \Big) \Leftrightarrow \Big( \exists \langle s_1 \rightarrow s_2 \rightarrow \ldots \rangle (s=s_1) \exists i \big( (\mathcal{M}, s_i) \models \phi \big) \Big) • \bigg( (\mathcal{M}, s) \models A[\phi_1 U \phi_2] \bigg) \Leftrightarrow \bigg( \forall \langle s_1 \rightarrow s_2 \rightarrow \ldots \rangle (s=s_1) \exists i \Big( \big( (\mathcal{M}, s_i) \models \phi_2 \big) \land \big( \forall (j • \bigg( (\mathcal{M}, s) \models E[\phi_1 U \phi_2] \bigg) \Leftrightarrow \bigg( \exists \langle s_1 \rightarrow s_2 \rightarrow \ldots \rangle (s=s_1) \exists i \Big( \big( (\mathcal{M}, s_i) \models \phi_2 \big) \land \big( \forall (j
Characterisation of CTL Rules 10–15 above refer to computation paths in models and are what ultimately characterise the "Computation Tree"; they are assertions about the nature of the infinitely deep computation tree rooted at the given state s.
Semantic equivalences The formulae \phi and \psi are said to be semantically equivalent if any state in any model that satisfies one also satisfies the other. This is denoted \phi \equiv \psi It can be seen that \mathrm A and \mathrm E are duals, being universal and existential computation path quantifiers respectively: \neg \mathrm A\Phi \equiv \mathrm E \neg \Phi . Furthermore, so are \mathrm G and \mathrm F. Hence an instance of
De Morgan's laws can be formulated in CTL: :\neg AF\phi \equiv EG\neg\phi :\neg EF\phi \equiv AG\neg\phi :\neg AX\phi \equiv EX\neg\phi It can be shown using such identities that a subset of the CTL temporal connectives is adequate if it contains EU, at least one of \{AX,EX\} and at least one of \{EG,AF,AU\} and the Boolean connectives. The important equivalences below are called the
expansion laws; they allow unfolding the verification of a CTL connective towards its successors in time. :AG\phi \equiv \phi \land AX AG \phi :EG\phi \equiv \phi \land EX EG \phi :AF\phi \equiv \phi \lor AX AF \phi :EF\phi \equiv \phi \lor EX EF \phi :A[\phi U \psi] \equiv \psi \lor (\phi \land AX A [\phi U \psi]) :E[\phi U \psi] \equiv \psi \lor (\phi \land EX E [\phi U \psi]) ==Examples==