unit-7: linear temporal logic

30
Unit-7: Linear Temporal Logic B. Srivathsan Chennai Mathematical Institute NPTEL-course July - November 2015 1/13

Upload: others

Post on 18-Feb-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

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

Automata

Unit: 4

BüchiAutomata

Unit: 5,6

LTL

Unit: 7,8

CTL

Unit: 9

State-spaceexplosion

Unit: 10

3/13

p1: (request=1) p2: (status=busy)

Atomic propositions

{ p1 } { p1,p2 }

{ p2 }{}

request=1ready

request=1busy

request=0ready

request=0busy

MODULE main

VARrequest: boolean;

status: {ready, busy}

ASSIGN

init(status) := ready;

next(status) := caserequest : busy;

TRUE : {ready,busy};

esac;

4/7

Transition System

AP = { p1, p2 }

Property

P

Transition system TS satisfies property P if

Traces(TS) ⊆ P

4/13

Specifying properties

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

Here: Another formalism - Linear Temporal Logic

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}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ∧ p2

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

X p1

¬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,p2} {p1,p2} {p2} {p1,p2} {p2}

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6

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

¬(p1 U p2)

. . .{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

F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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

F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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

F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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

F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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

F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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

F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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 p1F p1

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

¬(true U ¬p1)

G p1

7/13

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6. . .{p1} {p1} {} {p2} {p1}

¬(p1 U p2)

. . .{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 p1F p1

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

¬(true U ¬p1)G p1

7/13

Derived operators

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

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

É F φ: true U φ (Eventually)

É G φ: ¬ F ¬φ (Always)

8/13

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

G F φ (Infinitely often)

. . . . . .φ φ φ φ

F G φ (Eventually forever)

9/13

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

G F φ (Infinitely often)

. . . . . .φ φ φ φ

F G φ (Eventually forever)

9/13

Coming next: More examples

10/13

non-crit wait

critexiting

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

non-crit wait

critexiting

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

NuSMV demo

12/15

non-crit wait

critexiting

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

non-crit wait

critexiting

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

NuSMV demo

12/15

|||

Atomic propositions AP = { crit1,wait1, crit2,wait2 }

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

crit2: pr2.location=crit wait2: pr2.location=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

Summary

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

p1

p2

p1 ^ p2

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

X p1

¬p1

X (p1 ^ ¬p2)

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

p1 U p2

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

pi 2AP �1,�2 : LTL formulas

6/6

Derived operators

… �1 _ �2: ¬(¬�1 ^ ¬�2) (Or)

… �1 ! �2: ¬�1 _ �2 (Implies)

… F �: true U � (Eventually)

… G �: ¬ F ¬� (Always)

8/12

Derived operators

… �1 _ �2: ¬(¬�1 ^ ¬�2) (Or)

… �1 ! �2: ¬�1 _ �2 (Implies)

… F �: true U � (Eventually)

… G �: ¬ F ¬� (Always)

8/12

13/13