CTL vs. LTL Robert Bellarmine Krug Department of Computer Sciences - - PowerPoint PPT Presentation

ctl vs ltl
SMART_READER_LITE
LIVE PREVIEW

CTL vs. LTL Robert Bellarmine Krug Department of Computer Sciences - - PowerPoint PPT Presentation

CTL vs. LTL Robert Bellarmine Krug Department of Computer Sciences University of Texas at Austin May 25, 2010 Outline 1. Some Definitions And Notation 2. LTL 3. CTL 4. CTL vs. LTL CTL vs. LTL (2 / 40) Outline 1. Some Definitions And


slide-1
SLIDE 1

CTL vs. LTL

Robert Bellarmine Krug

Department of Computer Sciences University of Texas at Austin

May 25, 2010

slide-2
SLIDE 2

Outline

  • 1. Some Definitions And Notation
  • 2. LTL
  • 3. CTL
  • 4. CTL vs. LTL

CTL vs. LTL (2 / 40)

slide-3
SLIDE 3

Outline

  • 1. Some Definitions And Notation
  • 2. LTL
  • 3. CTL
  • 4. CTL vs. LTL

CTL vs. LTL Some Definitions And Notation (3 / 40)

slide-4
SLIDE 4

Kripke Structures — Definition

Let AP be a set of labels — i.e., a set of atomic propositions such as Boolean expressions over variables, constants, and predicate symbols. A Kripke structure is a 4-tuple, M = (S, I, R, L):

◮ a finite set of states, S, ◮ a set of initial states, I ⊆ S, ◮ a transition relation, R ⊆ S × S where

∀s ∈ S, ∃s′ ∈ S such that (s, s′) ∈ R,

◮ a labeling function, L, from states to the power set of atomic

propositions, L : S → 2AP.

CTL vs. LTL Some Definitions And Notation (4 / 40)

slide-5
SLIDE 5

Kripke Structure — An Example

S = {s0, s1, s2, s3} I = {s0} R = {{s0, s1} {s0, s2} {s1, s1} {s1, s3} {s2, s0} {s2, s3} {s3, s0}} L = {{s0, {p}} {s1, {p, q}} {s2, {p, r}} {s3, {v}}}

p p, r

s_0 s_1 s_2 s_3

p, q v

CTL vs. LTL Some Definitions And Notation (5 / 40)

slide-6
SLIDE 6

Infinite Paths

LTL and CTL are concerned only with infinite paths. From here

  • n, π will always denote an infinite path. Furthermore, π0 will

always denote π’s first element, π1 its second element, and so on. π = (π0, π1, π2, . . .) is an infinite path in M if it respects M’s transition relation, i.e., ∀i, (πi, πi+1) ∈ R. πi denotes π’s ith suffix, i.e., πi = (πi, πi+1, πi+2, . . .) (πi)j = (πi, πi+1, πi+2, . . .)j = (πi+j, πi+j+1, πi+j+2, . . .) = πi+j

CTL vs. LTL Some Definitions And Notation (6 / 40)

slide-7
SLIDE 7

Outline

  • 1. Some Definitions And Notation
  • 2. LTL
  • 3. CTL
  • 4. CTL vs. LTL

CTL vs. LTL LTL (7 / 40)

slide-8
SLIDE 8

LTL BNF Syntax

A well-formed LTL formula, φ, is recursively defined by the BNF formula: φ ::= ⊤ ; top, or true | ⊥ ; bottom, or false | p ; p ranges over AP | ¬φ ; negation | φ ∧ φ ; conjunction | φ ∨ φ ; disjunction | Xφ ; next time | Fφ ; eventually | Gφ ; always | φUφ ; until From here on, lowercase letters such as p, q, and r, will denote atomic propositions. Greek letters such as φ and ψ will denote formulae.

CTL vs. LTL LTL (8 / 40)

slide-9
SLIDE 9

LTL Semantics — the Basics

We now define the binary satisfaction relation, denoted by , for LTL formulae. This satisfaction is with respect a pair — M, π, a Kripke structure and a path thereof. First, the basics:

◮ M, π ⊤

true is always satisfied

◮ M, π ⊥

false is never satisfied

◮ (M, π p) if and only if (p ∈ L(π0))

atomic propositions are satisfied when they are members of the path’s first element’s labels

CTL vs. LTL LTL (9 / 40)

slide-10
SLIDE 10

LTL Semantics — Boolean Combinations

The use of the Boolean operators ¬, ∧, and ∨ in LTL formulae is a deliberate pun on their mathematical meanings.

◮ (M, π ¬φ) if and only if (M, π φ) ◮ (M, π φ ∧ ψ) if and only if [(M, π φ) ∧ (M, π ψ)] ◮ (M, π φ ∨ ψ) if and only if [(M, π φ) ∨ (M, π ψ)] CTL vs. LTL LTL (10 / 40)

slide-11
SLIDE 11

LTL Semantics — Temporal Operators

◮ (M, π Xφ) if and only if (M, π1 φ)

next time φ

◮ (M, π Fφ) if and only if (∃i such that M, πi φ)

eventually φ

◮ (M, π Gφ) if and only if (∀i such that M, πi φ)

always φ

◮ (M, π φUψ) if and only if

[ ∃i such that (∀j < i(M, πj φ)) ∧ (M, πi ψ)] φ until ψ N.B., The U used here is the “strong until.” There is also a “weak until,” φUwψ is equivalent to (φUψ) ∨ (Gφ).

CTL vs. LTL LTL (11 / 40)

slide-12
SLIDE 12

Xp — Example Path

M, (π0, π1, . . .) Xp

p

π π 1

CTL vs. LTL LTL (12 / 40)

slide-13
SLIDE 13

Fp — Example Path

M, (π0, π1, π2, π3, . . .) Fp

p

π π π π 1 2 3

CTL vs. LTL LTL (13 / 40)

slide-14
SLIDE 14

Gp — Example Path

M, (π0, π1, π2, π3, . . .) Gp

p p p p

π π π π 1 3 2

CTL vs. LTL LTL (14 / 40)

slide-15
SLIDE 15

pUq — Example Path

M, (π0, π1, π2, π3, . . .) pUq

p p q p

π π π π 1 2 3

CTL vs. LTL LTL (15 / 40)

slide-16
SLIDE 16

pUq — Another Example Path

M, (π0, . . .) pUq

q

π 0

CTL vs. LTL LTL (16 / 40)

slide-17
SLIDE 17

More LTL Semantics

◮ (M M φ) if and only if ∀π such that π0 ∈ I, (M, π φ)

A model, or Kripke structure, satisfies an LTL formula, when all its paths do.

◮ (φ ≡ ψ) if and only if ∀M [(M M φ) ⇔ (M M ψ)]

Two LTL formulae are equivalent when they are satisfied by the same Kripke structures.

CTL vs. LTL LTL (17 / 40)

slide-18
SLIDE 18

An LTL Equivalence

X(φ ∧ ψ) ≡ Xφ ∧ Xψ By the previous slide, this is true if, for all M and π: [M, π X(φ ∧ ψ)] ⇔ [M, π (Xφ ∧ Xψ)] [M, π X(φ ∧ ψ)] = [M, π1 (φ ∧ ψ)] = [(M, π1 φ) ∧ (M, π1 ψ)] = [(M, π Xφ) ∧ (M, π Xψ)] = [M, π (Xφ ∧ Xψ)] by definition of X by definition of ∧ by definition of X by definition of ∧

CTL vs. LTL LTL (18 / 40)

slide-19
SLIDE 19

Some More LTL Equivalences

X(φ ∧ ψ) ≡ Xφ ∧ Xψ X(φ ∨ ψ) ≡ Xφ ∨ Xψ X(φUψ) ≡ (XφUXψ) ¬Xφ ≡ X¬φ F(φ ∨ ψ) ≡ Fφ ∨ Fψ G(φ ∧ ψ) ≡ Gφ ∧ Gψ ¬Fφ ≡ G¬φ (φ ∧ ψ)Uρ ≡ (φUρ) ∧ (ψUρ) ρU(φ ∨ ψ) ≡ (ρUφ) ∨ (ρUψ) FFφ ≡ Fφ GGφ ≡ Gφ

CTL vs. LTL LTL (19 / 40)

slide-20
SLIDE 20

Outline

  • 1. Some Definitions And Notation
  • 2. LTL
  • 3. CTL
  • 4. CTL vs. LTL

CTL vs. LTL CTL (20 / 40)

slide-21
SLIDE 21

CTL BNF Syntax

A well-formed CTL formula, φ, is recursively defined by the BNF formula (N.B., AX, AF, etc., are each single symbols, not pairs of symbols): φ ::= ⊤ | ⊥ | p | ¬φ | φ ∧ φ | φ ∨ φ | AXφ ; A — for all paths | AFφ | AGφ | φAUφ | EXφ ; E — there exists a path | EFφ | EGφ | φEUψ

CTL vs. LTL CTL (21 / 40)

slide-22
SLIDE 22

CTL Semantics — the Basics

As for LTL, we now define the satisfaction relation. Again, this satisfaction is with respect to a pair, but this time M, s, a Kripke structure and a state thereof. This change from path to state creates a very different logic.

◮ M, s ⊤ ◮ M, s ⊥ ◮ (M, s p) if and only if (p ∈ L(s))

atomic propositions are satisfied when they are members of the state’s labels

CTL vs. LTL CTL (22 / 40)

slide-23
SLIDE 23

CTL Semantics — Boolean Combinations

As for LTL, the use of the Boolean operators ¬, ∧, and ∨ in CTL formulae is a deliberate pun on their mathematical meanings.

◮ (M, s ¬φ) if and only if (M, s φ) ◮ (M, s φ ∧ ψ) if and only if ((M, s φ) ∧ (M, s ψ)) ◮ (M, s φ ∨ ψ) if and only if ((M, s φ) ∨ (M, s ψ)) CTL vs. LTL CTL (23 / 40)

slide-24
SLIDE 24

CTL Semantics — Temporal Operators, the A team

◮ (M, s AXφ) if and only if (∀π such that π0 = s, M, π1 φ)

for all paths starting at s, next time φ

◮ (M, s AFφ) if and only if

(∀π such that π0 = s, ∃i such that M, πi φ) for all paths starting at s, eventually φ

◮ (M, s AGφ) if and only if

(∀π such that π0 = s, ∀i M, πi φ) for all paths starting at s, always φ

◮ (M, s φAUψ) if and only if

(∀π such that π0 = s, ∃i such that (∀j < i(M, πj φ)) ∧ (M, πi ψ)) for all paths starting at s, φ until ψ

CTL vs. LTL CTL (24 / 40)

slide-25
SLIDE 25

CTL Semantics — Temporal Operators, the E team

◮ (M, s EXφ) if and only if (∃π such that π0 = s, M, π1 φ)

there exists a path such that next time φ

◮ (M, s EFφ) if and only if

(∃π such that π0 = s, ∃i such that M, πi φ) there exists a path such that eventually φ

◮ (M, s EGφ) if and only if

(∃π such that π0 = s, ∀i M, πi φ) there exists a path such that always φ

◮ (M, s φEUψ) if and only if

(∃π such that π0 = s, ∃i such that (∀j < i(M, πj φ)) ∧ (M, πi ψ)) there exists a path such that φ until ψ

CTL vs. LTL CTL (25 / 40)

slide-26
SLIDE 26

AXp

S = {s0, s1, s2, s3} I = {s0} R = {{s0, s1} {s0, s2} {s1, s1} {s1, s3} {s2, s0} {s2, s3} {s3, s0}} L = {{s0, {p}} {s1, {p, q}} {s2, {p, r}} {s3, {v}}} M, s0 AXp

p p, r

s_0 s_1 s_2 s_3

p, q v

CTL vs. LTL CTL (26 / 40)

slide-27
SLIDE 27

EFv

S = {s0, s1, s2, s3} I = {s0} R = {{s0, s1} {s0, s2} {s1, s1} {s1, s3} {s2, s0} {s2, s3} {s3, s0}} L = {{s0, {p}} {s1, {p, q}} {s2, {p, r}} {s3, {v}}} M, s0 EFv

p p, r

s_0 s_1 s_2 s_3

p, q v

CTL vs. LTL CTL (27 / 40)

slide-28
SLIDE 28

AG(p ∨ v)

S = {s0, s1, s2, s3} I = S R = {{s0, s1} {s0, s2} {s1, s1} {s1, s3} {s2, s0} {s2, s3} {s3, s0}} L = {{s0, {p}} {s1, {p, q}} {s2, {p, r}} {s3, {v}}} M, s0 AG(p ∨ v)

p p, r

s_0 s_1 s_2 s_3

p, q v

CTL vs. LTL CTL (28 / 40)

slide-29
SLIDE 29

pEUv

S = {s0, s1, s2, s3} I = S R = {{s0, s1} {s0, s2} {s1, s1} {s1, s3} {s2, s0} {s2, s3} {s3, s0}} L = {{s0, {p}} {s1, {p, q}} {s2, {p, r}} {s3, {v}}} M, s0 pEUv

p p, r

s_0 s_1 s_2 s_3

p, q v

CTL vs. LTL CTL (29 / 40)

slide-30
SLIDE 30

More CTL Semantics

◮ (M M φ) if and only if ∀s ∈ I, (M, s φ)

A model, or Kripke structure, satisfies a CTL formula, when all its states do.

◮ (φ ≡ ψ) if and only if ∀M [(M M φ) ⇔ (M M ψ)]

Two CTL formulae are equivalent when they are satisfied by the same Kripke structures.

CTL vs. LTL CTL (30 / 40)

slide-31
SLIDE 31

Some CTL Equivalences

AX(φ ∧ ψ) ≡ AXφ ∧ AXψ EX(φ ∨ ψ) ≡ EXφ ∨ EXψ ¬AXφ ≡ EX¬φ EF(φ ∨ ψ) ≡ EFφ ∨ EFψ AG(φ ∧ ψ) ≡ AGφ ∧ AGψ ¬AFφ ≡ EG¬φ ¬EFφ ≡ AG¬φ AFAFφ ≡ AFφ EFEFφ ≡ EFφ AGAGφ ≡ AGφ EGEGφ ≡ EGφ

CTL vs. LTL CTL (31 / 40)

slide-32
SLIDE 32

Outline

  • 1. Some Definitions And Notation
  • 2. LTL
  • 3. CTL
  • 4. CTL vs. LTL

CTL vs. LTL CTL vs. LTL (32 / 40)

slide-33
SLIDE 33

Complexity

|φ| = n, |M| = m CTL: O(mn) LTL: O(m2n) — (and PSpace complete)

CTL vs. LTL CTL vs. LTL (33 / 40)

slide-34
SLIDE 34

Intuitiveness

IBM Journal or Research and Development: Formal Verification Made Easy, 1997 We found only simple CTL equations to be comprehensible; nontrivial equations are hard to understand and prone to error. CAV’98: On the Fly Model Checking, 1998 CTL is difficult to use for most users and requires a new way of thinking about hardware.

CTL vs. LTL CTL vs. LTL (34 / 40)

slide-35
SLIDE 35

LTL and CTL Equivalence

A CTL formula φCTL and an LTL formula φLTL are equivalent if they are satisfied by the same Kripke structures: φCTL ≡ φLTL if and only if [(M M φCTL) ⇔ (M M φLTL)]

CTL vs. LTL CTL vs. LTL (35 / 40)

slide-36
SLIDE 36

E

Any CTL formula necessitating E cannot be expressed in LTL. Example: EXp

CTL vs. LTL CTL vs. LTL (36 / 40)

slide-37
SLIDE 37

G

For any CTL formula φCTL and LTL formula φLTL such that φCTL ≡ φLTL, AGφCTL ≡ GφLTL

CTL vs. LTL CTL vs. LTL (37 / 40)

slide-38
SLIDE 38

AFAXp

FXp ≡ XFp ≡ AXAFp ≡ AFAXp The below example satisfies AXAFp, but not AFAXp. The latter of these says that, starting in any state, along all paths we will eventually reach a state, all of whose immediate successors satisfy p.

s_0 s_1 s_2 s_3 s_4

p p

CTL vs. LTL CTL vs. LTL (38 / 40)

slide-39
SLIDE 39

AFAGp

FGp ≡ AFAGp The below example satisfies FGp, but not AFAGp. The latter says that starting in any state, along all paths we will eventually reach a part of the model from which all successors satisfy p. But consider the path cycling through s0 — then s1 will always be a potential successor.

p p

CTL vs. LTL CTL vs. LTL (39 / 40)

slide-40
SLIDE 40

GFp ⇒ GFq

(GFp ≡ AGAFp), but (GFp ⇒ GFq) ≡ (AGAFp ⇒ AGAFq) While GFp ≡ AGAFp, the above implications are not equivalent. The LTL formula is an implication about paths, but the two parts

  • f the CTL formula determine subsets of states independantly. The

below example satisfies AGAFp ⇒ AGAFq but not GFp ⇒ GFq. The CTL is trivially satisfied, because AGAFp is not satisfied. The LTL is not satisfied, because the path cycling through s0 forever satisfies GFp but not GFq.

s_0 s_2 s_1

p q

CTL vs. LTL CTL vs. LTL (40 / 40)