### * doc/tl/tl.tex: Remarks from Denis Poitrenaud.

parent f620d9a2
 ... ... @@ -208,8 +208,8 @@ sequence called the \textit{empty word} and denoted $\varepsilon$. We denote $A^n$ the set of all sequences of length $n$ on $A$ (in particular $A^\omega$ is the set of infinite sequences on $A$), and $A^\star=\bigcup_{n\in\N}A^n$ denotes the set of all finite sequences. The length of $n\in\N\cup\{\omega\}$ any sequence $\sigma$ is noted $|\sigma|=n$. The length of any sequence $\sigma$ is noted $|\sigma|$, with $|\sigma|\in\N\cup\{\omega\}$. For any sequence $\sigma$, we denote $\sigma^{i..j}$ the finite subsequence built using letters from $\sigma(i)$ to $\sigma(j)$. If ... ... @@ -221,7 +221,7 @@ starting at letter $\sigma(i)$. The temporal formul\ae{} described in this document, should be interpreted on behaviors (or executions, or scenarios) of the system to verify. In model checking we want to ensure that a formula (the property to verify) holds on all possibles behaviors of the system. property to verify) holds on all possible behaviors of the system. If we model the system as some sort of giant automaton (e.g., a Kripke structure) where each state represent a configuration of the system, a ... ... @@ -246,7 +246,7 @@ model of $\varphi$). When a formula $\varphi$ holds on an \emph{finite} sequence $\sigma$, we write $\sigma \VDash \varphi$. \chapter{Temporal Syntax} \chapter{Temporal Syntax \& Semantics} \section{Boolean Constants}\label{sec:bool} ... ... @@ -326,8 +326,8 @@ double quotes to avoid any unintended misinterpretation. \begin{itemize} \item \samp{"a<=b+c"} is an atomic proposition. Double quotes can therefore be used to embed language-specific constructs into an atomic proposition. therefore be used to embed constructs specific to the underlying formalism, and still regard the resulting construction as an atomic proposition. \item \samp{light\_on} is an atomic proposition. \item \samp{Fab} is not an atomic proposition, this is actually equivalent to the formula \samp{F(ab)} where the temporal operator ... ... @@ -388,21 +388,26 @@ and the above operators, we say that the formula is a \emph{Boolean \subsection{Semantics} \begin{align*} \NOT f\vDash \sigma &\iff (f\nvDash\sigma) \\ f\AND g\vDash \sigma &\iff (f\vDash\sigma)\land(g\vDash\sigma) \\ f\OR g\vDash \sigma &\iff (f\vDash\sigma)\lor(g\vDash\sigma) \\ f\IMPLIES g\vDash \sigma &\iff (f\nvDash\sigma)\lor(g\vDash\sigma)\\ f\XOR g\vDash \sigma &\iff ((f\vDash\sigma)\land(g\nvDash\sigma))\lor ((f\nvDash\sigma)\land(g\vDash\sigma))\\ f\EQUIV g\vDash \sigma &\iff ((f\vDash\sigma)\land(g\vDash\sigma))\lor ((f\nvDash\sigma)\land(g\nvDash\sigma)) \sigma\vDash \NOT f &\iff (\sigma\nvDash f) \\ \sigma\vDash f\AND g &\iff (\sigma\vDash f)\land(\sigma\vDash g) \\ \sigma\vDash f\OR g &\iff (\sigma\vDash f)\lor(\sigma\vDash g) \\ \sigma\vDash f\IMPLIES g &\iff (\sigma\nvDash f)\lor(\sigma\vDash g)\\ \sigma\vDash f\XOR g &\iff ((\sigma\vDash f)\land(\sigma\nvDash g))\lor ((\sigma\nvDash f)\land(\sigma\vDash g))\\ \sigma\vDash f\EQUIV g &\iff ((\sigma\vDash f)\land(\sigma\vDash g))\lor ((\sigma\nvDash f)\land(\sigma\nvDash g)) \end{align*} \subsection{Trivial Identities (Occur Automatically)} Trivial identities are applied every time an expression is constructed. This means for instance that there is not way to construct the expression \samp{$\NOT\NOT a$} in Spot, such an attempt will always yield the expression \samp{$a$}. % These first rules are for the \samp{!} and \samp{->} operators. \begin{align*} ... ... @@ -480,12 +485,12 @@ temporal operators can be used to construct another temporal formula. \subsection{Semantics}\label{sec:opltl:sem} \begin{align*} \sigma\vDash \X f &\iff f\vDash \sigma^{1..}\\ \sigma\vDash \X f &\iff \sigma^{1..}\vDash f\\ \sigma\vDash \F f &\iff \exists i\in \N,\, \sigma^{i..}\vDash f\\ \sigma\vDash \G f &\iff \forall i\in \N,\, \sigma^{i..}\vDash f\\ \sigma\vDash f\U g &\iff \exists j\in\N,\, \begin{cases} \forall i
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!