Temporal logic
In logic, temporal logic is any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time. It is sometimes also used to refer to tense logic, a modal logic-based system of temporal logic introduced by Arthur Prior in the late 1950s, with important contributions by Hans Kamp. It has been further developed by computer scientists, notably Amir Pnueli, and logicians.
Temporal logic has found an important application in formal verification, where it is used to state requirements of hardware or software systems. For instance, one may wish to say that whenever a request is made, access to a resource is eventually granted, but it is never granted to two requestors simultaneously. Such a statement can conveniently be expressed in a temporal logic.
Motivation
Consider the statement "I am hungry". Though its meaning is constant in time, the statement's truth value can vary in time. Sometimes it is true, and sometimes false, but never simultaneously true and false. In a temporal logic, a statement can have a truth value that varies in time—in contrast with an atemporal logic, which applies only to statements whose truth values are constant in time. This treatment of truth value over time differentiates temporal logic from computational verb logic.Temporal logic always has the ability to reason about a timeline. So-called linear "time logics" are restricted to this type of reasoning. Branching logics, however, can reason about multiple timelines. This presupposes an environment that may act unpredictably.
To continue the example, in a branching logic we may state that "there is a possibility that I will stay hungry forever", and that "there is a possibility that eventually I am no longer hungry". If we do not know whether or not I will ever be fed, these statements can both be true.
History
Although Aristotle's logic is almost entirely concerned with the theory of the categorical syllogism, there are passages in his work that are now seen as anticipations of temporal logic, and may imply an early, partially developed form of first-order temporal modal binary logic. Aristotle was particularly concerned with the problem of future contingents, where he could not accept that the principle of bivalence applies to statements about future events, i.e. that we can presently decide if a statement about a future event is true or false, such as "there will be a sea battle tomorrow".There was little development for millennia, Charles Sanders Peirce noted in the 19th century:
Arthur Prior was concerned with the philosophical matters of free will and predestination. According to his wife, he first considered formalizing temporal logic in 1953. He gave lectures on the topic at the University of Oxford in 1955–6, and in 1957 published a book, Time and Modality, in which he introduced a propositional modal logic with two temporal connectives, F and P, corresponding to "sometime in the future" and "sometime in the past". In this early work, Prior considered time to be linear. In 1958 however, he received a letter from Saul Kripke, who pointed out that this assumption is perhaps unwarranted. In a development that foreshadowed a similar one in computer science, Prior took this under advisement, and developed two theories of branching time, which he called "Ockhamist" and "Peircean". Between 1958 and 1965 Prior also corresponded with Charles Leonard Hamblin, and a number of early developments in the field can be traced to this correspondence, for example Hamblin implications. Prior published his most mature work on the topic, the book Past, Present, and Future in 1967. He died two years later.
The binary temporal operators Since and Until were introduced by Hans Kamp in his 1968 Ph.D. thesis, which also contains an important result relating temporal logic to first-order logic—a result now known as Kamp's theorem.
Two early contenders in formal verifications were linear temporal logic, a linear time logic by Amir Pnueli, and computation tree logic, a branching time logic by Mordechai Ben-Ari, Zohar Manna and Amir Pnueli. An almost equivalent formalism to CTL was suggested around the same time by E. M. Clarke and E. A. Emerson. The fact that the second logic can be decided more efficiently than the first does not reflect on branching and linear logics in general, as has sometimes been argued. Rather, Emerson and Lei show that any linear logic can be extended to a branching logic that can be decided with the same complexity.
Prior's tense logic (TL)
The sentential tense logic introduced in Time and Modality has four modal operators- F: "It will be the case that..."
- G: "It always will be the case that..."
- H: "It always was the case that..."
- : "At a certain point, is true at all future states of the path"
- : " is true at infinitely many states on the path"
Syntax and semantics
A minimal syntax for TL is specified with the following BNF grammar:where a is some atomic formula.
Kripke models are used to evaluate the truth of sentences in TL. A pair of a set and a binary relation < on is called a frame. A model is given by triple of a frame and a function called a valuation that assigns to each pair of an atomic formula and a time value some truth value. The notion " is true in a model = at time " is abbreviated ⊨. With this notation,
Statement | ... is true just when |
⊨ | =true |
⊨¬ | not ⊨ |
⊨ | ⊨ and ⊨ |
⊨ | ⊨ or ⊨ |
⊨ | ⊨ if ⊨ |
⊨G | ⊨ for all with < |
⊨H | ⊨ for all with < |
Given a class of frames, a sentence of TL is
- valid with respect to if for every model = with in and for every in, ⊨
- satisfiable with respect to if there is a model = with in such that for some in, ⊨
- a consequence of a sentence with respect to if for every model = with in and for every in, if ⊨, then ⊨
A minimal axiomatic logic
Burgess outlines a logic that makes no assumptions on the relation <, but allows for meaningful deductions, based on the following axiom schema:- where is a tautology of first-order logic
- G→
- H→
- →GP
- →HF
- given → and, deduce
- given a tautology, infer G
- given a tautology, infer H
- Becker's rule: given →, deduce T→T where T is a tense, any sequence made of G, H, F, and P.
- Mirroring: given a theorem, deduce its mirror statement §, which is obtained by replacing G by H and vice versa.
- Duality: given a theorem, deduce its dual statement *, which is obtained by interchanging ∧ with ∨, G with F, and H with P.
Translation to predicate logic
where is the sentence with all variable indices incremented by 1 and is a one-place predicate defined by.
Temporal operators
Temporal logic has two kinds of operators: logical operators and modal operators . Logical operators are usual truth-functional operators. The modal operators used in linear temporal logic and computation tree logic are defined as follows.Alternate symbols:
- operator R is sometimes denoted by V
- The operator W is the weak until operator: is equivalent to
In some logics, some operators cannot be expressed. For example, N operator cannot be expressed in temporal logic of actions.
Temporal logics
Temporal logics include- Interval temporal logic
- Linear temporal logic
- Computation tree logic
- Signal temporal logic
- Timestamp temporal logic
- Property specification language
- CTL* which generalizes LTL and CTL
- Hennessy–Milner logic
- Modal μ-calculus which includes as a subset HML and CTL*
- Metric temporal logic
- Metric interval temporal logic
- Timed propositional temporal logic
- Truncated Linear Temporal Logic