Computational tree logic

From Freepedia

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.

Contents

Operators

Logical operators

The logical operators are the usual ones: <math>\neg,\or,\and,\rightarrow</math> and <math>\leftrightarrow</math>. 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:

State operators

These operators "select" states.

Unary operators

  • N <math>\phi</math> - Next: <math>\phi</math> has to hold at the next state (this operator is sometimes noted X instead of N).
  • G <math>\phi</math> - Globally: <math>\phi</math> has to hold on the entire subsequent path.
  • F <math>\phi</math> - Finally: <math>\phi</math> eventually has to hold (somewhere on the subsequent path).

Binary operators:

  • <math>\phi</math> U <math>\psi</math> - Until: <math>\phi</math> has to hold until at some position <math>\psi</math> holds. This implies that <math>\psi</math> will be verified in the future.
  • <math>\phi</math> W <math>\psi</math> - Weak until: <math>\phi</math> has to hold until <math>\psi</math> holds. The difference with U is that there is no guarantee that <math>\psi</math> will ever be verified. The W operator is sometimes called "unless".

Path operators

These operators "select" paths.

  • A <math>\phi</math> - All: <math>\phi</math> has to hold on all paths starting from the current state.
  • E <math>\phi</math> - Exists: there exists at least one path starting from the current state where <math>\phi</math> holds.

Relations with other logics

Computational tree logic (CTL) is a subset of CTL*.

See also


References

  • Emerson, E. A. and Halpern, J. Y. (1985). Decision procedures and expressiveness in the temporal logic of branching time. Journal of Computer and System Sciences 30 (1): 1-24.
  • Clarke, E. M., Emerson, E. A., and Sistla, A. P. (1986). Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8 (2): 244-263.
  • Emerson, E. A. (1990). "Temporal and modal logic". In J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, vol. B, pp. 955-1072. MIT Press. ISBN 0262220393.




Views
Personal tools
In other languages
Similar Links