article

Computational tree logic (CTL) is a temporal logic. It is often used to express properties of a system in the context of formal verification or model checking.

It uses atomic propositions as its building blocks to make statements about the states of a system. CTL then combines theses propositions into formulas using logical operators and temporal operators.

Operators


Logical operators

The logical operators are the usual ones: \neg,\or,\and,\rightarrow and \leftrightarrow. Along with these operators CTL formulas can also make use of the boolean constants true and false.

Temporal operators

The temporal operators are the following:

  • N \phi - Next: \phi has to hold at the next state (this operator is sometimes noted X instead of N).
  • G \phi - Globally: \phi has to hold on the entire subsequent path.
  • F \phi - Finally: \phi eventually has to hold (somewhere on the subsequent path).
  • A \phi - All: \phi has to hold on all paths starting from the current state.
  • E \phi - Exists: there exists at least one path starting from the current state where \phi holds.
  • \phi U \psi - Until: \phi has to hold until at some position \psi holds. This implies that \psi will be verified in the future.
  • \phi W \psi - Weak until: \phi has to hold until \psi holds. The difference with U is that there is no guarantee that \psi will ever be verified. The W operator is sometimes called "unless".

Examples


Let P mean "I like chocolate" and Q mean "It's warm outside".

AG.P

I will like chocolate from now on, no matter what happens.

EF.P

It's possible I may like chocolate some day, at least for one day.

AF.EG.P

It's always possible (AF) that I will suddenly start liking chocolate for the rest of time. (Note: not just the rest of my life, since my life is finite, while G is infinite).

EG.AF.P

This is a critical time in my life. Depending on what happens next (E), it's possible that for the rest of time (G), there will always be some time in the future (AF) when I will like chocolate. However, if the wrong thing happens next, then all bets are off and there's no guarantee about whether I'll ever like chocolate.

A(PUQ)

From now until it's warm outside, I will like chocolate every single day. Once it's warm outside, all bets are off as to whether I'll like chocolate anymore. Oh, and it's guaranteed to be warm outside eventually, even if only for a single day.

E((EX.P)U(AG.Q))

It's possible that: there will eventually come a time when it will be warm forever (AG.Q) and that before that time there will always be some way to get me to like chocolate the next day (EX.P).

Relations with other logics


Computational tree logic (CTL) is a subset of CTL* as well as of the modal mu calculus. More interestingly, CTL is a fragment of Alur, Henziger and Kupferman's Alternating-time Temporal Logic (ATL).

See also


References


Logic in computer science | Modal logic

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Computational tree logic".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld