Logika CTL

Przykład modelu logiki CTL

Logika CTL – jedna z logik temporalnych. Jest oparta na liniowej strukturze czasu.

Język

  • taki sam, jak w logice CTL*

Formuły

  • w porównaniu do logiki CTL*, każdy operator temopralny musi być poprzedzony przez operator ścieżkowy ( A {\displaystyle A} bądź E {\displaystyle E} ):
    • formuła poprawna zarówno w CTL*, jak i w CTL: A F A G α E F E G β {\displaystyle AFAG\alpha \Rightarrow EFEG\beta }
    • formuła poprawna w CTL*, ale niepoprawna w CTL: A F G α E F G β {\displaystyle AFG\alpha \Rightarrow EFG\beta }
  • każda taka para operatorów: ( A X , E X , A F , E F , A G , E G , A U , E U , A R , E R ) {\displaystyle (AX,EX,AF,EF,AG,EG,AU,EU,AR,ER)} tworzy operator logiki CTL.
  • operatory A U , E U , A X , E X {\displaystyle AU,EU,AX,EX} są podstawowe, a z nich można wyprowadzić pozostałe:
A F α A ( U α ) {\displaystyle AF\alpha \equiv A(\top U\alpha )}
E F α E ( U α ) {\displaystyle EF\alpha \equiv E(\top U\alpha )}
A G α A ( α U ) {\displaystyle AG\alpha \equiv A(\alpha U\bot )}
E G α E ( α U ) {\displaystyle EG\alpha \equiv E(\alpha U\bot )}
A ( α R β ) A ( ¬ ( ¬ α U ¬ β ) ) {\displaystyle A(\alpha R\beta )\equiv A(\neg (\neg \alpha U\neg \beta ))}
E ( α R β ) E ( ¬ ( ¬ α U ¬ β ) ) {\displaystyle E(\alpha R\beta )\equiv E(\neg (\neg \alpha U\neg \beta ))}

Prawdziwość formuł

  • oznaczenia:
( M , s i ) α {\displaystyle (M,s_{i})\models \alpha } – formuła α {\displaystyle \alpha } jest prawdziwa w strukturze M {\displaystyle M} w stanie s i {\displaystyle s_{i}}
  • warunki prawdziwości podstawowych formuł:
( M , s i ) p p L ( s i ) {\displaystyle (M,s_{i})\models p\Leftrightarrow p\in L(s_{i})}
( M , s i ) α 1 α 2 ( M , s i ) α 1 ( M , s i ) α 2 {\displaystyle (M,s_{i})\models \alpha _{1}\wedge \alpha _{2}\Leftrightarrow (M,s_{i})\models \alpha _{1}\wedge (M,s_{i})\models \alpha _{2}}
( M , s i ) ¬ α ¬ ( M , s i ) α {\displaystyle (M,s_{i})\models \neg \alpha \Leftrightarrow \neg (M,s_{i})\models \alpha }
( M , s i ) A ( α 1 U α 2 ) x i   ( k i ) : ( s k α 2 j : ( i j < k ) ( s j α 1 ) {\displaystyle (M,s_{i})\models A(\alpha _{1}U\alpha _{2})\Leftrightarrow \forall x_{i}\ \exists (k\geqslant i):(s_{k}\models \alpha _{2}\wedge \forall j:(i\leqslant j<k)(s_{j}\models \alpha _{1})}
( M , s i ) E ( α 1 U α 2 ) x i   ( k i ) : ( s k α 2 j : ( i j < k ) ( s j α 1 ) {\displaystyle (M,s_{i})\models E(\alpha _{1}U\alpha _{2})\Leftrightarrow \exists x_{i}\ \exists (k\geqslant i):(s_{k}\models \alpha _{2}\wedge \forall j:(i\leqslant j<k)(s_{j}\models \alpha _{1})}
( M , s i ) A X α x i   ( M , s i + 1 ) α {\displaystyle (M,s_{i})\models AX\alpha \Leftrightarrow \forall x_{i}\ (M,s_{i+1})\models \alpha }
( M , s i ) E X α x i   ( M , s i + 1 ) α {\displaystyle (M,s_{i})\models EX\alpha \Leftrightarrow \exists x_{i}\ (M,s_{i+1})\models \alpha }

Linki zewnętrzne

  • PawełP. Głuchowski PawełP., Temporal Logic and Timed Automata, CTL logic [online], Politechnika Wrocławska [dostęp 2020-06-27]  (ang.).
  • Temporal Logics [online]  (ang.).