presented by kevin browne feizhao november 19, 2007 · 2007. 11. 30. · kevin browne feizhao...
TRANSCRIPT
![Page 1: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/1.jpg)
Linear Temporal LogicLinear Temporal Logic
Presented by
Kevin BrowneKevin Browne
Fei Zhao
November 19, 2007
![Page 2: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/2.jpg)
Introduction to Temporal LogicIntroduction to Temporal Logic
� Why Temporal Logic?
◦ Formulae statically true or false for a given model in
classical propositional, predicate logic
◦ Most systems are dynamic
◦ Property verification for concurrent, reactive systems◦ Property verification for concurrent, reactive systems
� Temporal Logic
◦ Formulae are not statically true or false in a model
◦ Models are transitions systems
◦ Dynamic notion of truth
![Page 3: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/3.jpg)
Linear Temporal LogicLinear Temporal Logic
� Timeline is the underlying structure of time in Linear Temporal Logic
� We assume time in LTL is isomorphic to the natural numbers
� Under this assumption, time in LTL:� Under this assumption, time in LTL:◦ Is discrete
◦ Has an initial moment with no predecessors
◦ Is infinite into the future
� Timeline is a set of paths: t0 t1 t2…
![Page 4: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/4.jpg)
Linear vs. Branching Linear vs. Branching
� Linear-time Temporal Logic◦ Time as a set of paths
◦ Each path is a sequence of moments
◦ At each moment, only one possible next future momentfuture moment
� Computational Tree Logic (Branching)◦ Time as a tree
◦ Root as present moment
◦ Branches out into the future
![Page 5: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/5.jpg)
Linear vs. Branching (Intuition)Linear vs. Branching (Intuition)
Linear vs. Branching (Alessandro Artable, “Formal Methods”)
![Page 6: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/6.jpg)
SyntaxSyntax
The rules for generating Linear Temporal Logic
(LTL):
� Each ϕ is a formula
If ϕ and ψ are formulae then ¬ ϕ , ϕ ∧∧∧∧ ψ , ϕ ∨∨∨∨� If ϕ and ψ are formulae then ¬ ϕ , ϕ ∧∧∧∧ ψ , ϕ ∨∨∨∨ψ , ϕ � ψ are formulae
� If ϕ and ψ are formulae then X ϕ , F ϕ , G ϕ , ϕ U ψ , ϕW ψ , ϕ R ψ
![Page 7: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/7.jpg)
Syntax (cont’d)Syntax (cont’d)
Defined in Backus Naur Form:
ϕ ::= p | True | False
| ¬ ϕ | ϕ ∧∧∧∧ ψ | ϕ ∨∨∨∨ ψ | ϕ � ψ
| X ϕ | F ϕ | G ϕ | ϕ U ψ | ϕW ψ| X ϕ | F ϕ | G ϕ | ϕ U ψ | ϕW ψ
| ϕ R ψ
Atomic propositions: p ∈Atoms
Boolean operators: ∧∧∧∧ ∨∨∨∨ ¬ ����
Temporal operators: X G F U W R
![Page 8: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/8.jpg)
Well Formed FormulaeWell Formed Formulae
The well formed formulae in LTL follow thesame rules as well formed formulae inclassical propositional logic, plus the rulesfor temporal operators.
The following are NOT well formed formulae:
◦ U r – since U is a binary operator, not unary
◦ p G q – since G is a unary operator, not binary
![Page 9: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/9.jpg)
Syntax ExamplesSyntax Examples
� F p ∧∧∧∧ G q ���� pW r
� F (p ���� G r) ∨∨∨∨ ¬ q U p
� p W (q W r)
� G F p ���� F(q ∨∨∨∨ s)
![Page 10: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/10.jpg)
MMore Practical Syntax Examplesore Practical Syntax Examples
� ((x = 0) ∧∧∧∧ (x + 3)) � X (x = 3)
� lottery-win � G rich
� send � F receive
� start-lecture � talk U end-lecture
� born � alive U dead
![Page 11: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/11.jpg)
Transition SystemTransition System
Timeline as a linear time structure M=(S, �,L) where
◦ S is a set of states,
◦ � is a transition relation such that every s∈S has some
r∈S with s�r
◦ L : S ���� PowerSet (Atoms) is a labeling of each state
∈
∈
◦ L : S ���� PowerSet (Atoms) is a labeling of each state
with a set of atomic propositions in Atoms.
Semantics are given with respect to a path π = s1 s2 s3…
Suffix of trace starting at si is defined as πi = si si+1 si+2…
![Page 12: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/12.jpg)
Transition System ExampleTransition System Example
![Page 13: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/13.jpg)
Transition System ExampleTransition System ExampleThe set of paths is limited
by what we can construct
from the given states and
transitions. So
π = S1,S1,S1,S1,S1,S1,S1,….
and
π = S1,S1,S3,S2,S3,S2,….
are in M (read: can be defined by it). But
π = S1,S1,S3,S2,S1,S1….
is not!
![Page 14: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/14.jpg)
SemanticsSemantics
� π |= True
� not π |= False
� π |= p iff p ∈ L(s1) (π = s1 s2 s2 … )
� π |= ¬ϕ iff not π |= ϕ
π |= ϕ ∧∧∧∧ ψ iff π |= ϕ and π |= ψ� π |= ϕ ∧∧∧∧ ψ iff π |= ϕ and π |= ψ
� π |= ϕ ∨∨∨∨ ψ iff π |= ϕ or π |= ψ
� π |= ϕ � ψ iff π |= ϕ if π |= ψ
� π |= X ϕ iff π2|= ϕ
(holds iff ϕ holds at the next state)
� π |= F ϕ iff ∃i ≥ 1 πi |= ϕ
(at some future state ϕ is true)
![Page 15: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/15.jpg)
Semantics (cont’d)Semantics (cont’d)
� π |= G ϕ iff ∀i ≥ 1 πi |= ϕ
(at all the future states, ϕ is true)
� π |= ϕ U ψ iff ∃i ≥ 1 πi |= ψ and ∀ j < i πj |= ϕ
(ϕ is true until ψ is true)
� π |= ϕW ψ iff (∃i ≥ 1 π |= ψ and ∀ j < i π |= ϕ)
∀
� π |= ϕW ψ iff (∃i ≥ 1 πi |= ψ and ∀ j < i πj |= ϕ)
or ∀ k ≥ 1 πk |= ϕ
(ϕ is true until ψ is true, or ϕ is always true)
� π |= ϕ R ψ iff (∃i ≥ 1 πi |= ϕ and ∀j<i πj |= ψ)
or ∀ k ≥ 1 πk |= ψ)
(ψ is true until ϕ is true, or ψ is always true)
![Page 16: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/16.jpg)
p U q (p until q)
Semantics (Intuition)Semantics (Intuition)
p W q (p weak until q)
p R q (p release q)
![Page 17: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/17.jpg)
Semantic Notion AppliedSemantic Notion Applied
From this model, we can derive different (infinite) paths:
π = S1,S1,S1,S1,S1,S1,S1,….
π = S1,S1,S2,S3,S2,S3,,…
π = S1,S1,S3,S2,S3,S2,…
![Page 18: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/18.jpg)
Semantic Notion Applied (Cont’d)Semantic Notion Applied (Cont’d)
Given a path π, and a formula ϕ, we can now evaluate the truth of that formula.
So for:
π = S1,S1,S1,S1,S1,S1,S1,….
π |= p is true
by the rule that “π |= piff p ∈ L(s1)”.
![Page 19: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/19.jpg)
Semantics ExampleSemantics Example
Given the model to the left, we can then say forπ = S1,S1,S3,S2,S3,S2,S3,…
π |= p is trueπ |= q is trueπ |= q is trueπ |= p ∧∧∧∧ q is trueπ |= r is falseπ |= F p is trueπ |= X p is trueπ |= X (X p) is falseπ |= G r is falseπ |= G (X (X r)) is trueπ |= p U r is true
![Page 20: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/20.jpg)
Another Semantics ExampleAnother Semantics Example
Given the model to the left, we can then say forπ = S1,S1,S3,S2,S2,….
π |= p is trueπ |= X p is trueπ |= X p is trueπ |= X (X p) is falseπ |= p U r is falseπ |= q U r is trueπ |= q W r is trueπ |= r R q is trueπ |= F p is trueπ |= F (X (X p)) is false
![Page 21: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/21.jpg)
Same Model, Different PathsSame Model, Different PathsGiven the model to the left, we can then say forπ = S1,S1,S3,S2,S2,….
π |= p U r is FALSE
But for:But for:
π = S1,S2,S2,S2,….
π |= p U r is TRUE
Truth is no longer static for a given model. Different paths may evaluate differently for the same formula!
![Page 22: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/22.jpg)
Further DefinitionsFurther Definitions
Entailment: f |= y iff ∀M , ∀i ∈ N. (M , πi) |= f ⇒(M , πi) |= y
Equivalence: f ≡ y iff ∀M , ∀i ∈ N. (M , πi) |= f ⇔(M , πi) |= y
Satisfiable: An LTL formula ϕϕϕϕ is satisfiable iff there
∀ ∀ ∈ ⇔
Satisfiable: An LTL formula ϕϕϕϕ is satisfiable iff there exists a linear time structure M = (S,�,L) such that M, π |= ϕϕϕϕ. Any such structure defines a model of ϕϕϕϕ.
Valid: A formula ϕϕϕϕ is valid iff for all linear time structures M = (S, �,L), we have M, π |= ϕϕϕϕ , and write |= ϕϕϕϕ .
![Page 23: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/23.jpg)
Examples:Examples:
Some significant validities� |= G ¬¬¬¬ p ≡ ¬¬¬¬ F p� |= F ¬¬¬¬ p ≡ ¬¬¬¬ G p� |= X ¬¬¬¬ p ≡ ¬¬¬¬ X p
Satisfiable or valid� p � F qsatisfiable formula but not valid
� G (p � F q) � (p � F q)valid formula
![Page 24: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/24.jpg)
ConclusionConclusion
� Linear Temporal Logic is a useful and accessible framework for modeling systems which involve changes occurring over time!
� Questions?
![Page 25: Presented by Kevin Browne FeiZhao November 19, 2007 · 2007. 11. 30. · Kevin Browne FeiZhao November 19, 2007. Introduction to Temporal Logic Why Temporal Logic? Formulae statically](https://reader034.vdocument.in/reader034/viewer/2022051916/6007ee1ca66ae4110c179ca2/html5/thumbnails/25.jpg)
BibliographyBibliography
Logic in Computer Science, Michael Huth and Mark Ryan
Handbook of Theoretical Computer Handbook of Theoretical Computer Science (Temporal and Modal Logic, Ch. 16), E. Allen Emerson
Formal Methods (Lecture 3: Linear Temporal Logic), Allesandro Artale