Logica temporale lineare

La logica temporale lineare o LTL (dall'inglese Linear Temporal Logic) è un'estensione della logica modale nella quale i mondi sono organizzati in una struttura lineare infinita: ogni mondo può così rappresentare un istante di tempo discreto. La logica LTL prevede dunque una organizzazione del tempo lineare, discreta, orientata al futuro e infinita.

Questa logica trova impiego nella analisi dei sistemi i cui modelli possono essere sviluppati secondo le caratteristiche citate, sebbene l'algoritmo di model checking per LTL sia particolarmente complesso e dunque poco utilizzato.

Sintassi

La sintassi minima della logica LTL è la seguente:

φ :=   |   p   |   ¬ φ   |   φ 1 φ 2   |   φ 1 U φ 2   |   X φ {\displaystyle \varphi :=\top \ |\ p\ |\ \neg \varphi \ |\ \varphi _{1}\wedge \varphi _{2}\ |\ \varphi _{1}U\varphi _{2}\ |\ X\varphi }

La sintassi estesa, cioė comprendente gli operatori derivati, aggiunge Eventually ( {\displaystyle \diamond } ), Globally ( {\displaystyle \square } ), Precedes, Unless. Questi operatori sono tutti derivabili dall'Until.

Operatori

La logica temporale lineare LTL prevede i seguenti operatori:

  • X ( {\displaystyle \circ } ) , "Next" : X φ {\displaystyle X\varphi } è vera nello stato s t {\displaystyle s_{t}} se e solo se φ {\displaystyle \varphi } è vera nello stato successivo s t + 1 {\displaystyle s_{t+1}}  ;
  • F ( {\displaystyle \diamond } ) , "Future" (o "Eventually"): φ {\displaystyle \diamond \varphi } è vera nello stato st se e solo esiste t t {\displaystyle t'\geq t} tale che φ {\displaystyle \varphi } è vera in s t {\displaystyle s_{t'}}  ;
  • G ( {\displaystyle \square } ) , "Globally" (o "Henceforth"): φ {\displaystyle \square \varphi } è vera nello stato s t {\displaystyle s_{t}} se e solo se per ogni t t {\displaystyle t'\geq t} , φ {\displaystyle \varphi } è vera in s t {\displaystyle s_{t'}}  ;
  • U ( U {\displaystyle U} ), "Until": φ 1 U φ 2 {\displaystyle \varphi _{1}U\varphi _{2}} è vera in s t {\displaystyle s_{t}} se e solo se {\displaystyle \exists } t n t {\displaystyle t_{n}\geq t} tale che φ 2 {\displaystyle \varphi _{2}} è vera in s t n {\displaystyle s_{t_{n}}} e {\displaystyle \forall } t i [ t , t n 1 ] {\displaystyle t_{i}\in [t,t_{n-1}]} , φ 1 {\displaystyle \varphi _{1}} è vera in s t i {\displaystyle s_{t_{i}}}  ;
  • P ( P {\displaystyle P} ) , "Precedes" : φ 1 P φ 2 {\displaystyle \varphi _{1}P\varphi _{2}} è vera se non è possibile che esista uno stato futuro in cui vale φ 2 {\displaystyle \varphi _{2}} preceduto da stati in cui non vale φ 1 {\displaystyle \varphi _{1}} , questo operatore può essere derivato dall'Until secondo la relazione φ 1 P φ 2 =∼ ( φ 1 U φ 2 ) {\displaystyle \varphi _{1}P\varphi _{2}=\sim (\sim \varphi _{1}U\varphi _{2})}  ;
  • W ( W {\displaystyle W} ), "Unless" : φ 1 W φ 2 {\displaystyle \varphi _{1}W\varphi _{2}} è vera se φ 1 {\displaystyle \varphi _{1}} è vera, a meno che non sia vera φ 2 {\displaystyle \varphi _{2}} , "Unless" è derivabile secondo la relazione φ 1 W φ 2 = ( φ 1 U φ 2 ) φ 1 {\displaystyle \varphi _{1}W\varphi _{2}=(\varphi _{1}U\varphi _{2})\vee \square \varphi _{1}} .

Gli operatori temporali hanno la priorità sugli operatori booleani.

Semantica

Per dare la semantica della logica LTL è necessario definire la struttura di interpretazione (modello di Kripke) ossia un modello lineare definito dalla quintupla π = ( S , s 0 , R , V , P ) {\displaystyle \pi =(S,s_{0},R,V,P)} dove:

  • S {\displaystyle S} è un insieme infinito di stati;
  • s 0 {\displaystyle s_{0}} è lo stato iniziale;
  • R {\displaystyle R} è la relazione di raggiungibilità: i N , ( s i , s i + 1 ) R {\displaystyle \forall i\in \mathbb {N} ,(s_{i},s_{i+1})\in R}  ;
  • P {\displaystyle P} sono le proposizioni atomiche;
  • V : P × S { t r u e , f a l s e } {\displaystyle V:P\times S\rightarrow \{true,false\}} è la funzione di valutazione delle proposizioni atomiche.

La semantica formale degli operatori è così definita:

  • π , s i p P V ( p , s i ) = t r u e {\displaystyle \pi ,s_{i}\models p\in P\Leftrightarrow V(p,s_{i})=true}
  • π , s i ¬ α π , s i α {\displaystyle \pi ,s_{i}\models \neg \alpha \iff \pi ,s_{i}\not \models \alpha }
  • π , s i α β π , s i α     π , s i β {\displaystyle \pi ,s_{i}\models \alpha \land \beta \iff \pi ,s_{i}\models \alpha \ \land \ \pi ,s_{i}\models \beta }
  • π , s i X α π , s i + 1 α {\displaystyle \pi ,s_{i}\models X\alpha \iff \pi ,s_{i+1}\models \alpha }
  • π , s i F α j i   :   π , s j α {\displaystyle \pi ,s_{i}\models F\alpha \iff \exists j\geq i\ :\ \pi ,s_{j}\models \alpha }
  • π , s i G α j i   :   π , s j α {\displaystyle \pi ,s_{i}\models G\alpha \iff \forall j\geq i\ :\ \pi ,s_{j}\models \alpha }
  • π , s i α U β j i   :   π , s j β    e   k   tale che   i k < j   :   π , s k α {\displaystyle \pi ,s_{i}\models \alpha U\beta \iff \exists j\geq i\ :\ \pi ,s_{j}\models \beta \ {\mbox{ e}}\ \forall k\ {\mbox{tale che}}\ i\leq k<j\ :\ \pi ,s_{k}\models \alpha }
  • π , s i α R β j i   :   π , s j β     (   l i   tale che   k ,   i k l   :   π , s k β   π , s l α ) {\displaystyle \pi ,s_{i}\models \alpha R\beta \iff \forall j\geq i\ :\ \pi ,s_{j}\models \beta \ \vee \ (\exists \ l\geq i\ {\mbox{tale che}}\ \forall k,\ i\leq k\leq l\ :\ \pi ,s_{k}\models \beta \wedge \ \pi ,s_{l}\models \alpha )}

Dove α , β {\displaystyle \alpha ,\beta } sono formule booleane.

Proprietà sintattiche

Date α e β formule LTL, allora:

  • F α U α {\displaystyle F\alpha \iff \top U\alpha }
  • G α R α {\displaystyle G\alpha \iff \bot R\alpha }
  • F α ¬ G ¬ α {\displaystyle F\alpha \iff \neg G\neg \alpha }
  • G α ¬ F ¬ α {\displaystyle G\alpha \iff \neg F\neg \alpha }
  • ¬ X α X ¬ α {\displaystyle \neg X\alpha \iff X\neg \alpha }
  • α R β ¬ ( ¬ α U ¬ β ) {\displaystyle \alpha R\beta \iff \neg (\neg \alpha U\neg \beta )}

Da queste uguaglianze si può notare come le espressioni temporali possano essere definite utilizzando solo i simboli ¬ ,   X ,   U . {\displaystyle \neg ,\ X,\ U.}

Regole

Date α e β formule LTL, allora:

  • F α ( α X F α ) {\displaystyle F\alpha \Leftrightarrow (\alpha \lor XF\alpha )} ;
  • G α ( α X G α ) {\displaystyle G\alpha \Leftrightarrow (\alpha \land XG\alpha )} ;
  • α β ( β ( α X ( α β ) ) ) {\displaystyle \alpha \cup \beta \Leftrightarrow (\beta \lor (\alpha \land X(\alpha \cup \beta )))} ;

Proprietà esprimibili in logica LTL

  • Safety: "Non accade mai qualcosa di indesiderato" b a d {\displaystyle \square \sim bad} ;
  • Liveness: "Prima o poi accade qualcosa di desiderato" g o o d {\displaystyle \diamond good} ;
  • Responsiveness: Un caso particolare di liveness "a fronte di una richiesta prima o poi il sistema risponde" ( r e q u e s t r e p l y ) {\displaystyle \square (request\Rightarrow \diamond reply)} ;
  • Infinitely Often: "p è vera infinitamente spesso" p {\displaystyle \square \diamond p} ;
  • Fairness: "Se arrivano richieste infinitamente spesso, infinitamente spesso vengono soddisfatte" r e q u e s t r e p l y {\displaystyle \square \diamond request\Rightarrow \square \diamond reply} ;
  • Invariant: rappresenta una proprietà (invariante) che il sistema deve sempre mantenere i n v a r i a n t {\displaystyle \square invariant} ;
  • Eventually Always: "prima o poi arrivo in uno stato dopo il quale vale sempre una proprietà" φ {\displaystyle \diamond \square \varphi } .

Voci correlate

  • Modelli di Kripke

Altri progetti

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su Logica temporale lineare

Collegamenti esterni

  • A presentation of LTL (PDF), su dcs.qmul.ac.uk.
  • Linear-Time Temporal Logic and Büchi Automata (PDF), su cmi.ac.in.
  • Alessandro Artale, LTL Teaching slides (PDF), su inf.unibz.it, Free University of Bozen-Bolzano.
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica