The Syntax of $ L_{CTL}$

The propositional branching-time logic CTL (Computational Temporal Logic) is historically the forerunner of $ CTL^{*}$. It has been introduced by Clarke and Emerson (1981) [66]. Only later, when the expressive limits of CTL became more known has $ CTL^{*}$ been introduced by Emerson and Halpern (1986) [95] as a possible unifying framework for CTL and PLTL (cf. Emerson (1990) [92], P.1012).

The language $ L_{CTL}$ is a proper subset of $ L_{CTL^{*}}$:


$\displaystyle L_{CTL}$ $\displaystyle \subset$ $\displaystyle L_{CTL^{*}}$ (6.21)

This is caused by some syntactical constraints valid for $ L_{CTL}$ (cf. figure 6.1).


$\displaystyle STATE-STATE: L_{PROP}$ $\displaystyle \subseteq$ $\displaystyle StateFML \subseteq L_{CTL}$ (6.22)
$\displaystyle \Phi \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle \neg \Phi \in StateFML$ (6.23)
$\displaystyle \Phi, \Phi' \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle (\Phi \wedge \Phi') \in StateFML$ (6.24)
$\displaystyle \Phi, \Phi' \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle (\Phi \vee \Phi') \in StateFML$ (6.25)
$\displaystyle \hline
STATE-PATH: \Phi \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle \textbf{X}\Phi \in PathFML$ (6.26)
$\displaystyle \Phi \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle \textbf{F}\Phi \in PathFML$ (6.27)
$\displaystyle \Phi \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle \textbf{G}\Phi \in PathFML$ (6.28)
$\displaystyle \Phi, \Psi \in StateFML$ $\displaystyle \Longrightarrow$ $\displaystyle (\Phi \textbf{U} \Psi) \in PathFML$ (6.29)
$\displaystyle PathFML$ $\displaystyle \subseteq$ $\displaystyle L_{CTL}$ (6.30)
$\displaystyle \hline
PATH-STATE: \Phi \in PathFML$ $\displaystyle \Longrightarrow$ $\displaystyle \textbf{E}\Phi \in StateFML$ (6.31)
$\displaystyle \Phi \in PathFML$ $\displaystyle \Longrightarrow$ $\displaystyle \textbf{A}\Phi \in StateFML$ (6.32)

Figure 6.1: The 'syntactical states' of CTL formulas
\includegraphics[width=3.0in]{SFml-PFml-SFml_3.0in.eps}

An alternative syntactic definition of CTL can be given as follows ($ \Pi$ := Atomic Propositions = $ L_{PROP}$, SF := State Formulas, PF := Path Formulas):

  1. $ \Pi \subseteq SF$
  2. If $ \Phi,\Psi \in SF$ then $ \Phi \wedge \Psi$ and $ \Phi \vee \Psi$ in SF as well as $ \neg \Phi$
  3. If $ \Phi,\Psi \in SF$ then $ \textbf{X}\Phi, \textbf{F}\Phi,\textbf{G}\Phi, \Phi\textbf{U}\Psi$ in PF
  4. If $ \Phi\in PF$ then $ \textbf{A}\Phi, \textbf{E}\Phi$ in SF
  5. $ (SF \cup PF) \subseteq L_{CTL}$
  6. Only (1) - (5) define the set of $ L_{CTL}$

Some other equivalences are the following ones. Having the temporal logical operators $ \Box$ (always) and $ \Diamond$ (eventually) one can define:


$\displaystyle EVENTUALLY: \exists\Diamond \Phi$ $\displaystyle =$ $\displaystyle \exists (true \textbf{U} \Phi)$ (6.33)
$\displaystyle \forall\Diamond \Phi$ $\displaystyle =$ $\displaystyle \forall (true \textbf{U} \Phi)$ (6.34)
$\displaystyle \hline
ALWAYS: \exists\Box \Phi$ $\displaystyle =$ $\displaystyle \neg\forall\Diamond\neg \Phi$ (6.35)
$\displaystyle \forall\Box \Phi$ $\displaystyle =$ $\displaystyle \neg\exists\Diamond\neg \Phi$ (6.36)

Gerd Doeben-Henisch 2010-03-03