Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
40 views

B. Srivathsan: Chennai Mathematical Institute

The document provides an introduction to Linear Temporal Logic (LTL). It discusses how LTL can be used to specify properties of transition systems and defines the syntax of LTL formulas. Key LTL operators introduced include G, F, X, U, and their semantics are explained through example traces. The goal of LTL is to provide a formalism for reasoning about properties of systems that evolve over time.

Uploaded by

John Doe
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

B. Srivathsan: Chennai Mathematical Institute

The document provides an introduction to Linear Temporal Logic (LTL). It discusses how LTL can be used to specify properties of transition systems and defines the syntax of LTL formulas. Key LTL operators introduced include G, F, X, U, and their semantics are explained through example traces. The goal of LTL is to provide a formalism for reasoning about properties of systems that evolve over time.

Uploaded by

John Doe
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Unit-7: Linear Temporal Logic

B. Srivathsan

Chennai Mathematical Institute

NPTEL-course

July - November 2015

1/13
Module 1:
Introduction to LTL

2/13
Transition Systems
+ G, F, X, GF
+ NuSMV

Büchi State-space
Automata LTL CTL
Automata explosion

Unit: 4 Unit: 5,6 Unit: 7,8 Unit: 9 Unit: 10

3/13
AP = { p1 , p2 }

Transition System Property

{ p1 } { p1 , p2 }
MODULE main
request=1 request=1
VAR
ready busy
request: boolean;
status: {ready, busy} P
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 property P if
p1 : (request=1) p2 : (status=busy)

Traces(TS) ⊆ P
4/7

4/13
Specifying properties

G, F, X, GF Finite Automata ω-regular expressions

5/13
Specifying properties

G, F, X, GF Finite Automata ω-regular expressions

Here: Another formalism - Linear Temporal Logic

5/13
{p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
...

φ :=

6/13
{p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
...

φ := true |

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...

φ := true | pi |

pi ∈ AP

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...
p1 ∧ p2

φ := true | pi | φ1 ∧ φ2 |

pi ∈ AP φ1 , φ2 : LTL formulas

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...
p1 ∧ p2

φ := true | pi | φ1 ∧ φ2 | ¬φ1 |

pi ∈ AP φ1 , φ2 : LTL formulas

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...
p1 ∧ p2

¬p1 {p2 } { p1 } {p2 } {p2 } {p2 }


...

φ := true | pi | φ1 ∧ φ2 | ¬φ1 |

pi ∈ AP φ1 , φ2 : LTL formulas

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...
p1 ∧ p2

¬p1 {p2 } { p1 } {p2 } {p2 } {p2 }


X p1 ...

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ |

pi ∈ AP φ1 , φ2 : LTL formulas

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...
p1 ∧ p2

¬p1 {p2 } { p1 } {p2 } {p2 } {p2 }


X p1 ...
X (p1 ∧ ¬p2 )

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ |

pi ∈ AP φ1 , φ2 : LTL formulas

6/13
p2 {p1 , p2 } {p1 , p2 } {p2 } {p1 , p2 } {p2 }
p1 ...
p1 ∧ p2

¬p1 {p2 } { p1 } {p2 } {p2 } {p2 }


X p1 ...
X (p1 ∧ ¬p2 )

{p1 } {p1 } {p1 } {p2 } {p1 }


p1 U p2 ...

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

pi ∈ AP φ1 , φ2 : LTL formulas

6/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

pi 2 AP 1, 2 : LTL formulas

6/6

7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

{p1 , p3 } {p1 } {p1 } {p2 } {p1 , p3 }


p1 U (p2 ∧ X p3 ) ...

7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

{p1 , p3 } {p1 } {p1 } {p2 } {p1 , p3 }


p1 U (p2 ∧ X p3 ) ...

{p1 } {} {} {p2 } {p1 }


X (¬p1 U p2 ) ...

7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

{p1 , p3 } {p1 } {p1 } {p2 } {p1 , p3 }


p1 U (p2 ∧ X p3 ) ...

{p1 } {} {} {p2 } {p1 }


X (¬p1 U p2 ) ...

{p2 } {p3 } {p2 } {} {p1 }


true U p1 ...

7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

{p1 , p3 } {p1 } {p1 } {p2 } {p1 , p3 }


p1 U (p2 ∧ X p3 ) ...

{p1 } {} {} {p2 } {p1 }


X (¬p1 U p2 ) ...

{p2 } {p3 } {p2 } {} {p1 }


true U p1 ...

{p1 } {p1 , p2 } {p1 } {p1 , p2 } {p1 }


¬(true U ¬p1 ) ...
7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

{p1 , p3 } {p1 } {p1 } {p2 } {p1 , p3 }


p1 U (p2 ∧ X p3 ) ...

{p1 } {} {} {p2 } {p1 }


X (¬p1 U p2 ) ...

{p2 } {p3 } {p2 } {} {p1 }


F p1 true U p1 ...

{p1 } {p1 , p2 } {p1 } {p1 , p2 } {p1 }


¬(true U ¬p1 ) ...
7/13
p1 U p2 ...

:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

p 2 AP 1, : LTL formulas
{p1 } i {p1 } 2
{} {p2 } {p1 }
¬(p1 U p2 ) ...
6/6

{p1 , p3 } {p1 } {p1 } {p2 } {p1 , p3 }


p1 U (p2 ∧ X p3 ) ...

{p1 } {} {} {p2 } {p1 }


X (¬p1 U p2 ) ...

{p2 } {p3 } {p2 } {} {p1 }


F p1 true U p1 ...

{p1 } {p1 , p2 } {p1 } {p1 , p2 } {p1 }


G p1 ¬(true U ¬p1 ) ...
7/13
Derived operators

É φ1 ∨ φ2 : ¬(¬φ1 ∧ ¬φ2 ) (Or)

É φ1 → φ2 : ¬φ1 ∨ φ2 (Implies)

É F φ: true U φ (Eventually)

É G φ: ¬ F ¬φ (Always)

8/13
GFφ (Infinitely often)

φ φ φ
... ... ... ...

9/13
GFφ (Infinitely often)

φ φ φ
... ... ... ...

FGφ (Eventually forever)

φ φ φ φ
... ...

9/13
Coming next: More examples

10/13
Atomic propositions AP = { crit1 , wait1 , crit2 , wait2 }

crit1 : pr1.location=crit wait1 : pr1.location=wait


crit2 : pr2.location=crit wait2 : pr2.location=wait

non-crit wait non-crit wait

PG1 y:=y+1 y>0:y:=y-1 |||1


PG y:=y+1 y>0:y:=y-1

exiting crit exiting crit

non-crit wait non-crit wait

11/13
É Safety: both processes cannot be in critical section simultaneously

G (¬crit1 ∨ ¬crit2 )

É Liveness: each process visits critical section infinitely often

G F crit1 ∧ G F crit2

12/13
1 2

Summary
{p1 } {p1 } {p1 } {p2 } Derived
{p } 1
operat
p1 U p2 ...

Derived operators
… _ : 1 2 ¬ (¬ 1 ^ ¬ 2) (Or)
:= true | pi | 1 ^ 2 |¬ 1 | X | 1 U 2

pi 2 AP 1 , 2 : LTL formulas


1 _ 2: ¬ (¬ 1 ^ ¬ 2) (Or) 1 ! 2: ¬ 1 _ 2 (Implies)
6/6

… … F : true U (Eventually)
1 ! 2: ¬ 1 _ 2 (Implies)

… F : true U (Eventually) … G :¬F ¬ (Always)

… G :¬F ¬ (Always)

13/13

You might also like