Computation tree logic
![]() | This article is actively undergoing a major edit for a little while. To help avoid edit conflicts, please do not edit this page while this message is displayed. This page was last edited at 20:46, 18 July 2004 (UTC) (21 years ago) – this estimate is cached, . Please remove this template if this page hasn't been edited for a significant time. If you are the editor who added this template, please be sure to remove it or replace it with {{Under construction}} between editing sessions. |
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 basic propositions, often called atomic propositions, as its building blocks to make statements about the states of a system. [TODO: give an example of an atomic proposition]. CTL then combines theses propositions into formulas using boolean combinators and temporal combinators.
The boolean operators used are "not" (¬), "and" (∧), "or" (∨), "conditional" (→), and "biconditional" (↔). "Not" is an unary operator, the rest are binary operators. Along with these boolean operators CTL formulas can make use of the boolean constants true and false.
The temporal combinators are and .
If we assume is an atomic proposition.
states that is satisfied in the next state (you can see X as standing for neXt). states that is satisfied sometime in the future. GP states that P is always satisfied.