Skip to content
Go back

CTL glossary

Suggest changes

What is CTL?

Computation Tree Logic (CTL) is a branching-time temporal logic used in formal verification and model checking. Formulas are evaluated over a Kripke structure, a graph of states connected by transitions, and describe properties that hold along possible future computation paths.


Path quantifiers

Range over paths (computation branches) from the current state. In CTL, every temporal operator must be paired with one of these.

SymbolNameMeaning
AFor All pathsThe property holds on every possible future path from this state.
EExists a pathThere is at least one future path where the property holds.

Temporal operators

Describe when along a path the property must hold.

SymbolNameMeaning
X φneXtφ holds in the next state.
F φFinally / Futureφ holds at some state in the future (eventually). Sometimes written ◇φ.
G φGloballyφ holds in every state along the path (always). Sometimes written □φ.
φ U ψUntilφ holds at every state until some state where ψ holds (and ψ must eventually hold).
φ R ψReleaseψ holds until and including the state where φ holds; if φ never holds, ψ holds forever. Dual of Until.
φ W ψWeak UntilLike Until, but ψ does not have to eventually hold.

Combined CTL operators

In CTL, every temporal operator is prefixed by A or E. These are the eight standard pairings.

SymbolMeaning
AX φφ holds in the next state on all paths.
EX φThere exists a next state where φ holds.
AF φOn every path, φ eventually holds (inevitability).
EF φThere is some path where φ eventually holds (reachability).
AG φOn every path, φ always holds (invariant / safety).
EG φThere is some path on which φ always holds.
A[φ U ψ]On all paths, φ holds until ψ does.
E[φ U ψ]On some path, φ holds until ψ does.

Logical connectives

SymbolNameMeaning
¬ φNotNegation of φ.
φ ∧ ψAndBoth φ and ψ hold.
φ ∨ ψOrAt least one of φ or ψ holds.
φ → ψImpliesIf φ holds, then ψ holds.
φ ↔ ψEquivalentφ and ψ have the same truth value.
⊤ / ⊥True / FalseThe constant truth values.

Semantics & models

SymbolNameMeaning
M, s ⊨ φSatisfactionIn model M, state s satisfies formula φ.
M ⊨ φModel satisfactionFormula φ holds in every initial state of model M.
K = (S, R, L)Kripke structureStates S, transition relation R, and labeling L mapping each state to the atomic propositions true there.
πPathAn infinite sequence of states s₀, s₁, s₂, … where each (sᵢ, sᵢ₊₁) ∈ R.
APAtomic propositionsThe base set of boolean facts used to build formulas.
φ, ψMetavariablesStand for arbitrary CTL formulas.

Useful equivalences

AF φ  ≡  ¬EG ¬φ
EF φ  ≡  ¬AG ¬φ
AG φ  ≡  ¬EF ¬φ
EG φ  ≡  ¬AF ¬φ
EF φ  ≡  E[⊤ U φ]
AF φ  ≡  A[⊤ U φ]

Common specification patterns

PatternFormulaReads as
SafetyAG ¬badNothing bad ever happens on any path.
LivenessAG (req → AF resp)Every request is eventually answered.
ReachabilityEF goalThe goal state is reachable.
Fairness-likeAG EF resetFrom any state, it is always possible to reach a reset.
Deadlock-freedomAG EX ⊤Every reachable state has a successor.

Notes


Suggest changes
Share this post on:

Next Note
Core build automation stuff