Temporal logic
In
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-time logics, however, can reason about multiple timelines. This permits in particular treatment of environments that may act unpredictably. To continue the example, in a branching-time 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
There was little development for millennia, Charles Sanders Peirce noted in the 19th century:[2]
Time has usually been considered by logicians to be what is called 'extralogical' matter. I have never shared this opinion. But I have thought that logic had not yet reached the state of development at which the introduction of temporal modifications of its forms would not result in great confusion; and I am much of that way of thinking yet.
Surprisingly for
In the following years, research of temporal logic by Arthur Prior began.[4] He was concerned with the philosophical implications of free will and predestination. According to his wife, he first considered formalizing temporal logic in 1953. Results of his research were first presented at the conference in Wellington in 1954.[4] The system Prior presented, was similar syntactically to Łoś' logic, although not until 1955 did he explicitly refer to Łoś' work, in the last section of Appendix 1 in Prior’s Formal Logic.[4]
Along with tense logic, Prior constructed a few systems of positional logic, which inherited their main ideas from Łoś.[6] Work in positional temporal logics was continued by Nicholas Rescher in the 60s and 70s. In such works as Note on Chronological Logic (1966), On the Logic of Chronological Propositions (1968), Topological Logic (1968), and Temporal Logic (1971) he researched connections between Łoś' and Prior's systems. Moreover, he proved that Prior's tense operators could be defined using a realization operator in specific positional logics.[6] Rescher, in his work, also created more general systems of positional logics. Although the first ones were constructed for purely temporal uses, he proposed the term topological logics for logics that were meant to contain a realization operator but had no specific temporal axioms—like the clock axiom.
The binary temporal operators Since and Until were introduced by Hans Kamp in his 1968 Ph.D. thesis,[7] which also contains an important result relating temporal logic to first-order logic—a result now known as Kamp's theorem.[8][2][9]
Two early contenders in formal verifications were linear temporal logic, a linear-time logic by Amir Pnueli, and computation tree logic (CTL), 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-time logics in general, as has sometimes been argued. Rather, Emerson and Lei show that any linear-time logic can be extended to a branching-time logic that can be decided with the same complexity.
Łoś's positional logic
Syntax
The language of the logic first published in Podstawy Analizy Metodologicznej Kanonów Milla (The Foundations of a Methodological Analysis of Mill’s Methods) consisted of:[3]
- first-order logic operators ‘¬’, ‘∧’, ‘∨’, ‘→’, ‘≡’, ‘∀’ and ‘∃’
- realization operator U
- functional symbol δ
- propositional variables p1,p2,p3,...
- variables denoting time moments t1,t2,t3,...
- variables denoting time intervals n1,n2,n3,...
The set of terms (denoted by S) is constructed as follows:
- variables denoting time moments or intervals are terms
- if and is a time interval variable, then
The set of formulas (denoted by For) is constructed as follows:[10]
- all first-order logic formulas are valid
- if and is a propositional variable, then
- if , then
- if and , then
- if and and υ is a propositional, moment or interval variable, then
Original Axiomatic System
Prior's tense logic (TL)
The sentential tense logic introduced in Time and Modality has four (non-truth-functional) modal operators (in addition to all usual truth-functional operators in first-order propositional logic).[11]
- P: "It was the case that..." (P stands for "past")
- F: "It will be the case that..." (F stands for "future")
- G: "It always will be the case that..."
- H: "It always was the case that..."
These can be combined if we let π be an infinite path:[12]
- : "At a certain point, is true at all future states of the path"
- : " is true at infinitely many states on the path"
From P and F one can define G and H, and vice versa:
Syntax and semantics
A minimal syntax for TL is specified with the following BNF grammar:
where a is some atomic formula.[13]
Kripke models are used to evaluate the truth of sentences in TL. A pair (T, <) of a set T and a binary relation < on T (called "precedence") is called a frame. A model is given by triple (T, <, V) of a frame and a function V called a valuation that assigns to each pair (a, u) of an atomic formula and a time value some truth value. The notion "ϕ is true in a model U=(T, <, V) at time u" is abbreviated U⊨ϕ[u]. With this notation,[14]
Statement | ... is true just when |
---|---|
U⊨a[u] | V(a,u)=true |
U⊨¬ϕ[u] | not U⊨ϕ[u] |
U⊨(ϕ∧ψ)[u] | U⊨ϕ[u] and U⊨ψ[u] |
U⊨(ϕ∨ψ)[u] | U⊨ϕ[u] or U⊨ψ[u] |
U⊨(ϕ→ψ)[u] | U⊨ψ[u] if U⊨ϕ[u] |
U⊨Gϕ[u] | U⊨ϕ[v] for all v with u<v |
U⊨Hϕ[u] | U⊨ϕ[v] for all v with v<u |
Given a class F of frames, a sentence ϕ of TL is
- valid with respect to F if for every model U=(T,<,V) with (T,<) in F and for every u in T, U⊨ϕ[u]
- satisfiable with respect to F if there is a model U=(T,<,V) with (T,<) in F such that for some u in T, U⊨ϕ[u]
- a consequence of a sentence ψ with respect to F if for every model U=(T,<,V) with (T,<) in F and for every u in T, if U⊨ψ[u], then U⊨ϕ[u]
Many sentences are only valid for a limited class of frames. It is common to restrict the class of frames to those with a relation < that is
, or some combination of these.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:[15]
- A where A is a tautology of first-order logic
- G(A→B)→(GA→GB)
- H(A→B)→(HA→HB)
- A→GPA
- A→HFA
with the following rules of deduction:
- given A→B and A, deduce B (modus ponens)
- given a tautology A, infer GA
- given a tautology A, infer HA
One can derive the following rules:
- Becker's rule: given A→B, deduce TA→TB where T is a tense, any sequence made of G, H, F, and P.
- Mirroring: given a theorem A, deduce its mirror statement A§, which is obtained by replacing G by H (and so F by P) and vice versa.
- Duality: given a theorem A, deduce its dual statement A*, which is obtained by interchanging ∧ with ∨, G with F, and H with P.
Translation to predicate logic
Burgess gives a Meredith translation from statements in TL into statements in first-order logic with one free variable x0 (representing the present moment). This translation M is defined recursively as follows:[16]
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:
Textual | Symbolic | Definition | Explanation | Diagram |
---|---|---|---|---|
Binary operators
| ||||
φ U ψ | Until: ψ holds at the current or a future position, and φ has to hold until that position. At that position φ does not have to hold any more. | |||
φ R ψ | Release: φ releases ψ if ψ is true up until and including the first position in which φ is true (or forever if such a position does not exist). | |||
Unary operators
| ||||
N φ | Next: φ has to hold at the next state. (X is used synonymously.) | |||
F φ | Future: φ eventually has to hold (somewhere on the subsequent path). | |||
G φ | Globally: φ has to hold on the entire subsequent path. | |||
A φ | All: φ has to hold on all paths starting from the current state. | |||
E φ | Exists: there exists at least one path starting from the current state where φ holds. |
Alternate symbols:
- operator R is sometimes denoted by V
- The operator W is the weak until operator: is equivalent to
Unary operators are well-formed formulas whenever B(φ) is well-formed. Binary operators are well-formed formulas whenever B(φ) and C(φ) are well-formed.
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:
- Some systems of positional logic
- Linear temporal logic (LTL) temporal logic without branching timelines
- Computation tree logic (CTL) temporal logic with branching timelines
- Interval temporal logic (ITL)
- Temporal logic of actions (TLA)
- Signal temporal logic (STL)[18]
- Timestamp temporal logic (TTL)[19]
- Property specification language (PSL)
- CTL*, which generalizes LTL and CTL
- Hennessy–Milner logic (HML)
- Modal μ-calculus, which includes as a subset HML and CTL*
- Metric temporal logic (MTL)[20]
- Metric interval temporal logic (MITL)[18]
- Timed propositional temporal logic (TPTL)
- Truncated Linear Temporal Logic (TLTL)[21]
- Hyper temporal logic (HyperLTL) [22]
A variation, closely related to temporal or chronological or tense logics, are modal logics based upon "topology", "place", or "spatial position".[23][24]
See also
- HPO formalism
- Kripke structure
- Automata theory
- Chomsky grammar
- State transition system
- Duration calculus (DC)
- Hybrid logic
- Temporal logic in finite-state verification
- Reo Coordination Language
- Modal logic
- Research Materials: Max Planck Society Archive
Notes
- ^ Vardi 2008, p. 153
- ^ a b c Vardi 2008, p. 154
- ^ a b Łoś, Jerzy (1920-1998); Łoś, Jerzy (1920-1998) (1947). "Podstawy analizy metodologicznej kanonów Milla". Zasoby Biblioteki Głównej Umcs. nakł. Uniwersytetu Marii Curie-Skłodowskiej.
{{cite journal}}
: CS1 maint: numeric names: authors list (link) - ^ ISBN 9788772102658.
- ISBN 978-0-7923-3586-3. pp. 176–178, 210
- ^ S2CID 2110963.
- ^ "Temporal Logic (Stanford Encyclopedia of Philosophy)". Plato.stanford.edu. Retrieved 2014-07-30.
- ISBN 978-1-4020-8589-5.
- ISBN 978-3-642-03753-5.
- ^ ISSN 2300-9802.
- OCLC 905630146.
- ^ Lawford, M. (2004). "An Introduction to Temporal Logics" (PDF). Department of Computer Science McMaster University.
- ^ Goranko, Valentin; Galton, Antony (2015). Zalta, Edward N. (ed.). The Stanford Encyclopedia of Philosophy (Winter 2015 ed.). Metaphysics Research Lab, Stanford University.
- ^ Müller, Thomas (2011). "Tense or temporal logic" (PDF). In Horsten, Leon (ed.). The continuum companion to philosophical logic. A&C Black. p. 329.
- OCLC 777375659.
- OCLC 777375659.
- ^ "Temporal Logic". Stanford Encyclopedia of Philosophy. February 7, 2020. Retrieved April 19, 2022.
- ^ .
- S2CID 3570088.
- .
- S2CID 8938993.
- ISBN 978-90-481-8331-9.
- ISBN 978-94-009-9409-6.
References
- Mordechai Ben-Ari, Zohar Manna, Amir Pnueli: The Temporal Logic of Branching Time. POPL 1981: 164–176
- Amir Pnueli: The Temporal Logic of Programs FOCS 1977: 46–57
- Venema, Yde, 2001, "Temporal Logic," in Goble, Lou, ed., The Blackwell Guide to Philosophical Logic. Blackwell.
- E. A. Emerson and Chin-Laung Lei, "Modalities for model checking: branching time logic strikes back", in Science of Computer Programming 8, pp. 275–306, 1987.
- E. A. Emerson, "Temporal and modal logic", Handbook of Theoretical Computer Science, Chapter 16, the MIT Press, 1990
- A Practical Introduction to PSL, Cindy Eisner, Dana Fisman
- ISBN 978-3-540-69849-4. preprint. Historical perspective on how seemingly disparate ideas came together in computer science and engineering. (The mention of Church in the title of this paper is a reference to a little-known 1957 paper, in which Church proposed a way to perform hardware verification.)
Further reading
- Peter Øhrstrøm; Per F. V. Hasle (1995). Temporal logic: from ancient ideas to artificial intelligence. Springer. ISBN 978-0-7923-3586-3.
External links
- Stanford Encyclopedia of Philosophy: "Temporal Logic"—by Anthony Galton.
- Temporal Logic by Yde Venema, formal description of syntax and semantics, questions of axiomatization. Treating also Kamp's dyadic temporal operators (since, until)
- Notes on games in temporal logic by Ian Hodkinson, including a formal description of first-order temporal logic
- CADP – provides generic model checkers for various temporal logic
- PAT is a powerful free model checker, LTL checker, simulator and refinement checker for CSP and its extensions (with shared variable, arrays, wide range of fairness).