B. Srivathsan: Chennai Mathematical Institute
B. Srivathsan: Chennai Mathematical Institute
B. Srivathsan
NPTEL-course
1/13
Module 2:
Semantics of LTL
2/13
AP-INF = set of infinite words over PowerSet(AP)
3/13
AP-INF = set of infinite words over PowerSet(AP)
3/13
AP-INF = set of infinite words over PowerSet(AP)
{ p1 } { p1 } { p1 } { p1 } { p1 } { p1 } { p1 } . . .
{ p1 } { p1 , p2 } { p1 } { p1 , p2 } { p1 } { p1 , p2 } . . .
..
.
3/13
AP-INF = set of infinite words over PowerSet(AP)
{ p1 } { p1 } { p1 } { p1 } { p1 } { p1 } { p1 } . . .
{ p1 } { p1 , p2 } { p1 } { p1 , p2 } { p1 } { p1 , p2 } . . .
..
.
Property 2: p1 is true at least once and p2 is always true
3/13
AP-INF = set of infinite words over PowerSet(AP)
{ p1 } { p1 } { p1 } { p1 } { p1 } { p1 } { p1 } . . .
{ p1 } { p1 , p2 } { p1 } { p1 , p2 } { p1 } { p1 , p2 } . . .
..
.
Property 2: p1 is true at least once and p2 is always true
{ p2 } { p1 , p2 } { p2 } { p2 } { p2 } { p1 , p2 } { p2 } . . .
{ p1 , p2 } { p2 } { p2 } { p2 } { p2 } { p2 } . . .
.
..
3/13
AP-INF = set of infinite words over PowerSet(AP)
4/13
AP-INF = set of infinite words over PowerSet(AP)
4/13
AP-INF = set of infinite words over PowerSet(AP)
4/13
{p1 } {p1 } {p1 } {p2 } {p1 }
p1 U p2 ...
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP 1, 2 : LTL formulas
6/6
LTL formula φ −
→ Words(φ)
5/13
{p1 } {p1 } {p1 } {p2 } {p1 }
p1 U p2 ...
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP 1, 2 : LTL formulas
6/6
LTL formula φ −
→ Words(φ) ⊆ AP-INF
5/13
{p1 } {p1 } {p1 } {p2 } {p1 }
p1 U p2 ...
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP 1, 2 : LTL formulas
6/6
LTL formula φ −
→ Words(φ) ⊆ AP-INF
5/13
When does a word satisfy LTL formula φ?
6/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
7/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
Every word satisfies true
7/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
Every word satisfies true
σ satisfies pi if pi ∈ A0
7/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
Every word satisfies true
σ satisfies pi if pi ∈ A0
7/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
Every word satisfies true
σ satisfies pi if pi ∈ A0
7/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
Every word satisfies true
σ satisfies pi if pi ∈ A0
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
7/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
pi 2 AP , 2 : LTL formulas
Word σ : A01A1 A 2 . . . ∈ AP- INF
6/6
Every word satisfies true
σ satisfies pi if pi ∈ A0
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
7/13
Words(φ) = { σ ∈ AP-INF | σ satisfies φ }
8/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
6/6
σ satisfies pi if pi ∈ A0
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
9/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
Words(true) = AP-INF
6/6
σ satisfies pi if pi ∈ A0
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
9/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
Words(true) = AP-INF
6/6
σ satisfies pi if pi ∈ A0
Words(pi ) = { A0 A1 A2 . . . | pi ∈ A0 }
σ satisfies φ1 ∧ φ2 if σ satisfies φ1 and σ satisfies φ2
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
9/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
Words(true) = AP-INF
6/6
σ satisfies pi if pi ∈ A0
Words(pi ) = { A0 A1 A2 . . . | pi ∈ A0 }
σ satisfies φ1 ∧ φ2 if σ satisfies φ1 and σ satisfies φ2
Words(φ1 ∧ φ2 ) = Words(φ1 ) ∩ Words(φ2 )
σ satisfies ¬φ if σ does not satisfy φ
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
9/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
Words(true) = AP-INF
6/6
σ satisfies pi if pi ∈ A0
Words(pi ) = { A0 A1 A2 . . . | pi ∈ A0 }
σ satisfies φ1 ∧ φ2 if σ satisfies φ1 and σ satisfies φ2
Words(φ1 ∧ φ2 ) = Words(φ1 ) ∩ Words(φ2 )
σ satisfies ¬φ if σ does not satisfy φ
Words(¬φ) = (Words(φ))c
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
9/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
Words(true) = AP-INF
6/6
σ satisfies pi if pi ∈ A0
Words(pi ) = { A0 A1 A2 . . . | pi ∈ A0 }
σ satisfies φ1 ∧ φ2 if σ satisfies φ1 and σ satisfies φ2
Words(φ1 ∧ φ2 ) = Words(φ1 ) ∩ Words(φ2 )
σ satisfies ¬φ if σ does not satisfy φ
Words(¬φ) = (Words(φ))c
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
Words(X φ) = { A0 A1 A2 . . . | A1 A2 · · · ∈ Words(φ) }
σ satisfies φ1 U φ2 if there exists j s.t. Aj Aj+1 . . . satisfies φ2 and
for all 1 ≤ i < j Ai Ai+1 . . . satisfies φ1
9/13
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2
Every word
pi 2 AP 1, 2satisfies true
: LTL formulas
Words(true) = AP-INF
6/6
σ satisfies pi if pi ∈ A0
Words(pi ) = { A0 A1 A2 . . . | pi ∈ A0 }
σ satisfies φ1 ∧ φ2 if σ satisfies φ1 and σ satisfies φ2
Words(φ1 ∧ φ2 ) = Words(φ1 ) ∩ Words(φ2 )
σ satisfies ¬φ if σ does not satisfy φ
Words(¬φ) = (Words(φ))c
σ satisfies X φ if A1 A2 A3 . . . satisfies φ
Words(X φ) = { A0 A1 A2 . . . | A1 A2 · · · ∈ Words(φ) }
σ satisfies φ1 U φ2 if there exists j s.t. Aj Aj+1 . . . satisfies φ2 and
for all 1 ≤ i < j Ai Ai+1 . . . satisfies φ1
Words(φ1 Uφ2 ) = { A0 A1 A2 . . . | ∃ j.Aj Aj+1 · · · ∈ Words(φ2 ) and
∀ 0 ≤ i < j. Ai Ai+1 · · · ∈ Words(φ1 ) }
9/13
F φ: true U φ
10/13
F φ: true U φ
10/13
F φ: true U φ
10/13
F φ: true U φ
G φ: ¬F ¬φ
10/13
F φ: true U φ
G φ: ¬F ¬φ
10/13
F φ: true U φ
G φ: ¬F ¬φ
10/13
F φ: true U φ
G φ: ¬F ¬φ
10/13
AP = { p1 , p2 }
{ p1 } { p1 , p2 }
MODULE main
request=1 request=1
VAR
ready busy
request: boolean;
status: LTL formula φ
{ready, busy}
ASSIGN
init(status) := ready;
next(status) := case
request=0 request=0
request : busy;
ready busy
TRUE : {ready,busy};
{} { p2 } esac;
Atomic propositions
p1 : (request=1) p2 : (status=busy)
4/7
11/13
AP = { p1 , p2 }
{ p1 } { p1 , p2 }
MODULE main
request=1 request=1
VAR
ready busy
request: boolean;
status: LTL formula φ
{ready, busy}
ASSIGN
init(status) := ready;
next(status) := case
request=0 request=0
request : busy;
ready busy
TRUE : {ready,busy};
{} { p2 } esac;
Atomic
Transition propositions
system TS satisfies formula φ if
p1 : (request=1) p2 : (status=busy)
Traces(TS) ⊆ Words(φ)
4/7
11/13
(Words(φ))c
Words(φ)
12/13
(Words(φ))c
Traces(TS)
Words(φ)
12/13
(Words(φ))c
Traces(TS)
Words(φ)
12/13
(Words(φ))c
Traces(TS)
Words(φ)
{ p1 } { p2 } { p2 }
12/13
(Words(φ))c
Traces(TS)
Words(φ)
{ p1 } { p2 } { p2 }
12/13
Semantics of LTL
13/13