Computation Tree Logic B. Srivathsan Chennai Mathematical Institute - - PowerPoint PPT Presentation

computation tree logic
SMART_READER_LITE
LIVE PREVIEW

Computation Tree Logic B. Srivathsan Chennai Mathematical Institute - - PowerPoint PPT Presentation

Computation Tree Logic B. Srivathsan Chennai Mathematical Institute Model Checking and Systems Verification January - April 2016 1 / 35 Module 1: Tree behaviour of a transition system 2 / 35 { p 1 } { p 2 } s 0 s 1 Transition System s 3 s 2


slide-1
SLIDE 1

Computation Tree Logic

  • B. Srivathsan

Chennai Mathematical Institute

Model Checking and Systems Verification January - April 2016

1/35

slide-2
SLIDE 2

Module 1: Tree behaviour of a transition system

2/35

slide-3
SLIDE 3

Transition System

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3}

3/35

slide-4
SLIDE 4

Transition System

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3}

s0 s1 s3 s3 s3 s3

...

Paths

s0 s1 s2 s3 s2 s3

...

3/35

slide-5
SLIDE 5

Transition System

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3}

s0 s1 s3 s3 s3 s3

...

Paths

s0 s1 s2 s3 s2 s3

...

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

Traces

3/35

slide-6
SLIDE 6

In this unit

A tree view of the transition system ...

4/35

slide-7
SLIDE 7

In this unit

A tree view of the transition system ... ... obtained by repeatedly unfolding it

4/35

slide-8
SLIDE 8

s0 s1 s3 s2 s3 s2 s3 s3 s2 s3 s2 s3

. . . . . . . . . . . . . . .

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3} 5/35

slide-9
SLIDE 9

s0 s1 s3 s2 s3 s2 s3 s3 s2 s3 s2 s3

Computation tree . . . . . . . . . . . . . . .

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3} 5/35

slide-10
SLIDE 10

LTL talks about properties of paths

6/35

slide-11
SLIDE 11

LTL talks about properties of paths Coming next: Properties of trees

6/35

slide-12
SLIDE 12

. . . . . . . . . . . . . . .

7/35

slide-13
SLIDE 13

Exists a path satisfying F( red ) . . . . . . . . . . . . . . .

7/35

slide-14
SLIDE 14

. . . . . . . . . . . . . . .

8/35

slide-15
SLIDE 15

Exists a path satisfying G( red ) . . . . . . . . . . . . . . .

8/35

slide-16
SLIDE 16

. . . . . . . . . . . . . . .

9/35

slide-17
SLIDE 17

Exists a path satisfying X( red ) . . . . . . . . . . . . . . .

9/35

slide-18
SLIDE 18

. . . . . . . . . . . . . . .

10/35

slide-19
SLIDE 19

Exists a path satisfying blue U red . . . . . . . . . . . . . . .

10/35

slide-20
SLIDE 20

Properties of trees

Type 1: Exists a path satisfying LTL formula φ

11/35

slide-21
SLIDE 21

Properties of trees

Type 1: Exists a path satisfying LTL formula φ

E operator: E φ

11/35

slide-22
SLIDE 22

Exists a path satisfying F( red ) : E F ( red ) . . . . . . . . . . . . . . .

12/35

slide-23
SLIDE 23

Exists a path satisfying G( red ) : E G ( red ) . . . . . . . . . . . . . . .

13/35

slide-24
SLIDE 24

Exists a path satisfying X( red ) : E X ( red ) . . . . . . . . . . . . . . .

14/35

slide-25
SLIDE 25

Exists a path satisfying blue U red : E ( blue U red ) . . . . . . . . . . . . . . .

15/35

slide-26
SLIDE 26

. . . . . . . . . . . . . . .

16/35

slide-27
SLIDE 27

All paths satisfy F( red ) . . . . . . . . . . . . . . .

16/35

slide-28
SLIDE 28

. . . . . . . . . . . . . . .

17/35

slide-29
SLIDE 29

All paths satisfy G( red ) . . . . . . . . . . . . . . .

17/35

slide-30
SLIDE 30

. . . . . . . . . . . . . . .

18/35

slide-31
SLIDE 31

All paths satisfy X( red ) . . . . . . . . . . . . . . .

18/35

slide-32
SLIDE 32

. . . . . . . . . . . . . . .

19/35

slide-33
SLIDE 33

All paths satisfy blue U red . . . . . . . . . . . . . . .

19/35

slide-34
SLIDE 34

Properties of trees

Type 2: All paths satisfy LTL formula φ

20/35

slide-35
SLIDE 35

Properties of trees

Type 2: All paths satisfy LTL formula φ

A operator: A φ

20/35

slide-36
SLIDE 36

All paths satisfy F( red ) : A F( red ) . . . . . . . . . . . . . . .

21/35

slide-37
SLIDE 37

All paths satisfy G( red ) : A G( red ) . . . . . . . . . . . . . . .

22/35

slide-38
SLIDE 38

All paths satisfy X( red ) : A X( red ) . . . . . . . . . . . . . . .

23/35

slide-39
SLIDE 39

All paths satisfy blue U red : A blue U red . . . . . . . . . . . . . . .

24/35

slide-40
SLIDE 40

Properties of trees

… Exists a path satisfying path property φ :

E φ

… All paths satisfy path property φ :

A φ

25/35

slide-41
SLIDE 41

Properties of trees

… Exists a path satisfying path property φ :

E φ

… All paths satisfy path property φ :

A φ Coming next: Mixing A and E

25/35

slide-42
SLIDE 42

Recall...

Exists a path satisfying F( red ) : E F ( red ) . . . . . . . . . . . . . . .

26/35

slide-43
SLIDE 43

Recall...

All paths satisfy G( red ) : A G( red ) . . . . . . . . . . . . . . .

27/35

slide-44
SLIDE 44

. . . . . . . . . . . . . . .

28/35

slide-45
SLIDE 45

E F A G (red) . . . . . . . . . . . . . . .

28/35

slide-46
SLIDE 46

A F A G (red) . . . . . . . . . . . . . . .

29/35

slide-47
SLIDE 47

Recall...

Exists a path satisfying G( red ) : E G ( red ) . . . . . . . . . . . . . . .

30/35

slide-48
SLIDE 48

Recall...

Exists a path satisfying X( red ) : E X ( red ) . . . . . . . . . . . . . . .

31/35

slide-49
SLIDE 49

E G E X (red) . . . . . . . . . . . . . . .

32/35

slide-50
SLIDE 50

E G E X (red) . . . . . . . . . . . . . . .

33/35

slide-51
SLIDE 51

E (E X blue) U (A G red) . . . . . . . . . . . . . . .

34/35

slide-52
SLIDE 52

Summary

Transition system as a tree

Computation tree E and A operators

35/35

slide-53
SLIDE 53

Module 2: CTL∗

2/25

slide-54
SLIDE 54

Recap

… Path formulae

… Express properties of paths … LTL

… Properties on trees

… A and E operators … Mixing A and E 3/25

slide-55
SLIDE 55

Recap

… Path formulae

… Express properties of paths … LTL

… Properties on trees

… A and E operators … Mixing A and E

Coming next: A logic for expressing properties on trees

3/25

slide-56
SLIDE 56

State formulae

φ :=

. . . . . . . . . . . . . . .

4/25

slide-57
SLIDE 57

State formulae

φ := true |

. . . . . . . . . . . . . . .

4/25

slide-58
SLIDE 58

State formulae

φ := true | pi | pi ∈ AP

. . . . . . . . . . . . . . .

4/25

slide-59
SLIDE 59

State formulae

φ := true | pi | φ1 ∧ φ2 | pi ∈ AP φ1,φ2 : State formulae

. . . . . . . . . . . . . . .

4/25

slide-60
SLIDE 60

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 pi ∈ AP φ1,φ2 : State formulae

. . . . . . . . . . . . . . .

4/25

slide-61
SLIDE 61

Path formulae

α :=

. . . . . . . . . . . . . . .

5/25

slide-62
SLIDE 62

Path formulae

α := φ | φ : State formula

. . . . . . . . . . . . . . .

5/25

slide-63
SLIDE 63

Path formulae

α := φ | α1 ∧ α2 | φ : State formula α1,α2 : Path formulae

. . . . . . . . . . . . . . .

5/25

slide-64
SLIDE 64

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | φ : State formula α1,α2 : Path formulae

. . . . . . . . . . . . . . .

5/25

slide-65
SLIDE 65

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | φ : State formula α1,α2 : Path formulae

. . . . . . . . . . . . . . .

5/25

slide-66
SLIDE 66

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | φ : State formula α1,α2 : Path formulae

. . . . . . . . . . . . . . .

5/25

slide-67
SLIDE 67

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | φ : State formula α1,α2 : Path formulae

. . . . . . . . . . . . . . .

5/25

slide-68
SLIDE 68

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

. . . . . . . . . . . . . . .

5/25

slide-69
SLIDE 69

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 pi ∈ AP φ1,φ2 : State formulae

. . . . . . . . . . . . . . .

6/25

slide-70
SLIDE 70

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | pi ∈ AP φ1,φ2 : State formulae α : Path formula

. . . . . . . . . . . . . . .

6/25

slide-71
SLIDE 71

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

. . . . . . . . . . . . . . .

6/25

slide-72
SLIDE 72

CTL∗

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

7/25

slide-73
SLIDE 73

CTL∗

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae Examples: E F p1, A F A G p1, A F G p2, A p1, A E p1

7/25

slide-74
SLIDE 74

When does a state in a tree satisfy a state formula? . . . . . . . . . . . . . . .

8/25

slide-75
SLIDE 75

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

9/25

slide-76
SLIDE 76

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula … Every state satisfies true

9/25

slide-77
SLIDE 77

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula … Every state satisfies true … State satisfies pi if its label contains pi

9/25

slide-78
SLIDE 78

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula … Every state satisfies true … State satisfies pi if its label contains pi … State satisfies φ1 ∧ φ2 if it satisfies both φ1 and φ2

9/25

slide-79
SLIDE 79

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula … Every state satisfies true … State satisfies pi if its label contains pi … State satisfies φ1 ∧ φ2 if it satisfies both φ1 and φ2 … State satisfies ¬ φ if it does not satisfy φ

9/25

slide-80
SLIDE 80

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula … Every state satisfies true … State satisfies pi if its label contains pi … State satisfies φ1 ∧ φ2 if it satisfies both φ1 and φ2 … State satisfies ¬ φ if it does not satisfy φ … State satisfies E α if there exists a path starting from the state

satisfying α

9/25

slide-81
SLIDE 81

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula … Every state satisfies true … State satisfies pi if its label contains pi … State satisfies φ1 ∧ φ2 if it satisfies both φ1 and φ2 … State satisfies ¬ φ if it does not satisfy φ … State satisfies E α if there exists a path starting from the state

satisfying α

… State satisfies A α if all paths starting from the state satisfy α

9/25

slide-82
SLIDE 82

When does a path in a tree satisfy a path formula? . . . . . . . . . . . . . . .

10/25

slide-83
SLIDE 83

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

11/25

slide-84
SLIDE 84

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae … Path satisfies φ if the initial state of the path satisfies φ

11/25

slide-85
SLIDE 85

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae … Path satisfies φ if the initial state of the path satisfies φ … Rest standard semantics like LTL

11/25

slide-86
SLIDE 86

A tree satisfies state formula φ if its root satisfies φ

. . . . . . . . . . . . . . .

12/25

slide-87
SLIDE 87

… E F p1: Exists a path where p1 is true sometime

13/25

slide-88
SLIDE 88

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

13/25

slide-89
SLIDE 89

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true 13/25

slide-90
SLIDE 90

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 13/25

slide-91
SLIDE 91

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 … In all paths, there exists a state such that every state in the

subtree below it contains p1

13/25

slide-92
SLIDE 92

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 … In all paths, there exists a state such that every state in the

subtree below it contains p1

… A F G p2: In all paths, there exists a state from which p2 is true

forever

13/25

slide-93
SLIDE 93

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 … In all paths, there exists a state such that every state in the

subtree below it contains p1

… A F G p2: In all paths, there exists a state from which p2 is true

forever

… A p1:

13/25

slide-94
SLIDE 94

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 … In all paths, there exists a state such that every state in the

subtree below it contains p1

… A F G p2: In all paths, there exists a state from which p2 is true

forever

… A p1:

… All paths satisfy p1 13/25

slide-95
SLIDE 95

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 … In all paths, there exists a state such that every state in the

subtree below it contains p1

… A F G p2: In all paths, there exists a state from which p2 is true

forever

… A p1:

… All paths satisfy p1 … All paths start with p1 13/25

slide-96
SLIDE 96

… E F p1: Exists a path where p1 is true sometime … A F A G p1:

… In all paths, there exists a state where A G p1 is true … In all paths, there exists a state from which all paths satisfy G p1 … In all paths, there exists a state such that every state in the

subtree below it contains p1

… A F G p2: In all paths, there exists a state from which p2 is true

forever

… A p1:

… All paths satisfy p1 … All paths start with p1 … Same as p1! 13/25

slide-97
SLIDE 97

E F A G (red) . . . . . . . . . . . . . . .

14/25

slide-98
SLIDE 98

A F A G (red) . . . . . . . . . . . . . . .

15/25

slide-99
SLIDE 99

E G E X (red) . . . . . . . . . . . . . . .

16/25

slide-100
SLIDE 100

E G E X (red) . . . . . . . . . . . . . . .

17/25

slide-101
SLIDE 101

E (E X blue) U (A G red) . . . . . . . . . . . . . . .

18/25

slide-102
SLIDE 102

When does a transition system satisfy a CTL∗ formula?

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3}

19/25

slide-103
SLIDE 103

Transition system satisfies CTL∗ formula φ if its computation tree satisfies φ

s0 s1 s3 s2 s3 s2 s3 s3 s2 s3 s2 s3

. . . . . . . . . . . . . . .

s0 s1 s2 s3 {p1} {p2} {p2} {p1,p3} 20/25

slide-104
SLIDE 104

Can LTL properties be written using CTL∗?

21/25

slide-105
SLIDE 105

Transition System (TS) satisfies LTL formula φ if Traces(TS) ⊆ Words(φ)

22/25

slide-106
SLIDE 106

Transition System (TS) satisfies LTL formula φ if Traces(TS) ⊆ Words(φ) All paths in the computation tree of TS satisfy path formula φ

22/25

slide-107
SLIDE 107

Transition System (TS) satisfies LTL formula φ if Traces(TS) ⊆ Words(φ) All paths in the computation tree of TS satisfy path formula φ Equivalent CTL∗ formula: A φ

22/25

slide-108
SLIDE 108

Can CTL∗ properties be written using LTL?

23/25

slide-109
SLIDE 109

Can CTL∗ properties be written using LTL? Answer: No

23/25

slide-110
SLIDE 110

E F A G (red) . . . . . . . . . . . . . . . Cannot be expressed in LTL

24/25

slide-111
SLIDE 111

Summary

CTL∗

Syntax and semantics State formulae, Path formulae LTL properties ⊆ CTL∗ properties

25/25

slide-112
SLIDE 112

Module 3: CTL

2/16

slide-113
SLIDE 113

In this module...

Restrict to a subset of CTL∗ which has efficient model-checking algorithms

3/16

slide-114
SLIDE 114

CTL∗

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := φ | α1 ∧ α2 | ¬α1 | X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

4/16

slide-115
SLIDE 115

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X α1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

4/16

slide-116
SLIDE 116

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | α1 U α2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

4/16

slide-117
SLIDE 117

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F α1 | G α1 φ : State formula α1,α2 : Path formulae

4/16

slide-118
SLIDE 118

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G α1 φ : State formula α1,α2 : Path formulae

4/16

slide-119
SLIDE 119

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1 φ : State formula α1,α2 : Path formulae

4/16

slide-120
SLIDE 120

CTL

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

4/16

slide-121
SLIDE 121

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae

5/16

slide-122
SLIDE 122

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1

5/16

slide-123
SLIDE 123

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1

5/16

slide-124
SLIDE 124

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2

5/16

slide-125
SLIDE 125

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2

5/16

slide-126
SLIDE 126

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1

5/16

slide-127
SLIDE 127

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1 A p1

5/16

slide-128
SLIDE 128

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1 A p1 E G F p1

5/16

slide-129
SLIDE 129

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1 A p1 E G F p1 A (F p1 ∧ G p2)

5/16

slide-130
SLIDE 130

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1 A p1 E G F p1 A (F p1 ∧ G p2) A ( p1 U ( E G p2 ) )

5/16

slide-131
SLIDE 131

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1 A p1 E G F p1 A (F p1 ∧ G p2) A ( p1 U ( E G p2 ) ) A ( p1 U ( G p2 ) )

5/16

slide-132
SLIDE 132

State formulae

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | E α | A α pi ∈ AP φ1,φ2 : State formulae α : Path formula

Path formulae

α := X φ1 | φ1 U φ2 | F φ1 | G φ1

Legal CTL formulae Illegal CTL formulae E F p1 E F A G p1 A X p2 A F p1 ∧ A G p2 A F G p1 A p1 E G F p1 A (F p1 ∧ G p2) A ( p1 U ( E G p2 ) ) A ( p1 U ( G p2 ) ) Every temporal operator X, U, F, G has a corresponding A or E

5/16

slide-133
SLIDE 133

CTL

Syntax: Restricted form of CTL∗ Semantics: Same as seen in CTL∗

6/16

slide-134
SLIDE 134

Example

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 = { p1,p2,p3,p4 } p1: pr1.location=crit p2: pr1.location=wait p3: pr2.location=crit p4: pr2.location=wait Mutual exclusion: A G ¬ (p1 ∧ p3)

7/16

slide-135
SLIDE 135

Can LTL properties be written using CTL?

8/16

slide-136
SLIDE 136

Can LTL properties be written using CTL? Answer: No

8/16

slide-137
SLIDE 137

Can LTL properties be written using CTL? Answer: No Property A F G p1 cannot be expressed in CTL

8/16

slide-138
SLIDE 138

A F G (red)

In all paths, eventually red is true forever

. . . . . . . . . . . . . . .

9/16

slide-139
SLIDE 139

A F A G (red) . . . . . . . . . . . . . . .

10/16

slide-140
SLIDE 140

A F E G (red) . . . . . . . . . . . . . . .

11/16

slide-141
SLIDE 141

Can LTL properties be written using CTL? Answer: No Property A F G p1 cannot be expressed in CTL

12/16

slide-142
SLIDE 142

Can CTL properties be written using LTL?

13/16

slide-143
SLIDE 143

Can CTL properties be written using LTL? Answer: No

13/16

slide-144
SLIDE 144

E F A G (red) . . . . . . . . . . . . . . . Cannot be expressed in LTL

14/16

slide-145
SLIDE 145

CTL∗ CTL LTL

15/16

slide-146
SLIDE 146

CTL∗ CTL LTL

A G p

15/16

slide-147
SLIDE 147

CTL∗ CTL LTL

E F A G p A G p

15/16

slide-148
SLIDE 148

CTL∗ CTL LTL

E F A G p F G p A G p

15/16

slide-149
SLIDE 149

CTL∗ CTL LTL

E F A G p F G p A G p E F A G p ∨ A F G q

15/16

slide-150
SLIDE 150

Summary

CTL

Subset of CTL∗ Paired temporal and A-E operators Expressive powers

16/16