Title: Linear Temporal Logic
1Linear Temporal Logic
Roxana Ragneala, roxana.ragneala_at_gmail.com
Seminar The Time Machine Supervisor Klaus Dräger
2History of Temporal Logic
Philosophers
Arthur Prior
Amir Pnueli
Specification of concurrent systems
3Framework
- Temporal Logic is a class of Modal Logic
- Allows qualitatively describing and reasoning
about changes of the truth values over time - Usually implicit time representation
- Provides variety of temporal operators
(sometimes, always) - Different views of time (branching vs. linear,
discrete vs. continuous, past vs. future, etc.)
4Branching vs. Linear Time
Linear - only one possible future in a moment
Branching - may split to different courses
depending on possible futures
5LTL
- In LTL time is
- implicit,
- discrete,
- infinite in the future and
- has an initial moment with no predecessors
- A model of LTL formula is an infinite sequence of
states p s0, s1, s2,
6LTL
- Elements
- Atomic propositions AP
- Boolean operators ? ? ?
- Temporal operators G F X U R
- Syntax
- F P
- F ? ? ? ? ? ? F ? F
- G F F F X F ? U ? ? R ?
7Semantic Intuition
- G f always f
- F f eventually f
- X f next state
- f U r until
- f R r releases
8Examples
p,q p,q p,q p,q p,q p,q
p ? q X(p ? q)
True
G p
False
9More Examples
G(p -gtXq) G(p -gt X(q U r)) GF p p R q
10Semantic
- Semantic is given with respect to path
- p s0 s1 s2
- Suffix of the path starting at si
- pi si si1 si2
- A system satisfies an LTL formula f if each path
through the system satisfies f.
11Semantic
- p ? iff ? ? L(s0)
- p ?? iff not p ?
- p ? ? ? iff p ? and p ?
- p ? ? ? iff p ? or p ?
- p X ? iff p1 ?
- p F ? iff exists i ? 0 pi ?
- p G ? iff for all i ? 0 pi ?
- p ? U ? iff exists i ? 0 pi ?
- and for all 0 ? j lt i pj ?
12From LTL to Automata
Automaton for Fp
,p
p
s0
s1
13LTL to Büchi Automata
- First, we bring the LTL formulas in a normal form
- Rules
- p ? q ?p ? q
- p ? q (?p ? q) ? (?q ? p)
- ?(p ? q) ?p ? ?q
- ?(p ? q) ?p ? ?q
- ??p p
- ?(p U q) ?p R ?q
- ?(p R q) ?p U ?q
- F p true U p
- G p false R p
- ? X p X ?p
GF p ? F r 8,9 (false R (Fp)) ? (true U p) 8
(false R (true U p)) ?(true U p) 1
?(false R (true U p)) ? (true U p) 7 (true U
?(true U p)) ? (true U p) 6
(true U (false R ?p)) ? (true U p)
14Büchi Automata
- Automaton A (S,S,d,I,F)
- S finite alphabet
- S set of states
- d transition relation
- I set of initial states
- F set of acceptance states
- A run p of A on ? word a
- p q0,q1,q2,, such that q0 ? I and (qi,ai,qi1)
? d - The run p is accepting if
- Inf(p)nF ?
15LTL to Büchi Automata A?
- S sets of subformulas of ?
- e.g ?p1U?p2, a state is given by s p1,?p2,
p1U?p2 - Consider a word ss0,s1,s2 such that s ?
where, - e.g.,? ?1 U ?2
- Mark each position i with the subset of formulas
si of ? - that hold true there (s0, s1, - s0,s1,)
- Clearly, ? ?s0. But then, by consistency either
- ?1 ?s0 and ? ?s1 or
- ?2 ?s0
16LTL to Büchi Automata A?
sub(?) sets of subformulas of ? A?(Q, S, R, L,
Init, F) Qs sub(?) s.t. s is locally
consistent For s to be locally consistent we
should e.g. have
- false s
- if ?1 ? ?2 ? s then ?1 ? s and ?2 ? s
- if ?1 ? ?2 ? s then ?1 ? s or ?2 ? s
- if pi ? s then ?pi s and if ?pi ? s then pi
s - if ?1 U ?2 ? s then ?1 ? s or ?2 ? s
17LTL to Büchi Automata A?
L Q? S We want a word ss0,s1,s2 to be in
L(A?) iff there is a run ps0,s1,such that
i?N, we have that si satisfies L(si)
18Temporal Operators
- p U q (q ? (p ? X(p U q)))
- Note q has to be true at some point!
- p R q (q ? (p ? X(p R q)))
19LTL to Büchi Automata A?
LQ? S We want a word ss0,s1,s2 to be in L(A?)
iff there is a a run ps0,s1,such that
i?N, we have that si satisfies L(si) R
Q x Q where (s,s) ? R iff
- if ?1 U ?2 ? s then ?2 ? s or (?1 ? s and (?1 U
?2) ? s) - if ?1 R ?2 ? s then ?2 ? s and (?1 ? s or (?1 R
?2) ? s) - If X? ? s then ? ? s
20LTL to Büchi Automata A?
Init s ? Q ? ? s F for each ?1U?2 ?
sub(?) there is a set Fi ? F such that Fis ?
Q if ?1U?2 ?s then ?2 ?s Lemma L(?)L(A?)
21Example Fp
true U p p
true U p
p
- F p true U p
- Init s ? sub(true U p) (true U p) ? s
22Example Fp
true U p p
true U p
p
- true U p p ? X (true U p)
23Example Fp
true U p p
true U p
p
- true U p p ? X (true U p)
24Example Fp
true U p p
true U p
p
- true U p p ? X (true U p)
25Example Fp
true U p p
true U p
p
- true U p p ? X (true U p)
26Example Fp
true U p p
true U p
p
- F Ftrue U ps ? sub(true U p) if (true U
p) ?s then p ?s
27Branching Time
- Path quantifiers
- A for all paths
- E for some paths
- Examples
- CTL AGp, EFp, AGEXp, A(GFp), E(GFp)
- CTL AGp, EFp, AGEXp, EGEFP
28Comparison
- Different views of time branching with linear
- Incomparable expressive power
- FGp is not expressible in CTL
- AGEFp is not expressible in LTL
- Performance
- CTL run in time O(Pxf)
- LTL run in time O(Px2O(f)) and space
O((flog(P))2) - CTL characterizes bisimulation
- CTL is more used in industry
29(No Transcript)