AGV 6.1 -- Linear-Time Temporal Logic (LTL)

Previous chapter: Complement Büchi Automaton with Odd Ranking

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

Introduction

In the following sections, we introduce several logics for the specification of sets of infinite sequences: LTL, QPTL, and S1S, which can be used to describe ω-regular languages: we can translate a given formula into an automaton that recongnizes the models of the formula.

As a result, we can use the automata-theoretic machinery to answer logical questions like satisfiability or validity. We can also use the logics as a much more convenient starting point, compared to a direct specification using automata, for verification and synthesis.

Linear-Time Temporal Logic (LTL)

Linear-time temporal logic (LTL) is a popular logic for the specification of reactive systems. For a given set of atomic propositions(AP), the formulas of LTL define sets of infinite words over the alphabet 2AP.

  • Atomic Propositions:
    the interface of a system or a component, such as (a boolean representation of) input and output variables
  • Words defined by the Formula:
    the executions of the system that are considered correct (see example in section 1.1).

Syntax of LTL

φ has to be true until and including the point where ψ first becomes true; if ψ never becomes true, φ must remain true forever.

LTL formulars are constructed from proposition logic with extra temporal operators.

 Propositional logic p,φ,AP (Atomic Propositions) ¬φ,φψ, (Logical Operators) Temporal Operatorφ / X φ NeXt: φ has to be true in next state  φ / F φ Finally: φ has to be true eventually  φ / G φ Globally: φ has to be true for now and so on φ U ψ Until: φ has to be true at least until ψ becomes true φ R ψ Release: ψ has to be true until φ becomes true (inclusive)ψ remains true forever if φ never becomes true φ W ψ Weak until: φ has to be true at least until ψ becomes true, orφ remains true forever if ψ never becomes true φ M ψ Mighty Release: ψ has to be true until φ becomes true (inclusive)

Remarks

When we determine whether a LTL formula is true or false, it only depends on current and future states.

For example, the formula φ U ψ states that φ must remain true UNTIL ψ become true. If the current state we have only ψ=true, this formula is still evaluated as true, even if φ never become true.

We can conclude that, φ U ψ=true if:

  1. In current state ψ becomes true (regardless of φ’s condition)
  2. Eventually ψ becomes true in certain state (not now), and from now Until that state, φ must remain true

Sematics of LTL

Additional operators

R,  (F),  (G) are considered as additional operators, which can be defined by other LTL operators:

  • φ R ψ¬(¬φ U ¬ψ)
  •  φ¬  ¬ φ false R φ
  •  φtrue U φ

Weak until W and Mighty release M

Weak Until is Until that accepts no stop conditions Forever, or Release that include itself as the stop conditions:

  • φ W ψ(φ U ψ) ψψ R (ψφ)

Mighty release is forced to Release Finally, or simply Until both propositions becomes true:

  • φ W ψ(φ R ψ) φψ U (ψφ)

Distributivity

 (X),  (F),  (G), U satisfied distributivity:

  • (φψ)(φ)(ψ)
  • (φψ)(φ)(ψ)
  • (φψ)(φ)(ψ)
  • (φψ)(φ)(ψ)
  • ρ U (φψ)(ρ U φ)(ρ U ψ)
  • (φψ) U ρ(φ U ρ)(ψ U ρ)
  • (φ U ψ)(φ) U (ψ)

Negation Dual

  • First of all, NeXt is a self dual:
    ¬φ¬φ (Not in next step = Next step won’t happened)
  • Finally and Globally are dual:
    ¬φ¬φ (Never happened eventually = Forever never happened)
    ¬φ¬φ (Won’t happen forever = eventually won’t happen anymore)
  • Until and Release are dual:
    ¬(φ U ψ)¬φ R ¬ψ (ψ won’t happen until φ stops = ψ can’t happen unless φ stops)
    ¬(φ R ψ)¬φ U ¬ψ (Never stop ψ with φ = φ never happens, if it does, that means ψ has been stopped)
  • Similarly, Weak Until and Mighty Release are also dual:
    ¬(φ W ψ)¬φ M ¬ψ
    ¬(φ M ψ)¬φ W ¬ψ

Special temporal properties

  • φφ
    (Finally Finally φ is true)
  • φφ
    (φ is always always true)
  • φ U ψφ U (φ U ψ)
    (φ is true Until ψ become true = φ is true Until, if “φ is true Until ψ become true” is true)
  • φφ(φ)
    ( φ Finally becomes true = either now φ is true or in neXt step φ Finally becomes true)
  • φφ(φ)
    ( φ is always true = now φ is true and in neXt step φ is also always true)

Summary

In this section, we have go through basic sytanx and properties of LTL. In next section we will try to apply the formula to some systems and ω-languages.


Next chapter: Expressing Program Properties using LTL

Further Reading:

AGV 6.1 -- Linear-Time Temporal Logic (LTL)

https://greenmeeple.github.io/AGV/agv6-1/

Author

Alex Li

Posted on

2024-11-23

Updated on

2025-04-03

Licensed under

Comments

Related Issues not found

Please contact @GreenMeeple to initialize the comment

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×