Fact-checked by Grok 2 weeks ago

Linear temporal logic

Linear temporal logic (LTL) is a propositional that extends with temporal operators to express properties of systems evolving over discrete, infinite linear time structures, enabling the and of reactive and concurrent programs. Introduced by Amir Pnueli in as a unified framework for program , LTL addresses the limitations of traditional proof methods by incorporating time-dependent assertions directly into specifications, particularly for cyclic and parallel systems where behaviors unfold indefinitely. Pnueli's approach emphasized two core notions of correctness—invariance (properties that hold forever) and eventuality (properties that eventually occur)—allowing intuitive proofs of and liveness without relying on auxiliary variables or inductive arguments. Since its inception, LTL has become a cornerstone of in , with its satisfiability and model-checking problems shown to be . The syntax of LTL is built from a set of atomic propositions p \in AP, classical Boolean connectives (\land, \lor, \lnot, \to), and temporal operators including:
  • X \phi: "next" – \phi holds in the immediate successor state;
  • F \phi: "eventually" – \phi holds at some future state;
  • G \phi: "always" (globally) – \phi holds in all future states;
  • \phi U \psi: "until" – \psi holds at some future state, and \phi holds at all states until then.
These operators can be combined to form well-formed formulas, with derived operators like (release, the dual of until) often included for completeness. Semantically, LTL formulas are interpreted over infinite sequences of states (traces) \pi = \pi_0, \pi_1, \pi_2, \dots, where satisfaction \pi, i \models \phi (formula \phi holds at position i in trace \pi) is defined recursively: for example, \pi, i \models G \phi if \pi, j \models \phi for all j \geq i, and \pi, i \models \phi U \psi if there exists k \geq i such that \pi, k \models \psi and \pi, j \models \phi for all i \leq j < k. This linear-time semantics assumes a single execution path, distinguishing LTL from branching-time logics like CTL, which quantify over multiple paths. LTL's primary application lies in model checking, an automated verification technique that exhaustively checks whether a finite-state model satisfies an LTL specification, providing counterexamples (violating traces) upon failure. Pioneered in the 1980s through automata-theoretic methods—translating LTL formulas to Büchi automata and checking language emptiness in the product with the system model—LTL model checking has been enhanced by symbolic representations like binary decision diagrams (BDDs) to combat state-space explosion. Tools such as NuSMV, SPIN, and SPOT implement these algorithms, supporting industrial verification of hardware (e.g., circuits) and software (e.g., protocols) for properties like mutual exclusion (Gcritical)) or progress (GF request \to GF grant). LTL's expressiveness covers all ω-regular properties, though extensions like past operators or metric time (MTL) address limitations in finite-trace or real-time scenarios.

Introduction and Fundamentals

Definition and Motivation

Linear temporal logic (LTL) is a modal temporal logic fragment designed to specify and reason about properties of reactive systems over infinite sequences of states, known as traces, within transition systems. It extends classical propositional logic by incorporating temporal modalities that capture the evolution of system behaviors along linear paths, enabling the expression of how propositions hold now, next, always, or eventually in the future. This formalism is particularly suited for formal verification, where it allows engineers to assert that a system satisfies desired temporal properties across all possible executions. The primary motivation for LTL arises from the need to verify reactive systems, such as operating systems or embedded controllers, which run indefinitely and interact continuously with their environment, unlike terminating transformational programs. Traditional propositional logic fails to adequately describe infinite behaviors or temporal dependencies in such systems, as it cannot distinguish between properties holding at different times or express progress over time. LTL addresses this by supporting key property classes: safety properties, which ensure "nothing bad ever happens" (e.g., mutual exclusion in concurrent processes), and liveness properties, which guarantee "something good eventually happens" (e.g., a request is eventually granted). These capabilities make LTL essential for detecting issues like deadlocks or starvation in non-terminating computations. At its core, LTL employs basic temporal modalities such as next (X), until (U), and derived operators like eventually (F) and globally (G). The X \phi operator asserts that \phi holds in the immediate next state along the trace; \phi_1 U \phi_2 requires \phi_1 to hold until \phi_2 becomes true; F \phi (derived as \top U \phi) means \phi will hold at some future point; and G \phi (derived as \neg F \neg \phi) indicates \phi holds globally in all future states. For instance, G p intuitively means "p holds globally" throughout the execution. Historically, LTL emerged to overcome the limitations of propositional logic in handling the temporal aspects of program verification, particularly for concurrent and reactive programs where time dependencies are crucial. Introduced by in 1977 as a tool for unifying the specification and proof of both sequential and parallel systems, it provided a natural language for expressing invariance and eventuality that prior methods lacked. This foundation has since made LTL a cornerstone of automated verification techniques.

Historical Development

Linear temporal logic (LTL) was introduced by Amir Pnueli in 1977 as a formal method for specifying and verifying properties of concurrent programs, particularly to reason about their behavior over time. In his seminal paper "The Temporal Logic of Programs," presented at the 18th IEEE Symposium on Foundations of Computer Science, Pnueli proposed extending propositional logic with temporal operators to express liveness and safety properties, enabling rigorous proofs of program correctness without relying solely on induction. This innovation bridged the gap between informal notions of time-dependent behavior and formal verification, laying the groundwork for temporal reasoning in computer science. For his contributions, including the introduction of temporal logic, Pnueli received the 1996 ACM Turing Award. In the 1980s, LTL saw significant extensions and algorithmic advancements. Zohar Manna and Amir Pnueli developed frameworks for fair transition systems, introducing fairness conditions to handle nondeterminism in concurrent systems and proving properties under these assumptions using temporal logic. Their work refined LTL's application to reactive systems by incorporating justice and compassion fairness notions. Concurrently, Amir Pnueli and colleagues explored LTL's complexity, while Edmund M. Clarke and A. Prasad Sistla advanced model checking techniques for LTL formulas, demonstrating that the problem is PSPACE-complete and providing efficient automata-based algorithms for verification. Key milestones in the 1990s included LTL's integration into practical tools and standards. The SPIN model checker, developed by Gerard J. Holzmann, incorporated LTL specifications for verifying distributed software systems, translating formulas into Büchi automata for on-the-fly checking and enabling widespread adoption in industry. This era also saw LTL's recognition in hardware verification through emerging standards; the IEEE Property Specification Language (PSL), formalized in IEEE 1850 (2005 but rooted in 1990s efforts), adopted LTL-style operators for temporal assertions in digital design flows. By the 2020s, LTL has influenced runtime verification and AI safety. Tools like RV-Monitor have incorporated LTL for parametric monitoring of executing systems, generating efficient monitors from temporal specifications to detect violations in real-time without exhaustive state exploration. In AI safety, LTL specifications guide reinforcement learning by encoding safety constraints, such as avoiding unsafe states over time, as seen in frameworks that synthesize policies compliant with temporal properties to ensure robust behavior in uncertain environments.

Syntax and Semantics

Syntax

Linear temporal logic (LTL) formulas are constructed inductively from a finite set of atomic propositions AP, which represent basic state properties such as p, q \in AP. The syntax of LTL is defined by the following Backus-Naur form (BNF) grammar, extending propositional logic with temporal operators: \begin{align*} \phi &::= p \mid \neg \phi \mid \phi_1 \wedge \phi_2 \mid \phi_1 \vee \phi_2 \mid X \phi \mid \phi_1 \, U \, \phi_2 \mid \phi_1 \, R \, \phi_2, \end{align*} where p \in AP, \neg denotes negation, \wedge and \vee are conjunction and disjunction, X is the "next" operator, U is the "until" operator, and R is the "release" operator. Other propositional connectives, such as implication (\rightarrow) and equivalence (\leftrightarrow), are defined as abbreviations: \phi_1 \rightarrow \phi_2 \equiv \neg \phi_1 \vee \phi_2 and \phi_1 \leftrightarrow \phi_2 \equiv (\phi_1 \rightarrow \phi_2) \wedge (\phi_2 \rightarrow \phi_1). Several temporal operators are derived from the basic ones for convenience. The "eventually" operator F is defined as F \phi \equiv \top \, U \, \phi, where \top is the constant true formula. The "always" (or "globally") operator G is defined as G \phi \equiv \neg F \neg \phi. The "validity until" (or "weak until") operator V is defined as \phi_1 \, V \, \phi_2 \equiv \neg (\neg \phi_1 \, U \, \neg \phi_2). LTL is closed under negation and conjunction, meaning that if \phi and \psi are LTL formulas, then so are \neg \phi and \phi \wedge \psi. As a preprocessing step, LTL formulas are often converted to negation normal form (NNF), where negations appear only in front of atomic propositions, to facilitate subsequent analysis such as automata construction. For example, a simple LTL formula specifying mutual exclusion in a system might be G (request \rightarrow F grant), meaning that whenever a request holds, a grant will eventually hold in the future.

Semantics

Linear temporal logic (LTL) semantics are defined with respect to Kripke structures, which provide a finite-state model of a system. A Kripke structure M = (S, \to, L, I) consists of a finite set of states S, a total transition relation \to \subseteq S \times S, a labeling function L: S \to 2^{AP} assigning subsets of atomic propositions AP to each state, and a nonempty set of initial states I \subseteq S. The behavior of the system is captured by infinite paths, which are sequences \sigma = \sigma(0), \sigma(1), \dots such that \sigma(i) \in S and (\sigma(i), \sigma(i+1)) \in \to for all positions i \geq 0. Satisfaction of an LTL formula \phi is defined relative to such a path starting from an initial state, using the relation M, \sigma, i \models \phi, which holds if \phi is true at position i along \sigma in M. This relation is defined inductively on the structure of \phi, covering atomic propositions, Boolean connectives, and temporal operators. For atomic propositions and Boolean connectives, satisfaction follows classical propositional logic evaluated at the current state: M, \sigma, i \models p if and only if p \in L(\sigma(i)); M, \sigma, i \models \neg \phi if and only if M, \sigma, i \not\models \phi; and M, \sigma, i \models \phi_1 \land \phi_2 if and only if both M, \sigma, i \models \phi_1 and M, \sigma, i \models \phi_2 (with similar rules for other connectives). For the core temporal operators, the rules are as follows:
  • M, \sigma, i \models \mathbf{X} \phi if and only if M, \sigma, i+1 \models \phi.
  • M, \sigma, i \models \phi_1 \mathbf{U} \phi_2 if and only if there exists k \geq i such that M, \sigma, k \models \phi_2 and, for all j with i \leq j < k, M, \sigma, j \models \phi_1.
Derived operators such as "globally" (\mathbf{G} \phi \equiv \neg \mathbf{F} \neg \phi) and "eventually" (\mathbf{F} \phi \equiv \top \mathbf{U} \phi) follow from the until operator, where M, \sigma, i \models \mathbf{G} \phi if and only if M, \sigma, j \models \phi for all j \geq i, and M, \sigma, i \models \mathbf{F} \phi if and only if there exists j \geq i such that M, \sigma, j \models \phi. Satisfaction for the entire structure incorporates path quantifiers: M \models \phi (universal satisfaction) if and only if, for every initial state s \in I and every path \sigma with \sigma(0) = s, it holds that M, \sigma, 0 \models \phi; existential satisfaction M \models_E \phi holds if there exists some such path where M, \sigma, 0 \models \phi. In standard LTL applications like model checking, the universal quantifier is used to verify that a property holds on all possible executions. For example, consider the formula \mathbf{G} p, which asserts that proposition p holds globally along a path. A path \sigma satisfies M, \sigma, 0 \models \mathbf{G} p if p \in L(\sigma(j)) for every position j \geq 0, meaning p is true in every state of the path.

Until and Release Operators

In linear temporal logic (LTL), the until and release operators form the foundational binary temporal modalities that enable the expression of complex temporal relationships along execution paths. The until operator captures persistence followed by an event, while the release operator, as its logical dual, describes obligations that persist until discharged. These operators were originally introduced by Hans Kamp in his 1968 dissertation on tense logic and later adapted by Amir Pnueli for formal verification of concurrent programs in 1977. The strong until operator, denoted \phi U \psi, requires that \phi holds continuously until a future point where \psi becomes true, with \psi guaranteed to occur eventually. Formally, for an infinite sequence \sigma over atomic propositions and position i \geq 0, \sigma, i \models \phi U \psi if and only if there exists k \geq i such that \sigma, k \models \psi and, for all i \leq j < k, \sigma, j \models \phi. This operator is particularly suited for specifying liveness properties, such as progress guarantees in reactive systems. For example, in a mutual exclusion protocol, the formula request U grant ensures that every request is eventually followed by a grant of access. A variant known as weak until, denoted \phi W \psi, relaxes the requirement that \psi must eventually hold, permitting the scenario where \phi persists indefinitely without \psi ever occurring. Formally, \sigma, i \models \phi W \psi if and only if \sigma, i \models (\phi U \psi) \lor \mathbf{G} \phi, where \mathbf{G} \phi asserts that \phi holds globally from position i onward. This distinction arises because strong until enforces an existential commitment to \psi, whereas weak until aligns more closely with safety-oriented specifications that tolerate non-termination under certain conditions. The release operator, denoted \phi R \psi, serves as the De Morgan dual of until and specifies that \psi must hold at least until \phi becomes true, after which the obligation on \psi is released; if \phi never holds, then \psi must hold forever. Formally, \sigma, i \models \phi R \psi if and only if \sigma, i \models \neg (\neg \psi U \neg \phi). The standard release (weak) requires \psi to hold at position i and allows \psi to persist globally if \phi never occurs. A strong variant of release requires that \phi eventually holds, with \psi holding up to and including the position where \phi first holds. This operator is commonly used for safety properties, such as resource allocation protocols; for instance, grant R \neg request ensures that no new request is made until a grant is issued, preventing invalid access attempts. These operators exhibit key semantic distinctions that underpin LTL's expressive power. The weak until avoids the strict eventualism of strong until, enabling formulations equivalent to derived operators like "always" in limiting cases, while release inverts the temporal polarity to focus on persistence until interruption rather than anticipation. Such nuances allow LTL to distinguish between obligation-driven (release) and expectation-driven (until) temporal claims, with until favoring liveness and release supporting invariance until violation.

Logical Properties

Equivalences

Linear temporal logic (LTL) features a range of logical equivalences that facilitate formula simplification and semantic preservation, essential for efficient reasoning in verification processes. These equivalences extend propositional logic rules to temporal operators and enable reductions in formula size by eliminating redundancies or converting between operator types. Among the basic equivalences, the derived temporal operators are defined in terms of the until operator U. Specifically, the eventually operator satisfies F \phi \equiv \top U \phi, indicating that \phi holds at some point in the future (including the present). The globally operator is dually defined as G \phi \equiv \neg F \neg \phi, or equivalently \bot R \phi using the release operator R, ensuring \phi holds at all future points. Propositional equivalences also apply directly, such as \phi \to \psi \equiv \neg \phi \lor \psi. Temporal identities further include distributivity properties of operators over conjunction and disjunction. The next operator X distributes over both: X (\phi \land \psi) \equiv (X \phi) \land (X \psi) and X (\phi \lor \psi) \equiv (X \phi) \lor (X \psi). For the until operator, distributivity holds on the left argument: (\phi \land \psi) U \chi \equiv (\phi U \chi) \land (\psi U \chi), allowing conjunctions in the prefix to be split while preserving the semantics of persistence until \chi. This holds because the requirement for both \phi and \psi to hold until \chi is equivalent to each holding until \chi independently. Past-future symmetries, expressible without past operators, arise through negation and duality, such as G F p \equiv \neg F G \neg p, which captures the infinite recurrence of p (infinitely often p) equivalently to the negation of eventually always not p. This form is commonly used in fairness constraints to ensure liveness properties like repeated access to a state labeled p. Equivalences also support size reduction by eliminating nested operators through duality. The release operator R is defined dually to until as \phi R \psi \equiv \neg (\neg \phi U \neg \psi), allowing any formula using R to be rewritten solely in terms of U and negation, reducing the operator set to a core basis. For instance, a formula involving nested R can be dualized to U, flattening the structure and potentially decreasing nesting depth. As an example of applying these equivalences, consider simplifying (p U q) \land (r U s). While no direct reduction combines the untils into a single operator, distributivity and Boolean rules can be used if additional context applies, such as rewriting implications within or dualizing negations to align with a canonical structure using only U and X. In practice, such conjunctions often remain as is after applying basic identities, aiding in modular analysis without further expansion.

Normal Forms

In linear temporal logic (LTL), the negation normal form (NNF) is a canonical representation where negation operators appear only immediately before atomic propositions, facilitating syntactic manipulations and automated reasoning. This form is obtained by systematically pushing negations inward through the formula structure, leveraging De Morgan's laws for Boolean connectives and dualities for temporal operators, such as the duality between "until" (U) and "release" (R). The construction of NNF proceeds recursively via rewrite rules applied to subformulas. For instance, the negation of a next operator is handled as \neg X \phi \equiv X \neg \phi, while for until, \neg (\phi \, U \, \psi) \equiv (\neg \phi) \, R \, (\neg \psi), and similar dualities apply to globally (G) and eventually (F), yielding \neg G \phi \equiv F \neg \phi and \neg F \phi \equiv G \neg \phi. These rules ensure that all negations are eliminated from non-atomic positions, resulting in a formula built from atomic propositions, their negations, conjunctions, disjunctions, and the temporal operators X, U, R (or equivalently F and G). The process preserves semantic equivalence and incurs only a linear size increase relative to the original formula. Beyond NNF, other normal forms tailor LTL formulas for specific analyses. The positive normal form (PNF) restricts negations to atomic propositions and employs only "positive" temporal operators like weak until (W) and release (R), avoiding strong until where possible; this form is particularly suited for expressing safety properties, which assert that certain bad states are never reached and can be characterized syntactically in PNF using only G and X. Additionally, alternation-free forms, which limit nesting of least- and greatest-fixed-point approximations, allow translation of certain LTL formulas into the alternation-free fragment of the modal μ-calculus, preserving linear-time properties recognizable by deterministic Büchi automata. These normal forms offer key benefits for computational processing, notably by standardizing formulas for translation into Büchi automata, which underpin automata-based LTL model checking algorithms. For example, the formula \neg F p, expressing that proposition p never holds in the future, first transforms via duality to G \neg p and is already in NNF since the negation applies only to the atomic proposition p.

Relations to Other Logics

Linear vs. Branching Time Logics

Linear temporal logic (LTL) operates within a linear-time paradigm, where properties are specified and verified over individual execution paths modeled as totally ordered sequences of states. In this framework, time progresses along a single line without branching, and LTL formulas describe behaviors assuming a universal quantification over all possible paths in a , with each path evaluated linearly using temporal operators like next (X), until (U), always (G), and eventually (F). This approach is particularly suited for systems where the focus is on sequential behaviors or liveness properties along predetermined traces, such as ensuring that a request is always eventually granted (GF p). In contrast, branching-time logics, exemplified by , model time as a tree-structured computation tree emanating from each state, capturing nondeterminism and multiple possible futures. CTL introduces explicit path quantifiers: A (for all paths) and E (there exists a path), which prefix linear temporal subformulas to reason about the structure of the entire tree. For instance, E F p asserts the existence of at least one path leading to a state satisfying p, allowing the expression of possibilities and choices inherent in concurrent or nondeterministic systems. The expressiveness of LTL and CTL is incomparable, meaning each can capture properties the other cannot. LTL cannot express branching-time properties that mix existential and universal quantification over paths, such as EF p \land AG (p \to AG q), which states that there exists a path reaching a state where p holds, and from every such p-state, all subsequent paths satisfy q globally. Conversely, CTL struggles with certain linear-time fairness conditions; for example, the LTL formula F G p ("eventually always p," on all paths) has no equivalent in CTL, as CTL's requirement for balanced path quantifiers in every subformula limits its ability to uniformly enforce persistent linear behaviors without branching distinctions. This distinction in paradigms traces back to foundational work establishing their theoretical underpinnings. Kamp's theorem (1968) proved that LTL, augmented with until and since operators, is expressively equivalent to first-order monadic logic over linear orders, highlighting its power for linear structures. The development of CTL by Emerson and Clarke in the early 1980s introduced branching-time reasoning to address limitations in linear logics for concurrent systems, sparking a longstanding debate on the merits of each approach for specification and verification.

Comparisons with Other Temporal Logics

Linear temporal logic (LTL) occupies a specific position in the hierarchy of temporal logics, particularly when compared to more general frameworks like (CTL*). CTL* combines path formulas, which describe properties along individual execution paths similar to LTL, with state formulas that quantify over trees of paths using existential (E) and universal (A) path quantifiers. As a result, CTL* subsumes LTL as its linear-time fragment, where LTL formulas correspond exactly to the path formulas of CTL* without path quantifiers. This inclusion highlights LTL's focus on linear structures, limiting its ability to express branching-time properties natively, such as "there exists a path where p holds eventually and another where q holds forever." In the expressiveness hierarchy, LTL is strictly less powerful than CTL*, with LTL \subset CTL*, meaning every LTL formula can be translated into an equivalent CTL* formula, but not vice versa. Furthermore, LTL's expressive power aligns precisely with the star-free regular languages over infinite words, capturing properties definable using boolean combinations of basic temporal modalities without needing the full power of automata like Büchi automata for general ω-regular languages. This equivalence underscores LTL's decidable yet restricted scope compared to CTL*, which can express a broader class including non-star-free properties. Property Specification Language (PSL), standardized by IEEE as an extension for hardware verification, builds directly on LTL by incorporating sequential extended regular expressions (SEREs) in its temporal layer. LTL forms a proper subset of PSL's foundational layer, allowing PSL to express more succinct and complex temporal patterns through operators like sequences (e.g., {a; b} for a immediately followed by b in the next step), which pure LTL cannot capture without awkward expansions involving nested until operators. While LTL suffices for many linear properties, PSL's integration of regular expressions enables the full ω-regular expressiveness, making it suitable for industrial applications where LTL alone requires extensions for sequence-based specifications. Timeline logic (TL), rooted in monadic first-order logic over linear orders, demonstrates equivalence to LTL through Kamp's theorem, which establishes that LTL with until and release operators (or future and past tenses) captures exactly the same properties as monadic first-order logic with the order relation (<). This equivalence implies no fundamental gaps in expressiveness between standard LTL and TL for linear-time properties over infinite sequences. However, differences arise in decidability contexts: while LTL satisfiability is PSPACE-complete and decidable via automata translations, TL's first-order formulation can lead to undecidability in broader settings without the linear restrictions imposed by LTL's modalities.

Computational Aspects

Model Checking

Model checking in linear temporal logic (LTL) determines whether a finite-state model, typically represented as a , satisfies a given LTL formula. This verification process ensures that all possible infinite paths in the model conform to the temporal properties specified by the formula, providing an automated way to detect violations and generate counterexamples. The problem is decidable and PSPACE-complete in the size of the formula for fixed models. The predominant technique for LTL model checking is the automata-theoretic approach, which reduces the verification to checking the language emptiness of a product automaton. Given an LTL formula φ and a Kripke structure M = (S, S_0, R, L), first convert ¬φ (assumed in negation normal form) to a nondeterministic Büchi automaton A_{¬φ} that accepts exactly the infinite words satisfying ¬φ (i.e., violating paths for φ). Then, construct the product graph M × A_{¬φ} and check if it has any infinite path starting from an initial state that visits some accepting state of A_{¬φ} infinitely often; emptiness implies M ⊨ φ. This method leverages automata theory to handle the linear-time nature of LTL paths. The conversion from LTL to Büchi automaton relies on a tableau construction, where states of A_{¬φ} correspond to subsets of subformulas of ¬φ that are consistent under the semantics. Starting from the full set of subformulas, the construction builds transitions based on next-time and until obligations, ensuring acceptance for paths satisfying the formula. This algorithm, pioneered by , produces an automaton with O(2^{|φ|}) states and transitions, reflecting the exponential blowup inherent to the problem. To mitigate the state explosion in large models, on-the-fly checking explores the product M × A_{¬φ} lazily during the emptiness test, without constructing the full automata upfront. This involves labeling model states with relevant subformulas as they are visited, enabling incremental verification via nested fixpoint computations akin to those in the propositional μ-calculus. Symbolic representations using binary decision diagrams (BDDs) further optimize this for systems with vast state spaces, encoding sets of states and transitions compactly to perform reachability and acceptance checks efficiently. Fairness constraints, essential for ruling out unrealistic behaviors in concurrent systems, are incorporated by restricting the paths considered in the model. Weak fairness ensures that if a transition is continuously enabled from some point onward, it is taken infinitely often (◇□ enabled → □◇ taken), while strong fairness requires that if a transition is enabled infinitely often, it is taken infinitely often (□◇ enabled → □◇ taken). In the automata-theoretic framework, these are enforced by intersecting the product with a fairness automaton or by adjusting the acceptance condition to filter unfair paths. Practical tools implementing these techniques include NuSMV, which supports symbolic LTL model checking via BDDs and reduction to CTL, and SPIN, an explicit-state checker that uses partial-order reduction alongside automata-based LTL verification. For instance, in a semaphore model for mutual exclusion, the property G (request → F grant)—ensuring that every request is eventually granted—can be checked by converting the formula to a Büchi automaton and analyzing the product with the semaphore's Kripke structure; tools like SPIN often confirm satisfaction or reveal starvation counterexamples under unfair scheduling.

Satisfiability and Validity

In linear temporal logic (LTL), the satisfiability problem for a formula \phi asks whether there exists an infinite path \sigma over a finite alphabet such that \sigma \models \phi. This problem is PSPACE-complete for the full LTL, including operators such as next (X), until (U), and their derived forms like always (G) and eventually (F). The decision procedure for satisfiability typically involves reducing \phi to the emptiness check of a Büchi automaton. Specifically, \phi is translated into a nondeterministic Büchi automaton whose language consists of all paths satisfying \phi, and satisfiability holds if and only if this language is nonempty. This reduction, which runs in $2^{O(|\phi|)} time, leverages the equivalence between LTL and \omega-regular languages. Emptiness of the Büchi automaton can then be decided in linear time using algorithms like Tarjan's strongly connected components. An alternative algorithmic approach is the tableau method, which constructs a graph representing possible extensions of partial paths satisfying subformulas of \phi. Pioneered by , this method explores the graph to detect cycles corresponding to satisfying paths, achieving the PSPACE bound through nondeterministic expansion and loop detection. Optimizations often include preprocessing \phi into negation normal form (NNF) and applying syntactic equivalences to reduce formula size before tableau construction. The validity problem for \phi determines whether \phi holds in all models, i.e., every infinite path satisfies \phi. This is equivalent to the unsatisfiability of \neg \phi, and thus co-PSPACE-complete, inheriting the same complexity as satisfiability. Extensions of LTL lead to undecidability. For instance, LTL over infinite alphabets, such as data words where positions carry values from an unbounded domain, renders satisfiability undecidable even without the until operator. Similarly, incorporating counting mechanisms, as in freeze LTL over counter automata, makes satisfiability undecidable due to the ability to encode halting problems for Turing machines. As an illustrative example, consider the formula G p \land F \neg p, which requires proposition p to hold always and \neg p to hold eventually. This is unsatisfiable: any path satisfying G p has p true at all positions, preventing \neg p from ever occurring. Applying the tableau method yields a graph with no infinite path avoiding contradictions, or the Büchi reduction produces an empty language, confirming unsatisfiability in PSPACE.

Applications

Formal Verification

Linear temporal logic (LTL) plays a central role in formal verification by enabling the specification and automated checking of temporal properties in hardware and software designs, ensuring that systems behave correctly over time without simulation-based exhaustive testing. In hardware verification, LTL subsets are used for property checking in register-transfer level (RTL) designs, where tools analyze finite-state models against specifications to detect bugs early in the design cycle. For instance, commercial tools like employ LTL-like assertions to verify interface behaviors in complex RTL modules. A representative application in hardware involves verifying bus protocols, where LTL formulas express safety and liveness requirements, such as the property that whenever an arbiter grants access (arbiter_grant), the bus will eventually be accessible (bus_access), formalized as \mathbf{G} (arbiter_grant \rightarrow \mathbf{F} bus_access). This ensures fair resource allocation in multi-agent systems like on-chip buses, preventing starvation or deadlock. In software verification, LTL supports model checking of concurrent programs by encoding thread interactions and synchronization as temporal traces. Tools like Java Pathfinder (JPF) integrate LTL to explore all possible execution paths in Java programs, detecting issues such as race conditions or deadlocks in multithreaded applications. Additionally, LTL is applied in safety analysis of operating system kernels, where it specifies properties like mutual exclusion or priority inheritance to verify kernel modules against concurrency faults. Industrial adoption of LTL-based formal verification began in the 1990s at companies like , where model checking with temporal logics was integrated into processor design pipelines to prove properties of pipelined execution and cache coherence. Similar techniques have been employed by in hardware verification flows since the late 1990s, enhancing reliability in CPU and GPU designs. In the automotive sector, LTL contributes to compliance with by facilitating the verification of safety-critical electronic systems, such as controller area network (CAN) protocols, to meet automotive safety integrity levels (). A notable case study is the verification of Fischer's mutual exclusion algorithm, a classic concurrent protocol ensuring that only one process enters a critical section at a time while guaranteeing progress. LTL liveness properties, such as \mathbf{G} (request \rightarrow \mathbf{F} enter_critical), are used to confirm that every request eventually leads to access, with model checkers validating the algorithm's fairness under bounded delays. A primary challenge in LTL formal verification is the state explosion problem, where the number of reachable states grows exponentially with system size, rendering exhaustive checking infeasible for large designs. This is mitigated through abstraction techniques, which simplify models by grouping equivalent states or removing irrelevant details while preserving key temporal properties, allowing verification of industrial-scale systems.

System Monitoring and Synthesis

Linear temporal logic (LTL) plays a central role in runtime verification, a technique for dynamically monitoring system executions to ensure compliance with temporal specifications during operation. In runtime monitoring, LTL formulas are translated into finite-state automata that process input traces incrementally, enabling online detection of violations or confirmations of properties as events unfold. A key method involves rewriting future-time LTL formulas into equivalent past-time LTL expressions, which facilitate efficient, constant-time updates per trace step by relying solely on historical observations rather than lookahead. This approach powers tools like LOLA, which synthesizes monitors for synchronous systems by compiling LTL specifications into stream-based evaluators that track obligations and facts in real-time. Unlike static verification methods, runtime monitoring with emphasizes lightweight, non-intrusive observation of partial traces in adversarial or uncertain environments, where full system models are unavailable or impractical. Monitors can signal violations immediately upon detection, supporting applications in embedded systems and cybersecurity by enforcing safety properties like "whenever an input arrives, an output must eventually follow." For incremental evaluation, automata-based monitors maintain a state representing possible future behaviors consistent with the past, allowing adaptation to new observations without recomputation. LTL synthesis addresses the problem of automatically constructing reactive systems that satisfy given temporal specifications against arbitrary environmental inputs, originating from the Pnueli-Rosner framework in the late 1980s. A specification φ is realizable if there exists a Mealy machine—a finite-state transducer mapping input sequences to output sequences—that ensures every possible infinite trace satisfies φ, treating the environment as potentially adversarial. The realizability and synthesis problems for general LTL are 2EXPTIME-complete, reflecting the computational challenge of solving parity games derived from the specification. Tools like Strix implement efficient algorithms by translating LTL to deterministic parity automata and solving them via novel game-solving techniques, outperforming predecessors on large benchmarks. In practice, synthesis generates controllers for specifications like G(env_input → F sys_output), ensuring that whenever the environment provides an input, the system eventually produces the required output, even under partial observability where agents see only subsets of variables. This differs from verification by focusing on generative tasks in open environments, producing strategies robust to unknown adversarial behaviors rather than exhaustive pre-deployment checks. For realizable φ, the resulting provides a winning strategy in the underlying two-player game. Recent applications extend LTL synthesis to modern domains, including AI agents where temporal goals guide reinforcement learning policies, such as instructing agents to achieve sequences like "repeatedly visit location A until B occurs." In blockchain, LTL specifications enable synthesis of smart contract state machines, automating control flows for decentralized applications like escrow protocols that enforce liveness under distributed inputs. These uses highlight LTL's role in bridging high-level temporal reasoning with executable, verifiable implementations in dynamic settings.

Extensions and Variants

Past-Time Operators

Linear temporal logic (LTL) can be extended with past-time operators to express properties referring to historical events in a computation trace. These operators allow formulas to reference previous states, enabling specifications that are more intuitive for certain applications, such as runtime monitoring of system executions. The extension, often denoted as LTL with past (LTL+P), incorporates modalities that look backward along the linear trace while preserving the core future-oriented semantics of standard LTL. The primary past-time operators include Yesterday (Y \phi), Previously (O \phi, equivalent to Y \phi in basic usage), Since (S), and Triggered Until (T). The syntax of LTL+P extends the standard LTL grammar by adding these operators: \phi ::= p \mid \neg \phi \mid \phi \land \phi \mid X \phi \mid \phi U \phi \mid Y \phi \mid \phi S \phi \mid \phi T \phi, where p is a proposition, X is next (future), and U is until (future). The Yesterday operator Y \phi holds at position i in a trace \sigma if i > 0 and \phi holds at i-1. Similarly, Previously O \phi asserts that \phi held in the immediate previous state, aligning with Y \phi for single-step reference. The Since operator \phi S \psi is binary: at position i, \sigma, i \models \phi S \psi if and only if there exists j \leq i such that \sigma, j \models \psi and for all k with j < k \leq i, \sigma, k \models \phi. The Triggered Until T provides a weak variant of Since, holding if \psi is true or if \phi has held continuously since the last occurrence of \psi. These operators are defined over infinite or finite traces, with semantics adjusted for the starting point in finite cases. In terms of expressiveness, LTL+P is equivalent to standard LTL when evaluated over full infinite branches, meaning any property expressible with past operators can be reformulated using only future operators, though often with exponentially larger formulas. This equivalence holds because past references can be simulated by future projections in complete traces, but the addition of past operators significantly reduces formula size for certain properties and facilitates modular reasoning. For instance, past operators are particularly useful in monitoring finite execution traces, where future assumptions do not apply, allowing direct inspection of historical events without needing to extend traces artificially. Lichtenstein, Pnueli, and Zuck demonstrated this equivalence and highlighted how past modalities enable concise encodings of liveness and safety properties involving history. A representative example is specifying that "proposition p has occurred since the last time q held," which can be expressed as p \, S \, (\neg q \land O q). Here, O q identifies the most recent previous occurrence of q, and S ensures p has held in all states following that point up to the present. This formula is valuable in debugging system traces, where verifying historical dependencies directly aids in identifying anomalies without reformulating into future-only terms. Such expressions leverage past operators to make specifications more aligned with observational needs in verification and monitoring contexts.

Quantitative and Metric Variants

Quantitative variants of linear temporal logic extend the classical framework by incorporating probabilistic measures or timing constraints, allowing specifications of properties with quantitative guarantees over stochastic or real-time systems. These extensions are particularly useful for modeling uncertainties in concurrent systems or precise timing in cyber-physical applications. Seminal work on probabilistic extensions traces back to the development of probabilistic temporal logics that augment LTL operators with probability bounds, interpreted over probabilistic models like Markov chains. Probabilistic linear temporal logic (PLTL) introduces operators such as \mathbf{P}_{>p} (\phi), which asserts that the probability exceeds p that the path satisfies \phi, where \phi is a standard LTL formula. The semantics are defined over Markov decision processes or discrete-time Markov chains, where paths are generated probabilistically, and satisfaction is determined by the measure of paths meeting the temporal property. For instance, \mathbf{P}_{>p} (\mathbf{F} \phi) requires that the probability of eventually reaching a state satisfying \phi is greater than p. This logic enables reasoning about reliability and performance in systems with nondeterminism or randomness. Model checking for PLTL against finite-state probabilistic systems is PSPACE-complete, reflecting the complexity of exploring path probabilities alongside the exponential blowup from LTL automata constructions. Metric temporal logic (MTL) extends LTL by equipping temporal operators with time intervals, such as the timed until \phi \mathbf{U}_I \psi, where I is a nonempty over the non-negative reals (e.g., \phi \mathbf{U}_{[0,5]} \psi means \psi holds within 0 to 5 time units after \phi). The semantics are defined over timed models, including dense-time structures like timed words or hybrid automata, where time is continuous or densely discretized. is suited for specifying constraints in systems. Over dense-time models, the problem for is undecidable, due to the expressiveness of pointwise timing constraints that encode halting problems for Turing machines. However, decidable fragments like metric interval temporal logic (MITL), which restricts intervals to nonempty open or half-open forms, admit complete procedures, albeit with high complexity. Signal temporal logic (STL) builds on as a variant for continuous-time signals in hybrid systems, incorporating quantitative semantics via a robustness measure that quantifies the to of a . For predicates \mu over real-valued signals, robustness is the signed to the (e.g., for x > c, it is x - c); this extends recursively to temporal operators, yielding a real-valued satisfaction function rather than . STL thus supports not only but also optimization and by maximizing robustness. These logics find applications in cyber-physical systems, where quantitative guarantees ensure safety and timing in devices like medical implants. For example, has been used to verify pacemaker timing requirements, specifying that pacing occurs within precise intervals after detecting arrhythmias. In probabilistic settings, a PLTL formula like \mathbf{P}_{>0.9} (\mathbf{G} (\text{alarm} \rightarrow \mathbf{F}_{[1,2]} \text{reset})) ensures with probability over 0.9 that whenever an alarm triggers, a reset follows within 1 to 2 time units, applicable to fault-tolerant control systems. STL's robustness further aids in runtime monitoring and controller design for autonomous vehicles or , quantifying how closely trajectories satisfy temporal-spatial specifications.

References

  1. [1]
    The temporal logic of programs | IEEE Conference Publication
    The temporal logic of programs. Abstract: A unified approach to program verification is suggested, which applies to both sequential and parallel programs. The ...
  2. [2]
    [PDF] A Survey on Temporal Logics - arXiv
    Apr 25, 2011 · This paper surveys main and recent studies on temporal logics in a broad sense by presenting various logic systems, dealing with various ...
  3. [3]
    [PDF] Linear Temporal Logic Symbolic Model Checking
    This survey provides a perspective on the formal verification technique of linear temporal logic (LTL) symbolic model checking, from its history and evolution ...
  4. [4]
    [PDF] Principles of Model Checking
    This book was set in Aachen and Dresden by Christel Baier and Joost-Pieter Katoen. ... Linear Temporal Logic ...
  5. [5]
    [PDF] Amir Pnueli University of Pennsylvania, Pa. 191D4 and Tel-Aviv ...
    THE TEMPORAL LOGIC OF PROGRAMS*. Amir Pnueli. University of Pennsylvania, Pa. 191D4 and. Tel-Aviv University, Tel Aviv, Israel. Summary: A unified approach to ...
  6. [6]
    [PDF] Lecture Notes on Linear Temporal Logic - Carnegie Mellon University
    Apr 4, 2024 · far, we will, instead, leverage the motivation of a temporal understanding of programs as a segway into studying temporal logics and their use ...
  7. [7]
    [PDF] [9] A. Pnueli, The temporal logic of programs, Proceedings of the ...
    [9] A. Pnueli, The temporal logic of programs, Proceedings of the 18th IEEE Symposium on Foundation of Computer Science, 1977, 46-57.
  8. [8]
    Amir Pnueli - A.M. Turing Award Laureate
    For seminal work introducing temporal logic into computing science and for outstanding contributions to program and system verification.
  9. [9]
    Fairness and related properties in transition systems — a temporal ...
    In this paper we propose a notion of fairness for transition systems and a logic for proving properties under the fairness assumption corresponding to this.
  10. [10]
    The Model Checker SPIN | IEEE Transactions on Software ...
    SPIN is an efficient verification system for models of distributed software systems. It has been used to detect design errors in applications.
  11. [11]
    Runtime Verification for LTL and TLTL - ACM Digital Library
    This article studies runtime verification of LTL and TLTL properties, using a three-valued semantics, and a simple monitor generation for LTL.
  12. [12]
    Safety Constraint-Guided Reinforcement Learning with Linear ...
    This study aims to address this challenge by integrating temporal logic constraints into RL algorithms, thereby providing a formal mechanism for safety ...
  13. [13]
    Temporal Logic - Stanford Encyclopedia of Philosophy
    Nov 29, 1999 · Temporal Logic covers all formal approaches to representing and reasoning about time and temporal information.
  14. [14]
    [PDF] tl.pdf - Spot
    The hierarchy of linear temporal properties was introduced by Manna and Pnueli ... On translating linear temporal logic into alternating and nondeterministic au-.
  15. [15]
    Principles of Model Checking - MIT Press
    Apr 25, 2008 · A comprehensive introduction to the foundations of model checking, a fully automated technique for finding flaws in hardware and software.<|control11|><|separator|>
  16. [16]
    [PDF] Probabilistic model checking
    − usual equivalences hold: F φ ≡ true U φ, G φ ≡ ¬(F ¬φ). • LTL semantics (for a path ω). − ω ⊨ true always. − ω ⊨ a ⇔ a ∈ L(ω(0)). − ω ⊨ ψ1 ∧ ψ2.
  17. [17]
    [PDF] A Calculational Deductive System for Linear Temporal Logic
    Abstract. This paper surveys the linear temporal logic (LTL) literature and presents all the. LTL theorems from the survey, plus many new ones, ...
  18. [18]
    None
    Error: Could not load webpage.<|separator|>
  19. [19]
    [PDF] An Efficient Normalisation Procedure for Linear Temporal Logic and ...
    May 1, 2020 · We present a direct and purely syntactic normalisation proce- dure for LTL yielding a normal form, comparable to the one by Chang, Manna, and ...
  20. [20]
    [PDF] Model Checking of Safety Properties - Rice University
    Oct 8, 2024 · Given an LTL formula in positive normal form, one can build an alternating Büchi automaton A = h2AP; Q; ; Q0; Fi such that L(A ) = k k.
  21. [21]
    [PDF] From Linear Time to Branching Time 1 Introduction - Rice University
    Sep 12, 2002 · by either an automaton or an LTL formula, can be translated to an alternation-free -calculus formula, and describe the translation, when ...
  22. [22]
    [PDF] Branching vs. Linear Time: Final Showdown* - Rice University
    Dec 14, 2002 · The LTL formula F Gp is not expressible in CTL, while the CTL formula AF AGp is not expressible in LTL.
  23. [23]
    [PDF] On Branching versus Linear Time Temporal Logic
    169-180. IO. EMERSON, E. A., AND HALPERN, J. Y. “Sometimes” and “not never” revisited: On branching vs. linear time. Res. Rep. RJ 4197, IBM Research, San ...
  24. [24]
    [PDF] A PROOF OF KAMP'S THEOREM 1. Introduction Temporal Logic (TL ...
    Feb 18, 2014 · A chain is Dedekind complete if its underlying linear order is Dedekind complete. The fundamental theorem of Kamp's states that TL(Until,Since) ...
  25. [25]
    [PDF] Decision Procedures and Expressiveness in the Temporal Logic of ...
    In this paper we consider the computation tree logic (CTL) proposed by. Clarke and Emerson [5] which extends the unified branching time logic (UB) of. Ben-Ari, ...
  26. [26]
    [PDF] The Rise and Fall of LTL - Rice University
    Kamp, 1968: Linear temporal logic with past and binary temporal connectives (“until” and ... Linear Temporal logic (LTL): logic of temporal sequences (Pnueli, ...
  27. [27]
    From PSL to LTL: a formal validation in HOL - ACM Digital Library
    The IEEE standard property specification language (PSL) is increasingly used in many phases of the hardware design cycle, from specification to verification.
  28. [28]
    [PDF] Linear-time Temporal Logic
    Linear Temporal Logic. 2015/2016. 16 / 68. Page 16. Kamp's theorem. Theorem 4 (Kamp 1968). LTL is exactly as expressive as MFO(<). As we saw, any LTL formula ...
  29. [29]
    Efficient Model Checking in Fragments of the Propositional Mu ...
    Semantic Scholar extracted view of "Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract)" by E. Emerson et al.
  30. [30]
    [PDF] Automated Program Verification with Software Model Checking
    non starvation: AG (request ⇒ AF grant). “sanity” check: EF request ... – G (request ⇒ F acknowledge). • Each path contains infinitely many q's.
  31. [31]
    The complexity of propositional linear temporal logics
    The complexity of propositional linear temporal logics. STOC '82: Proceedings of the fourteenth annual ACM symposium on Theory of computing.
  32. [32]
    [PDF] An Automata-Theoretic Approach to Linear Temporal Logic
    Abstract. The automata-theoretic approach to linear temporal logic uses the theory of automata as a unifying paradigm for program specification, ...
  33. [33]
    [PDF] LTL Satisfiability Checking Revisited - Rice University
    For explicit model checking, they used SPIN as the search engine, and tested essentially all publicly available LTL translation tools. They used a wide variety ...<|separator|>
  34. [34]
    LTL with the Freeze Quantifier and Register Automata - IEEE Xplore
    We also prove that surprisingly, over infinite data words, LTL« without the 'unti' operator, as well as nonemptiness of one-way universal register automata, are ...
  35. [35]
    Model Checking Flat Freeze LTL on One-Counter Automata - arXiv
    Jun 8, 2016 · In this paper we study the model checking problem for Freeze LTL on one-counter automata. This problem is known to be undecidable in general ...
  36. [36]
    Jasper Formal Verification Platform - Cadence
    The Jasper platform uses formal verification apps at C/C++ and RTL levels, using smart proof and machine learning to find and fix bugs early in the design ...
  37. [37]
    [PDF] Democratizing Formal Verification of RTL Module Interactions - arXiv
    Apr 8, 2021 · It can express. Linear Temporal Logic (LTL) formulas over interface signals to build properties about module interactions. LTL specifies.
  38. [38]
    [PDF] Exploration of formal verification in GPU hardware IP
    Oct 10, 2019 · This is a new module and mainly consists of control path logic which suits formal verification. ... or Linear Temporal Logic (LTL) [8]. As shown ...
  39. [39]
    [PDF] LTL Model Checking for Systems with Unbounded Number of ...
    This paper shows how to obtain such a model of a concurrent Java program, and how to perform LTL model checking on this model. The primary technical tools used ...
  40. [40]
    [PDF] Model Checking Java Programs Using Java PathFinder
    The SPIN model checker can automatically determine whether a program satis- fies a property, and, in case the property does not hold, generate an error trace. ...
  41. [41]
    Formal Modeling and Verification of Low-Level AUTOSAR OS ...
    LTL formulas express properties such as safety (i.e., given a pre- condition, a system never enters an unsafe state), reachability (i.e., a particular state is ...
  42. [42]
    Fifteen Years of Formal Property Verification in Intel - ResearchGate
    Aug 7, 2025 · Pioneering work has been conducted in Intel since 1990 using model checking technologies to build industrial hardware verification systems. This ...Missing: AMD | Show results with:AMD
  43. [43]
    Runtime verification monitoring for automotive embedded systems ...
    Oct 1, 2014 · The ISO 26262 Road vehicles Functional Safety Standard is intended to guide the derivation of appropriate requirements and processes for ...
  44. [44]
    [PDF] Verifying LTL properties of hybrid systems with K-LIVENESS
    We tried our approach on various kinds of benchmarks and properties. Fischer family benchmarks. We considered 4 different versions of the Fischer mutual. Page ...
  45. [45]
    [PDF] TTM/PAT: A Tool for Modelling and Verifying Timed Transition Models
    Jun 4, 2013 · We also use Fischer's mutual exclusion algorithm to compare the native veri- fication performance of the TTM/PAT plug-in versus Uppaal and the ...
  46. [46]
    [PDF] Model Checking and the State Explosion Problem? - Paolo Zuliani
    Abstract. Model checking is an automatic verification technique for concurrent systems that are finite state or have finite state abstractions.Missing: mitigation | Show results with:mitigation
  47. [47]
    Combining search space partition and abstraction for LTL model ...
    The state space explosion problem is still the key obstacle for applying model checking to systems of industrial size. Abstraction-based methods have been.Missing: mitigation | Show results with:mitigation
  48. [48]
    [PDF] LOLA: Runtime Monitoring of Synchronous Systems
    This method exploits that past LTL can be recursively defined using only values in the previous state of the computation. Our efficiently monitorable.
  49. [49]
    [PDF] Monitorability for Runtime Verification - Klaus Havelund
    Runtime verification (RV) allows monitoring executions of a system, either online or offline, checking them against a formal specification. It can be ...
  50. [50]
    On the synthesis of a reactive module - ACM Digital Library
    We consider the synthesis of a reactive module with input x and output y, which is specified by the linear temporal formula @@@@(x, y).
  51. [51]
    [PDF] On the synthesis of a reactive module - Semantic Scholar
    On the Synthesis of an Asynchronous Reactive Module · A. PnueliRoni Rosner. Computer Science. ICALP. 1989. We consider the synthesis of a reactive asynchronous ...
  52. [52]
    Strix | Strix is a new tool for reactive LTL synthesis combining a ...
    Strix is a tool for reactive LTL synthesis combining a direct translation of LTL formulas into deterministic parity automata (DPA) and an efficient, multi- ...Missing: realizable | Show results with:realizable
  53. [53]
    [2301.10485] LTL Reactive Synthesis with a Few Hints - arXiv
    Jan 25, 2023 · We study a variant of the problem of synthesizing Mealy machines that enforce LTL specifications against all possible behaviours of the environment including ...Missing: realizable | Show results with:realizable
  54. [54]
    [PDF] Instructing Goal-Conditioned Reinforcement Learning Agents with ...
    Goal-conditioned reinforcement learning (RL) is a powerful approach for learning general-purpose skills by reaching diverse goals.
  55. [55]
    Smart Contract Design Meets State Machine Synthesis: Case Studies
    Jun 7, 2019 · For each case study we specify the corresponding smart contract with a set of formulas in linear temporal logic (LTL) and use this specification ...
  56. [56]
    The glory of the past - SpringerLink
    Lichtenstein, O., Pnueli, A., Zuck, L. (1985). The glory of the past. In: Parikh, R. (eds) Logics of Programs. Logic of Programs 1985. Lecture Notes in ...
  57. [57]
    An Efficient Normalisation Procedure for Linear Temporal Logic and ...
    In the mid 80s, Lichtenstein, Pnueli, and Zuck proved a classical theorem stating that every formula of Past LTL (the extension of LTL with past operators) ...
  58. [58]
    A logic for reasoning about time and reliability
    We present a logic for stating properties such as, “after a request for service there is at least a 98% probability that the service will be carried.
  59. [59]
    The complexity of probabilistic verification - ACM Digital Library
    We determine the complexity of testing whether a finite state, sequential or concurrent probabilistic program satisfies its specification expressed in linear- ...Missing: PLTL | Show results with:PLTL
  60. [60]
    Specifying real-time properties with metric temporal logic
    This paper uses metric temporal logic to specify real-time systems by extending temporal logic with a distance function to measure time.
  61. [61]
    Some Recent Results in Metric Temporal Logic - SpringerLink
    In this paper we survey results about the complexity of the satisfiability and model checking problems for fragments of MTL with respect to different semantic ...Missing: seminal | Show results with:seminal
  62. [62]
    Monitoring Temporal Properties of Continuous Signals - SpringerLink
    In this paper we introduce a variant of temporal logic tailored for specifying desired properties of continuous signals.
  63. [63]
    Robustness of temporal logic specifications for continuous-time ...
    Sep 28, 2009 · In this paper, we consider the robust interpretation of Metric Temporal Logic (MTL) formulas over signals that take values in metric spaces.