\documentclass[12pt]{article}
\usepackage{513defs2017}                   % 513defs.sty is my standard tex macros
\longwide
\begin{document}
\addtocounter{section}{18}
\noindent\framebox[\textwidth]{
{\normalsize CS513:} \hfill {\bf Lecture 17:  More About Temporal Logics} \hfill
scribe:  Ethan White }

$LTL \subseteq CTL^*$\quad\quad 
$CTL^*$ has both path formulas and state formulas.

\textbf{State Formulas:}

\textbf{base case:} \quad $(\mathcal{K},s) \models p \iff p \in L(s)$\\

\textbf{inductive cases:} for any state formulas $\alpha,\beta$, $\lnot \alpha$, $\alpha \land
\beta$ are state formulas.

for any path formula, $\psi$, use Path Quantifiers: $\tA ,\tE $ to construct the following state formulas:

$(\mathcal{K},s) \models \tA \psi \iff$ for all $\pi$ such that $\pi_0 = s$, $(\mathcal{K},\pi) \models
\psi$

$(\mathcal{K},s) \models \tE \psi \iff$ for some $\pi$ such that $\pi_0 = s$, $(\mathcal{K},\pi)
\models \psi$


\vspace*{.1in}



\textbf{Path Formulas:}

\textbf{base case:} Every state formula is a path formula.

\textbf{inductive cases:} for any path formulas, $\psi, \phi$, the following are path formulas:

$\lnot \psi,\;  \psi \land \phi,\;  \tF \psi,\;  \tG \psi,\;  \tX \psi,\;   (\psi \tU \phi)$


\vspace*{.1in}


For example, for the below graph representing a Kripke structure $\mathcal{K}$ we have
$(\mathcal{K},2) \models \tA\tF q$ and  $(\mathcal{K},2) \models \tA\tG\tF q$.
\begin{center}
\begin{tikzpicture}[scale=0.2]
\tikzstyle{every node}+=[inner sep=0pt]
\draw [black] (27.4,-12.8) circle (3);
\draw (27.4,-12.8) node {$1,{p}$};
\draw [black] (39.8,-12.8) circle (3);
\draw (39.8,-12.8) node {$2,{q}$};
\draw [black] (33.2,-21.5) circle (3);
\draw (33.2,-21.5) node {$3$};
\draw [black] (52.3,-12.1) circle (3);
\draw (52.3,-12.1) node {$4,{r}$};
\draw [black] (52.3,-21.5) circle (3);
\draw (52.3,-21.5) node {$5,{q}$};
\draw [black] (30.4,-12.8) -- (36.8,-12.8);
\fill [black] (36.8,-12.8) -- (36,-12.3) -- (36,-13.3);
\draw [black] (42.9,-12.9) -- (49.31,-12.35);
\fill [black] (49.31,-12.35) -- (48.47,-11.92) -- (48.56,-12.92);
\draw [black] (52.3,-15.5) -- (52.3,-18.5);
\fill [black] (52.3,-18.5) -- (52.8,-17.7) -- (51.8,-17.7);
\draw [black] (55.232,-22.077) arc (106.59464:-181.40536:2.25);
\fill [black] (53.63,-24.18) -- (53.37,-25.09) -- (54.33,-24.8);
\draw [black] (37.99,-15.19) -- (35.01,-19.11);
\fill [black] (35.01,-19.11) -- (35.9,-18.77) -- (35.1,-18.17);
\draw [black] (30.6,-19.5) -- (28.69,-15.51);
\fill [black] (28.69,-15.51) -- (28.59,-16.44) -- (29.49,-16.01);
\end{tikzpicture}
\end{center}
\textbf{Emerson \& Clarke:} $CTL$ has an efficient model checking algorithm.\\\\
In $CTL$, pair path quantifiers $(\tA ,\tE )$ with temporal operators $(\tG,\tF ,\tX ,U)$. i.e. we only have state formulas. (And so $CTL \subseteq CTL^*$)\\\\
\textbf{Some examples:}\\
$(\mathcal{K},s) \models \tE \tF p \iff$ there is some path from $s$ to a state which satisfies $p$.\\
$(\mathcal{K},s) \models \tE \tG p \iff$ there is some path from $s$ along which $p$ always holds.\\\\
$\tA \tG(p \rightarrow \tE \tX q)$\\
$\tA \tG(\tG r \rightarrow \tF c) = $ weak fairness (expressible in $CTL$), ``Always trying implies eventually succeeding."\\
$\tA (\tG\tF r \rightarrow \tG\tF c)$ = strong fairness (not expressible in $CTL$, expressible in
$CTL^*)$, ``Infinitely often trying implies infinitely often succeeding."\\\\
\textbf{Theorem (Emerson \& Clarke):} ``Linear Time" CTL Model Checking.\\There is an algorithm with
input $\mathcal{K}, \varphi \in CTL$ and output $\{s \in S^{\mathcal{K}}|(\mathcal{K},s) \models
\varphi \}$ with running time $O(|\mathcal{K}||\varphi|).$

(The running time for $LTL$ is $O(|\mathcal{K}|2^{|\varphi|})$.)
\end{document}

