Unit-7: Linear Temporal Logic
- B. Srivathsan
Chennai Mathematical Institute
NPTEL-course July - November 2015
1/13
Unit-7: Linear Temporal Logic B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation
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 State-space Bchi Automata LTL CTL
NPTEL-course July - November 2015
1/13
2/13
Transition Systems + G, F, X, GF + NuSMV
Automata
Unit: 4
Büchi Automata
Unit: 5,6
LTL
Unit: 7,8
CTL
Unit: 9
State-space explosion
Unit: 10
3/13
{ p1 } { p1,p2 } { p2 } {}
request=1 ready request=1 busy request=0 ready request=0 busy
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
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
{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2
φ := true | pi | pi ∈ AP
6/13
{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2
φ := true | pi | φ1 ∧ φ2 | pi ∈ AP φ1,φ2 : LTL formulas
6/13
{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | 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} ¬p1
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | 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
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | 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)
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | 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
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{p1} {p1} {} {p2} {p1} ¬(p1 U p2)
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{p1} {p1} {} {p2} {p1} ¬(p1 U p2)
{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{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)
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{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
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{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
{p1} {p1,p2} {p1} {p1,p2} {p1} ¬(true U ¬p1)
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{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)
7/13
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
{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
◮ φ1 ∨ φ2: ¬(¬φ1 ∧ ¬φ2)
(Or)
◮ φ1 → φ2: ¬φ1 ∨ φ2
(Implies)
◮ F φ: true U φ
(Eventually)
◮ G φ: ¬ F ¬φ
(Always)
8/13
φ φ φ
9/13
φ φ φ
φ φ φ φ
9/13
10/13
non-crit wait crit exiting y>0:y:=y-1 y:=y+1 non-crit wait crit exiting y>0:y:=y-1 y:=y+1
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
φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2
… F φ: true U φ
(Eventually)
… G φ: ¬ F ¬φ
(Always)
13/13