Temporal Logic

Time may be an illusion, but that doesn’t mean we can’t reason about it.

What?

A temporal logic is a logistic system that allows you to describe and reason about when statements are true.

Why?

Architects and designers can employ temporal logic as a very useful way to formalize statements about a system and prove them correct.

Systems of Temporal Logic

There are many systems of temporal logic; most are based on Prior’s tense logic (and enhancements). A particularly useful kind of temporal logic for computer scientists is one in which time is viewed as discrete (rather than continuous), considers branching time (as opposed to linear time) and in which time branches only into the future (and not into the past).

In such a system the operators include all the basic operators from predicate calculus:

as well as:

Example: $\lozenge \Box p$ means “eventually, $p$ will stay true forever”
Example: $\lozenge \Box p \wedge \lozenge \Box q \supset \lozenge \Box (p \wedge q)$ means “if eventually $p$ will be true forever and eventually $q$ will be true forever, then eventually both $p$ and $q$ will be true forever.”

Fancier systems of temporal logic include operators such as

Leslie Lamport’s TLA (Temporal Logic of Actions) is a well-developed system useful for “specifying and reasoning about concurrent and reactive systems.”

Links