# Lineare temporale Logik

Lineare temporale Logik (LTL oder Linear temporal logic) ist eine formale modale temporale Logik, die zur Modellprüfung aufgestellt und benutzt wird. In LTL können Formeln über die Zukunft von Pfaden aufgestellt werden, beispielsweise dass eine Bedingung irgendwann wahr wird oder eine Bedingung wahr bleibt, bis eine andere Bedingung erfüllt wird.

## Syntax

LTL ist aus einer Menge von Aussagenvariablen $p_{1},p_{2},...$, den logischen Verknüpfungen $\neg ,\lor ,\land ,\rightarrow$ und den nachfolgenden temporalen modalen Operatoren aufgebaut:
* X für Nachfolger (next; N wird synonym benutzt)
* G für global
* F für irgendwann (finally)
* U für bis (until)
* R für Auflösung (release).
Die ersten drei Operatoren sind unär, so dass X $\phi$ eine syntaktisch korrekte Formel ist, wenn $\phi$ syntaktisch korrekt ist. Die letzten zwei Operatoren sind binär, so dass $\phi$ U $\psi$ eine syntaktisch korrekte Formel ist, wenn $\phi$ und $\psi$ syntaktisch korrekte Formeln sind.

## Semantik

Eine LTL-Formel kann sowohl über einer unendlichen Sequenz von Aussagen als auch einer einzigen Position auf dem Pfad ausgewertet werden. Eine LTL-Formel ist genau dann auf einem Pfad erfüllt, wenn sie auf Position 0 des Pfades erfüllt ist. Die Semantik der modalen Operatoren ist wie folgt.
| Textform | Symbol | Erklärung |
| Einstellige Verknüpfungen: ||||
| X $\phi$ | $\circ \phi$ | nächster (NeXt): $\phi$ gilt am nächsten Zustand. |
| G $\phi$ | $\Box \phi$ | Global: $\phi$ gilt auf dem kompletten nachfolgenden Pfad. |
| F $\phi$ | $\Diamond \phi$ | Finally: $\phi$ gilt irgendwann auf dem nachfolgenden Pfad. |
| Zweistellige Verknüpfungen: ||||
| $\psi$ U $\phi$ | $\psi {\mathcal {U}}\phi$ | Until: $\phi$ gilt an der aktuellen oder einer nachfolgenden Position und $\psi$ gilt mindestens solange, bis diese Position erreicht ist. An dieser Position muss $\psi$ nicht mehr gelten. |
| $\psi$ R $\phi$ | $\psi {\mathcal {R}}\phi$ | Release: $\phi$ gilt einschließlich bis zur ersten Position, an der $\psi$ gilt, oder für immer, wenn eine solche Position nicht existiert. |
Bereits die zwei Operatoren X und U sind fundamental, das heißt, sie definieren die anderen durch geeignete Verknüpfungen:
* F $\phi$ = true U $\phi$
* G $\phi$ = false R $\phi$ = $\neg$ F $\neg$$\phi$
* $\psi$ R $\phi$ = $\neg$($\neg$$\psi$ U $\neg$$\phi$)

## Sonderverknüpfungen

Einige Autoren definieren einen schwachen bis-Operator (weak until, mit W bezeichnet), der eine ähnliche Semantik wie der bis-Operator besitzt, jedoch keine Haltebedingung erforderlich ist. Manchmal ist es sinnvoll, wenn U und R mit Formeln des schwachen bis-Operators definiert werden können:
* $\psi$ U $\phi$ = F $\phi$$\land$($\psi$ W $\phi$)
* $\psi$ R $\phi$ = $\phi$ W ($\psi$$\land$$\phi$)
* $\phi$ W $\psi$ = $\psi$ R ($\psi$$\lor$$\phi$)
* $\phi$ W $\psi$ = ($\phi$ U $\psi$)$\lor$G $\phi$

## Wichtige Eigenschaften

Es gibt zwei wichtige Klassen von Eigenschaften, die mittels linearer temporaler Logik beschrieben werden können: Sicherheit (safety), sagt aus, dass etwas Unerwünschtes nie auftritt (G$\neg$$\phi$) und Lebendigkeit (liveness), was aussagt, dass etwas Erwünschtes immer wieder passiert (GF$\psi$ oder G$(\phi \rightarrow$F$\psi )$). Generell: Sicherheitseigenschaften sind solche, für die als Gegenbeispiel ein endliches Präfix ausreicht, dessen beliebige unendliche Verlängerung die Eigenschaft stets verletzt. Bei Lebendigkeitseigenschaften wiederum kann jeder beliebige endliche Präfix eines Pfads noch zu einem unendlichen Pfad verlängert werden, welcher die Formel erfüllt.

## Äquivalenzumformungen

Folgende Äquivalenzumformungen sind möglich:
$X(\phi \lor \psi )\equiv X\phi \lor X\psi$
$X(\phi \land \psi )\equiv X\phi \land X\psi$
$X\neg \phi \equiv \neg X\phi$
$X(\phi U\psi )\equiv (X\phi )U(X\psi )$
$F(\phi \lor \psi )\equiv F\phi \lor F\psi$
$\neg F\phi \equiv G\neg \phi$
$G(\phi \land \psi )\equiv G\phi \land G\psi$
$\neg G\phi \equiv F\neg \phi$
$(\phi \land \psi )U\rho \equiv (\phi U\rho )\land (\psi U\rho )$
$\rho U(\phi \lor \psi )\equiv (\rho U\phi )\lor (\rho U\psi )$
$F\phi \equiv FF\phi$
$G\phi \equiv GG\phi$
$\phi U\psi \equiv \phi U(\phi U\psi )$
$F\phi \equiv \phi \lor XF\phi$
$G\phi \equiv \phi \land XG\phi$
$\phi U\psi \equiv \psi \lor (\phi \land X(\phi U\psi ))$
$\phi W\psi \equiv \psi \lor (\phi \land X(\phi W\psi ))$
$\phi R\psi \equiv (\phi \land \psi )\lor (\psi \land X(\phi R\psi ))$

## Beziehungen zu anderen Logiken

Lineare temporale Logik (LTL) ist eine Teilmenge der Computation Tree Logic* (CTL*), besitzt eine gemeinsame Teilmenge mit CTL ist jedoch weder Ober- noch Untermenge von CTL.
LTL ist äquivalent zur Prädikatenlogik mit einstelligen Relationssymbolen $(P_{i})_{i\geq 1}$ und der kleiner-Relation ${\text{FO}}[<,(P_{i})_{i\geq 1}]$, wie auch stern-freien regulären Ausdrücken.

## Automatentheoretisches LTL Model Checking

Ein wichtiger Weg zur Modellprüfung besteht darin, die gewünschten Eigenschaften (wie oben beschrieben) mit LTL-Operatoren auszudrücken und dann zu überprüfen, ob das Modell diese Eigenschaften erfüllt.
Ferner ist es möglich, einen zum Modell äquivalenten Büchi-Automaten zu erstellen und einen, der zur Negation der zu prüfenden Eigenschaft äquivalent ist. Der Schnitt der beiden nicht-deterministischen Büchi-Automaten ist leer, wenn das Modell die Eigenschaften erfüllt.