moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS...

168
Overview overview7.5 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation-Tree Logic Equivalences and Abstraction bisimulation CTL, CTL*-equivalence computing the bisimulation quotient abstraction stutter steps simulation relations ←− ←− ←− 1 / 336

Transcript of moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS...

Page 1: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Overview overview7.5

Introduction

Modelling parallel systems

Linear Time Properties

Regular Properties

Linear Temporal Logic (LTL)

Computation-Tree Logic

Equivalences and Abstraction

bisimulationCTL, CTL*-equivalencecomputing the bisimulation quotientabstraction stutter stepssimulation relations ←−←−←−

1 / 336

Page 2: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Classification of implementation relations grm5.5-cl

2 / 336

Page 3: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Classification of implementation relations grm5.5-cl

• linear vs. branching time

∗∗∗ linear time: trace relations

∗∗∗ branching time: (bi)simulation relations

• (nonsymmetric) preorders vs. equivalences:

∗∗∗ preorders: trace inclusion, simulation

∗∗∗ equivalences: trace equivalence, bisimulation

• strong vs. weak relations

∗∗∗ strong: reasoning about all transitions

∗∗∗ weak: abstraction from stutter steps

3 / 336

Page 4: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Classification of implementation relations grm5.5-cl

• linear vs. branching time

∗∗∗ linear time: trace relations

∗∗∗ branching time: (bi)simulation relations

• (nonsymmetric) preorders vs. equivalences:

∗∗∗ preorders: trace inclusion, simulation

∗∗∗ equivalences: trace equivalence, bisimulation

• strong vs. weak relations

∗∗∗ strong: reasoning about all transitions

∗∗∗ weak: abstraction from stutter steps

4 / 336

Page 5: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Classification of implementation relations grm5.5-cl

• linear vs. branching time

∗∗∗ linear time: trace relations

∗∗∗ branching time: (bi)simulation relations

• (nonsymmetric) preorders vs. equivalences:

∗∗∗ preorders: trace inclusion, simulation

∗∗∗ equivalences: trace equivalence, bisimulation

• strong vs. weak relations

∗∗∗ strong: reasoning about all transitions

∗∗∗ weak: abstraction from stutter steps

5 / 336

Page 6: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

The simulation preorder grm5.5-0

is a nonsymmetric branching time relation

• plays of central role for abstraction

• the BT-analogue to trace inclusion

• “unidirected” version of bisimulation:

10 / 336

Page 7: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

The simulation preorder grm5.5-0

is a nonsymmetric branching time relation

• plays of central role for abstraction

• the BT-analogue to trace inclusion

• “unidirected” version of bisimulation:

if T1T1T1 is simulated by T2T2T2 then T2T2T2 can mimickall steps of T1T1T1, but possibly has more behaviors

11 / 336

Page 8: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

The simulation preorder grm5.5-0

is a nonsymmetric branching time relation

• plays of central role for abstraction

• the BT-analogue to trace inclusion

• “unidirected” version of bisimulation:

if T1T1T1 is simulated by T2T2T2 then T2T2T2 can mimickall steps of T1T1T1, but possibly has more behaviors

• relies on a coinductive definition(as bisimulation equivalence)

here: just strong simulation, i.e., no abstractionfrom stutter steps

13 / 336

Page 9: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation for two TS bseqor5.1-9a

14 / 336

Page 10: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation for two TS bseqor5.1-9a

let T1T1T1 === (S1, Act1,→1, S0,1, AP, L1)(S1, Act1,→1, S0,1, AP, L1)(S1, Act1,→1, S0,1, AP, L1)

T2T2T2 === (S2, Act2,→2, S0,2, AP, L2)(S2, Act2,→2, S0,2, AP, L2)(S2, Act2,→2, S0,2, AP, L2)

be two transition systems

• over the same set APAPAP of atomic propositions

• possibly with terminal states

16 / 336

Page 11: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation for a pair of TS bseqor5.1-10

simulation for (T1, T2)(T1, T2)(T1, T2): binary relation R ⊆ S1 × S2R ⊆ S1 × S2R ⊆ S1 × S2 s.t.

(1) if (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R then L1(s1) = L2(s2)L1(s1) = L2(s2)L1(s1) = L2(s2)

(2) for all (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R:

∀s ′1 ∈ Post(s1)∀s ′1 ∈ Post(s1)∀s ′1 ∈ Post(s1) ∃s ′2 ∈ Post(s2)∃s ′2 ∈ Post(s2)∃s ′2 ∈ Post(s2) s.t. (s ′1, s′2) ∈ R(s ′1, s′2) ∈ R(s ′1, s′2) ∈ R

s1s1s1 –RRR– s2s2s2���s ′1s′1s′1

can becompleted to

s1s1s1 –RRR– s2s2s2��� ���s ′1s′1s′1 –RRR– s ′2s

′2s′2

(I) for all initial states s1s1s1 of T1T1T1

there is an initial state s2s2s2 of T2T2T2 with (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R21 / 336

Page 12: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder bseqor5.1-10

simulation for (T1, T2)(T1, T2)(T1, T2): relation R ⊆ S1 × S2R ⊆ S1 × S2R ⊆ S1 × S2 s.t.(1) labeling condition(2) stepwise simulation condition(I) initial condition

simulation preorder for TS:

T1 T2T1 T2T1 T2 iff{{{

there exists a simulation RRRfor (T1, T2)(T1, T2)(T1, T2)

23 / 336

Page 13: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder bseqor5.1-10

simulation for (T1, T2)(T1, T2)(T1, T2): relation R ⊆ S1 × S2R ⊆ S1 × S2R ⊆ S1 × S2 s.t.(1) labeling condition(2) stepwise simulation condition(I) initial condition

simulation preorder for TS:

T1 T2T1 T2T1 T2 iff{{{

there exists a simulation RRRfor (T1, T2)(T1, T2)(T1, T2)

If s1s1s1 is a state of T1T1T1 and s2s2s2 a state of T2T2T2 then

s1 s2s1 s2s1 s2 iff there exists a simulation RRR for (T1, T2)(T1, T2)(T1, T2)such that (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R

24 / 336

Page 14: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2

27 / 336

Page 15: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2

simulation for (T1, T2)(T1, T2)(T1, T2):{{{(pay , pay),(pay , pay),(pay , pay), (paid1, select),(paid1, select),(paid1, select), (paid2, select),(paid2, select),(paid2, select),

(coke, coke),(coke, coke),(coke, coke), (soda, soda)(soda, soda)(soda, soda)}}}

29 / 336

Page 16: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2, but T2 T1T2 T1T2 T1

simulation for (T1, T2)(T1, T2)(T1, T2):{{{(pay , pay),(pay , pay),(pay , pay), (paid1, select),(paid1, select),(paid1, select), (paid2, select),(paid2, select),(paid2, select),

(coke, coke),(coke, coke),(coke, coke), (soda, soda)(soda, soda)(soda, soda)}}}

30 / 336

Page 17: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2, but T2 T1T2 T1T2 T1

for AP = {pay , drink} :AP = {pay , drink} :AP = {pay , drink} :

32 / 336

Page 18: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2, but T2 T1T2 T1T2 T1

for AP = {pay , drink} :AP = {pay , drink} :AP = {pay , drink} : T1 T2T1 T2T1 T2, and T2 T1T2 T1T2 T1

33 / 336

Page 19: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2, but T2 T1T2 T1T2 T1

for AP = {pay , drink} :AP = {pay , drink} :AP = {pay , drink} : T1 T2T1 T2T1 T2, and T2 T1T2 T1T2 T1

simulation for (T1, T2)(T1, T2)(T1, T2): as before

34 / 336

Page 20: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-8

T1T1T1 pay

paid1 paid2

coke soda

T2T2T2 pay

coke soda

select

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}: T1 T2T1 T2T1 T2, but T2 T1T2 T1T2 T1

for AP = {pay , drink} :AP = {pay , drink} :AP = {pay , drink} : T1 T2T1 T2T1 T2, and T2 T1T2 T1T2 T1

simulation for (T2, T1)(T2, T1)(T2, T1):{(pay , pay), (select, paid1), (select, paid2),

{(pay , pay), (select, paid1), (select, paid2),

{(pay , pay), (select, paid1), (select, paid2),

(coke, coke), (soda, soda)}

(coke, coke), (soda, soda)}

(coke, coke), (soda, soda)}

35 / 336

Page 21: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Path fragment lifting for simulation RRR bseqor5.1-9

s1s1s1 –RRR– s2s2s2

↓↓↓s1,1s1,1s1,1

↓↓↓s1,2s1,2s1,2

↓↓↓s1,3s1,3s1,3

↓↓↓.........↓↓↓

s1,ns1,ns1,n

can be completed to

s1s1s1s1s1s1s1s1s1 –RRR– s2s2s2

↓↓↓ ↓↓↓s1,1s1,1s1,1 –RRR– s2,1s2,1s2,1

↓↓↓ ↓↓↓s1,2s1,2s1,2 –RRR– s2,2s2,2s2,2

↓↓↓ ↓↓↓s1,3s1,3s1,3 –RRR– s2,3s2,3s2,3

↓↓↓ ↓↓↓.........

...

...

...↓↓↓ ↓↓↓

s1,ns1,ns1,n –RRR– s2,ns2,ns2,n

42 / 336

Page 22: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? bseqor5.1-12

s1s1s1

s ′1s′1s′1

s2s2s2

s ′2s′2s′2

correct. simulation:{(s1, s2), (s

′1, s′2)

}{(s1, s2), (s

′1, s′2)

}{(s1, s2), (s

′1, s′2)

}

45 / 336

Page 23: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? bseqor5.1-12

s1s1s1

s ′1s′1s′1

s2s2s2

s ′2s′2s′2

correct. simulation:{(s1, s2), (s

′1, s′2)

}{(s1, s2), (s

′1, s′2)

}{(s1, s2), (s

′1, s′2)

}

s1s1s1

s ′1s′1s′1

s2s2s2

s ′2s′2s′2

wrong. there is no path fragment in T2T2T2

corresponding to the path fragment s1 s ′1 s ′1s1 s ′1 s ′1s1 s ′1 s ′147 / 336

Page 24: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? bseqor5.1-13

48 / 336

Page 25: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? bseqor5.1-13

s1s1s1

s ′1s′1s′1

s ′′2s′′2s′′2

s2s2s2

s ′2s′2s′2

correct. simulation:{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}

49 / 336

Page 26: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? bseqor5.1-13

s1s1s1

s ′1s′1s′1

s ′′2s′′2s′′2

s2s2s2

s ′2s′2s′2

correct. simulation:{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}

50 / 336

Page 27: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? bseqor5.1-13

s1s1s1

s ′1s′1s′1

s ′′2s′′2s′′2

s2s2s2

s ′2s′2s′2

correct. simulation:{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}{(s1, s2), (s

′1, s′2), (s

′1, s′′2 )

}

s ′1s′1s′1

s ′2s′2s′2

t ′2t′2t′2

wrong. s ′1 s ′2s ′1 s ′2s ′1 s ′2 and s ′1 t ′2s ′1 t ′2s ′1 t ′251 / 336

Page 28: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder ... bseqor5.1-29

• as a relation that compares two transition systems

52 / 336

Page 29: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder ... bseqor5.1-29

• as a relation that compares two transition systems

T1T1T1 T2T2T2

53 / 336

Page 30: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder ... bseqor5.1-29

• as a relation that compares two transition systems

• as a relation on the states of one transition system

54 / 336

Page 31: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder ... bseqor5.1-29

• as a relation that compares two transition systems

• as a relation on the states of one transition system

TTTs1s1s1

s2s2s2

s1T s2s1T s2s1T s2 iff ?

55 / 336

Page 32: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder ... bseqor5.1-29

• as a relation that compares two transition systems

• as a relation on the states of one transition system

TTTs1s1s1

s2s2s2

s1s1s1

Ts1Ts1Ts1 Ts2Ts2Ts2

s2s2s2

s1T s2s1T s2s1T s2 iff Ts1 Ts2Ts1 Ts2Ts1 Ts2

iff there exists a simulation RRRfor TTT with (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R

57 / 336

Page 33: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder for a single TS bseqor5.1-30

Let T = (S , Act,→, . . .)T = (S , Act,→, . . .)T = (S , Act,→, . . .) be a transition system.

The simulation preorder TTT is the coarsest relationon SSS such that for all states s1s1s1, s2 ∈ Ss2 ∈ Ss2 ∈ S with s1 T s2s1 T s2s1 T s2:

58 / 336

Page 34: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder for a single TS bseqor5.1-30

Let T = (S , Act,→, . . .)T = (S , Act,→, . . .)T = (S , Act,→, . . .) be a transition system.

The simulation preorder TTT is the coarsest relationon SSS such that for all states s1s1s1, s2 ∈ Ss2 ∈ Ss2 ∈ S with s1 T s2s1 T s2s1 T s2:

(1) L(s1) = L(s2)L(s1) = L(s2)L(s1) = L(s2)

(2) each transition of s1s1s1 can be mimickedby a transition of s2s2s2

s1s1s1 TTT s2s2s2���s ′1s′1s′1

can becompleted to

s1s1s1 TTT s2s2s2��� ���s ′1s′1s′1 TTT s ′2s

′2s′2

61 / 336

Page 35: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder for a single TS bseqor5.1-30

Let T = (S , Act,→, . . .)T = (S , Act,→, . . .)T = (S , Act,→, . . .) be a transition system.

The simulation preorder TTT is the coarsest relationon SSS such that for all states s1s1s1, s2 ∈ Ss2 ∈ Ss2 ∈ S with s1 T s2s1 T s2s1 T s2:

(1) L(s1) = L(s2)L(s1) = L(s2)L(s1) = L(s2)

(2) each transition of s1s1s1 can be mimickedby a transition of s2s2s2

TTT is a preorder, i.e., transitive and reflexive.

62 / 336

Page 36: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder TTT bseqor5.1-10a

Let TTT be a transition system with state space SSS .

A simulation for TTT is a binary relation R ⊆ S × SR ⊆ S × SR ⊆ S × S s.t.

(1) if (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R then L(s1) = L(s2)L(s1) = L(s2)L(s1) = L(s2)

(2) for all (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R:

∀s ′1 ∈ Post(s1) ∃s ′2 ∈ Post(s2)∀s ′1 ∈ Post(s1) ∃s ′2 ∈ Post(s2)∀s ′1 ∈ Post(s1)∃s ′2 ∈ Post(s2) s.t. (s ′1, s′2) ∈ R(s ′1, s′2) ∈ R(s ′1, s′2) ∈ R

simulation preorder TTT :

s1 T s2s1 T s2s1 T s2 iff there exists a simulation RRR for TTTs.t. (s1, s2) ∈ R(s1, s2) ∈ R(s1, s2) ∈ R

67 / 336

Page 37: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Path fragment lifting for TTT bseqor5.1-23

s1s1s1 TTT s2s2s2���s1,1s1,1s1,1���s1,2s1,2s1,2���s1,3s1,3s1,3���.........���

s1,ns1,ns1,n

can be completed to

s1s1s1 TTT s2s2s2��� ���s1,1s1,1s1,1 TTT s2,1s2,1s2,1��� ���s1,2s1,2s1,2 TTT s2,2s2,2s2,2��� ���s1,3s1,3s1,3 TTT s2,3s2,3s2,3��� ���.........

...

...

...��� ���s1,ns1,ns1,n TTT s2,ns2,ns2,n

72 / 336

Page 38: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation preorder TTT bseqor5.1-33

s1s1s1 s2s2s2

s ′1s′1s′1 s ′2s

′2s′2

{a}{a}{a} {a}{a}{a}

∅∅∅ ∅∅∅

s1 T s2s1 T s2s1 T s2

73 / 336

Page 39: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation preorder TTT bseqor5.1-33

s1s1s1 s2s2s2

s ′1s′1s′1 s ′2s

′2s′2

{a}{a}{a} {a}{a}{a}

∅∅∅ ∅∅∅

s1 T s2s1 T s2s1 T s2 as{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}is a simulation for TTT

74 / 336

Page 40: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation preorder TTT bseqor5.1-33

s1s1s1 s2s2s2

s ′1s′1s′1 s ′2s

′2s′2

{a}{a}{a} {a}{a}{a}

∅∅∅ ∅∅∅

Ts1Ts1Ts1 Ts2Ts2Ts2

s1 T s2s1 T s2s1 T s2 as{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}is a simulation for TTT

75 / 336

Page 41: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation preorder TTT bseqor5.1-33

s1s1s1 s2s2s2

s ′1s′1s′1 s ′2s

′2s′2

{a}{a}{a} {a}{a}{a}

∅∅∅ ∅∅∅

Ts1Ts1Ts1 Ts2Ts2Ts2

s1 T s2s1 T s2s1 T s2 as{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}{(s1, s2), (s

′1, s′2), (s

′1, s′1)

}is a simulation for TTT

s1 → s ′1 → s ′1 → s ′1 → ...s1 → s ′1 → s ′1 → s ′1 → ...s1 → s ′1 → s ′1 → s ′1 → ...is simulated by

s2 → s ′2 → s ′1 → s ′1 → ...s2 → s ′2 → s ′1 → s ′1 → ...s2 → s ′2 → s ′1 → s ′1 → ...76 / 336

Page 42: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6

77 / 336

Page 43: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6

transition system TTTwith state space SSS

78 / 336

Page 44: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6

transition system TTTwith state space SSS

“small” abstractstate space S ′S ′S ′

79 / 336

Page 45: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6

transition system TTTwith state space SSS

sss

f (s)f (s)f (s)

abstraction function fff

abstract transition systemTfTfTf with state space S ′S ′S ′

80 / 336

Page 46: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6

transition system TTTwith state space SSS

sss

f (s)f (s)f (s)

abstraction function fff

abstract transition systemTfTfTf with state space S ′S ′S ′

lifting of transitions:

s −→ s ′

f (s) −→ f (s ′)s −→ s ′

f (s) −→ f (s ′)s −→ s ′

f (s) −→ f (s ′)81 / 336

Page 47: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6

transition system TTTwith state space SSS

sss

f (s)f (s)f (s)

abstraction function fff

s ′s ′s ′

f (s ′)f (s ′)f (s ′)

abstract transition systemTfTfTf with state space S ′S ′S ′

lifting of transitions:

s −→ s ′

f (s) −→ f (s ′)s −→ s ′

f (s) −→ f (s ′)s −→ s ′

f (s) −→ f (s ′)82 / 336

Page 48: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6a

given: transition system T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)

set S ′S ′S ′ and abstraction function f : S → S ′f : S → S ′f : S → S ′

s.t. L(s) = L(t)L(s) = L(t)L(s) = L(t) if f (s) = f (t)f (s) = f (t)f (s) = f (t) for all s , t ∈ Ss, t ∈ Ss, t ∈ S

83 / 336

Page 49: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6a

given: transition system T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)

set S ′S ′S ′ and abstraction function f : S → S ′f : S → S ′f : S → S ′

s.t. L(s) = L(t)L(s) = L(t)L(s) = L(t) if f (s) = f (t)f (s) = f (t)f (s) = f (t) for all s , t ∈ Ss, t ∈ Ss, t ∈ S

goal: define abstract transition system TfTfTf

with state space S ′S ′S ′ s.t. T TfT TfT Tf

84 / 336

Page 50: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6a

abstraction function f : S → S ′f : S → S ′f : S → S ′ s.t.L(s) = L(t)L(s) = L(t)L(s) = L(t) if f (s) = f (t)f (s) = f (t)f (s) = f (t) for all s, t ∈ Ss, t ∈ Ss , t ∈ S

transition systemT = (S , Act,−→, S0, AP , L)T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)���

������

abstract transition systemTf = (S ′, Act ′,−→f , S

′0, AP , L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)

85 / 336

Page 51: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6a

abstraction function f : S → S ′f : S → S ′f : S → S ′ s.t.L(s) = L(t)L(s) = L(t)L(s) = L(t) if f (s) = f (t)f (s) = f (t)f (s) = f (t) for all s, t ∈ Ss, t ∈ Ss , t ∈ S

transition systemT = (S , Act,−→, S0, AP , L)T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)���

������

abstract transition systemTf = (S ′, Act ′,−→f , S

′0, AP , L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)

where S ′0 ={f (s0) : s0 ∈ S0

}S ′0 =

{f (s0) : s0 ∈ S0

}S ′0 =

{f (s0) : s0 ∈ S0

}and L′(f (s)) = L(s)L′(f (s)) = L(s)L′(f (s)) = L(s)

s −→ s ′

f (s) −→f f (s ′)s −→ s ′

f (s) −→f f (s ′)s −→ s ′

f (s) −→f f (s ′)86 / 336

Page 52: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6a

abstraction function f : S → S ′f : S → S ′f : S → S ′ s.t.L(s) = L(t)L(s) = L(t)L(s) = L(t) if f (s) = f (t)f (s) = f (t)f (s) = f (t) for all s, t ∈ Ss, t ∈ Ss , t ∈ S

transition systemT = (S , Act,−→, S0, AP , L)T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)���

������

abstract transition systemTf = (S ′, Act ′,−→f , S

′0, AP , L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)

Then T TfT TfT Tf

87 / 336

Page 53: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-6a

abstraction function f : S → S ′f : S → S ′f : S → S ′ s.t.L(s) = L(t)L(s) = L(t)L(s) = L(t) if f (s) = f (t)f (s) = f (t)f (s) = f (t) for all s, t ∈ Ss, t ∈ Ss , t ∈ S

transition systemT = (S , Act,−→, S0, AP , L)T = (S , Act,−→, S0, AP, L)T = (S , Act,−→, S0, AP, L)���

������

abstract transition systemTf = (S ′, Act ′,−→f , S

′0, AP , L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)Tf = (S ′, Act ′,−→f , S′0, AP, L′)

Then T TfT TfT Tf ←−←−←−R =

{〈s, f (s)〉 : s ∈ S

}R =

{〈s , f (s)〉 : s ∈ S

}R =

{〈s , f (s)〉 : s ∈ S

}is a

simulation for (T , Tf )(T , Tf )(T , Tf )88 / 336

Page 54: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Data abstraction grm5.5-7

WHILE x > 0x > 0x > 0 DO

x := x−1;x := x−1;x := x−1;

y := y+1y := y+1y := y+1OD

IF even(y)even(y)even(y)THEN return “111”ELSE return “000”

FI

x ∈ Nx ∈ Nx ∈ N

y ∈ Ny ∈ Ny ∈ N

89 / 336

Page 55: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Data abstraction grm5.5-7

WHILE x > 0x > 0x > 0 DO

x := x−1;x := x−1;x := x−1;

y := y+1y := y+1y := y+1OD

IF even(y)even(y)even(y)THEN return “111”ELSE return “000”

FI

dataabstr.−→−→−→

x ∈ Nx ∈ Nx ∈ N

y ∈ Ny ∈ Ny ∈ N

−→−→−→−→−→−→

xxx ∈∈∈ {gzero, zero}{gzero, zero}{gzero, zero}yyy ∈∈∈ {even, odd}{even, odd}{even, odd}

90 / 336

Page 56: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Data abstraction grm5.5-7

WHILE x > 0x > 0x > 0 DO

x := x−1;x := x−1;x := x−1;

y := y+1y := y+1y := y+1OD

IF even(y)even(y)even(y)THEN return “111”ELSE return “000”

FI

dataabstr.−→−→−→

WHILE x = gzerox = gzerox = gzero DOx := gzerox := gzerox := gzero or x := zerox := zerox := zero

IF y = eveny = eveny = evenTHEN y := oddy := oddy := oddELSE y := eveny := eveny := even

FI

ODIF y = eveny = eveny = even

THEN return “111”ELSE return “000”

FI

x ∈ Nx ∈ Nx ∈ N

y ∈ Ny ∈ Ny ∈ N

−→−→−→−→−→−→

xxx ∈∈∈ {gzero, zero}{gzero, zero}{gzero, zero}yyy ∈∈∈ {even, odd}{even, odd}{even, odd}

91 / 336

Page 57: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Data abstraction grm5.5-7

WHILE x > 0x > 0x > 0 DO

x := x−1;x := x−1;x := x−1;

y := y+1y := y+1y := y+1OD

IF even(y)even(y)even(y)THEN return “111”ELSE return “000”

FI

dataabstr.−→−→−→

WHILE x = gzerox = gzerox = gzero DOx := gzerox := gzerox := gzero or x := zerox := zerox := zero

IF y = eveny = eveny = evenTHEN y := oddy := oddy := oddELSE y := eveny := eveny := even

FI

ODIF y = eveny = eveny = even

THEN return “111”ELSE return “000”

FI

concrete operation ��� abstract operation

92 / 336

Page 58: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Data abstraction grm5.5-7

WHILE x > 0x > 0x > 0 DO

x := x−1;x := x−1;x := x−1;

y := y+1y := y+1y := y+1OD

IF even(y)even(y)even(y)THEN return “111”ELSE return “000”

FI

dataabstr.−→−→−→

WHILE x = gzerox = gzerox = gzero DOx := gzerox := gzerox := gzero or x := zerox := zerox := zero

IF y = eveny = eveny = evenTHEN y := oddy := oddy := oddELSE y := eveny := eveny := even

FI

ODIF y = eveny = eveny = even

THEN return “111”ELSE return “000”

FI

concrete operationx := x−1x := x−1x := x−1

��� abstract operation, e.g.,gzero �→ gzero or zerogzero �→ gzero or zerogzero �→ gzero or zero

93 / 336

Page 59: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Abstraction and simulation grm5.5-8

abstract TS simulates the concrete one

94 / 336

Page 60: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

WHILE x > 0x > 0x > 0 DO

x := x−1x := x−1x := x−1y := y+1y := y+1y := y+1

OD

IF even(y)even(y)even(y)THEN return 111ELSE return 000

WHILE x = gzerox = gzerox = gzero DOx := gzerox := gzerox := gzero or x := zerox := zerox := zeroIF y = eveny = eveny = even

THEN y := oddy := oddy := oddELSE y := eveny := eveny := evenFI

ODIF y = eveny = eveny = even

THEN return 111ELSE return 000 FI

95 / 336

Page 61: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

�0�0�0 WHILE x > 0x > 0x > 0 DO

�1�1�1 x := x−1x := x−1x := x−1�2�2�2 y := y+1y := y+1y := y+1

OD

�3�3�3 IF even(y)even(y)even(y)�4�4�4 THEN return 111�5�5�5 ELSE return 000

�0�0�0 WHILE x = gzerox = gzerox = gzero DO�1�1�1 x := gzerox := gzerox := gzero or x := zerox := zerox := zero�2�2�2 IF y = eveny = eveny = even

THEN y := oddy := oddy := oddELSE y := eveny := eveny := evenFI

OD�3�3�3 IF y = eveny = eveny = even�4�4�4 THEN return 111�5�5�5 ELSE return 000 FI

�0�0�0 x=2x=2x=2 y=0y=0y=0

�1�1�1 x=2x=2x=2 y=0y=0y=0

�2�2�2 x=1x=1x=1 y=0y=0y=0

�0�0�0 x=1x=1x=1 y=1y=1y=1

�1�1�1 x=1x=1x=1 y=1y=1y=1

�0�0�0 gzerogzerogzero eveneveneven

�1�1�1 gzerogzerogzero eveneveneven

�2�2�2 gzerogzerogzero eveneveneven

�0�0�0 gzerogzerogzero oddoddodd

�1�1�1 gzerogzerogzero oddoddodd

... ...

...

�2�2�2 zerozerozero eveneveneven

�0�0�0 zerozerozero oddoddodd

�3�3�3 ...... 96 / 336

Page 62: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

�0�0�0 WHILE x > 0x > 0x > 0 DO

�1�1�1 x := x−1x := x−1x := x−1�2�2�2 y := y+1y := y+1y := y+1

OD

�3�3�3 IF even(y)even(y)even(y)�4�4�4 THEN return 111�5�5�5 ELSE return 000

�0�0�0 WHILE x = gzerox = gzerox = gzero DO�1�1�1 x := gzerox := gzerox := gzero or x := zerox := zerox := zero�2�2�2 IF y = eveny = eveny = even

THEN y := oddy := oddy := oddELSE y := eveny := eveny := evenFI

OD�3�3�3 IF y = eveny = eveny = even�4�4�4 THEN return 111�5�5�5 ELSE return 000 FI

�0�0�0 x=2x=2x=2 y=0y=0y=0

�1�1�1 x=2x=2x=2 y=0y=0y=0

�2�2�2 x=1x=1x=1 y=0y=0y=0

�0�0�0 x=1x=1x=1 y=1y=1y=1

�1�1�1 x=1x=1x=1 y=1y=1y=1

�0�0�0 gzerogzerogzero eveneveneven

�1�1�1 gzerogzerogzero eveneveneven

�2�2�2 gzerogzerogzero eveneveneven

�0�0�0 gzerogzerogzero oddoddodd

�1�1�1 gzerogzerogzero oddoddodd

... ...

...

�2�2�2 zerozerozero eveneveneven

�0�0�0 zerozerozero oddoddodd

�3�3�3 ......

97 / 336

Page 63: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder vs. and trace inclusion bseqor5.1-25

T1 T2 =⇒ Tracesfin(T1) ⊆ Tracesfin(T2)T1 T2 =⇒ Tracesfin(T1) ⊆ Tracesfin(T2)T1 T2 =⇒ Tracesfin(T1) ⊆ Tracesfin(T2)

reason: path fragment lifting for

100 / 336

Page 64: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation preorder vs. and trace inclusion bseqor5.1-25

T1 T2 =⇒ Tracesfin(T1) ⊆ Tracesfin(T2)T1 T2 =⇒ Tracesfin(T1) ⊆ Tracesfin(T2)T1 T2 =⇒ Tracesfin(T1) ⊆ Tracesfin(T2)

if T1T1T1 does not have terminal states, then:

T1 T2 =⇒ Traces(T1) ⊆ Traces(T2)T1 T2 =⇒ Traces(T1) ⊆ Traces(T2)T1 T2 =⇒ Traces(T1) ⊆ Traces(T2)

... does not hold if T1T1T1 has terminal states ...

T1T1T1 ∅∅∅

∅∅∅T1 T2T1 T2T1 T2

T2T2T2

∅∅∅

Traces(T1) = {∅ ∅ } = {∅ω } = Traces(T2)Traces(T1) = {∅ ∅ } = {∅ω } = Traces(T2)Traces(T1) = {∅ ∅ } = {∅ω } = Traces(T2)

104 / 336

Page 65: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation equivalence �T�T�T bseqor5.1-16

kernel of the simulation preorder, i.e.,

� = ∩ −1� = ∩ −1� = ∩ −1

For TS T1T1T1 and T2T2T2 over the same set ofatomic propositions:

T1 � T2T1 � T2T1 � T2 iff T1 T2T1 T2T1 T2 and T2 T1T2 T1T2 T1

111 / 336

Page 66: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation equivalence �T�T�T bseqor5.1-16

kernel of the simulation preorder, i.e.,

� = ∩ −1� = ∩ −1� = ∩ −1

For TS T1T1T1 and T2T2T2 over the same set ofatomic propositions:

T1 � T2T1 � T2T1 � T2 iff T1 T2T1 T2T1 T2 and T2 T1T2 T1T2 T1

for states s1s1s1 and s2s2s2 of a TS TTT :

s1 �T s2s1 �T s2s1 �T s2 iff s1 T s2s1 T s2s1 T s2 and s2 T s1s2 T s1s2 T s1

112 / 336

Page 67: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-17

T1T1T1:

paypaypay

cokecokecoke sodasodasoda

s1s1s1

T2T2T2:

paypaypay

s2s2s2 s ′2s′2s′2

cokecokecoke sodasodasoda

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}

113 / 336

Page 68: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-17

T1T1T1:

paypaypay

cokecokecoke sodasodasoda

s1s1s1

T2T2T2:

paypaypay

s2s2s2 s ′2s′2s′2

cokecokecoke sodasodasoda

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}

T2 T1T2 T1T2 T1, but T1 � T2T1 � T2T1 � T2

114 / 336

Page 69: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-17

T1T1T1:

paypaypay

cokecokecoke sodasodasoda

s1s1s1

T2T2T2:

paypaypay

s2s2s2 s ′2s′2s′2

cokecokecoke sodasodasoda

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}

T2 T1T2 T1T2 T1, but T1 � T2T1 � T2T1 � T2 ←−←−←− since T1 T2T1 T2T1 T2

115 / 336

Page 70: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-17

T1T1T1:

paypaypay

cokecokecoke sodasodasoda

s1s1s1

T2T2T2:

paypaypay

s2s2s2 s ′2s′2s′2

cokecokecoke sodasodasoda

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}

T2 T1T2 T1T2 T1, but T1 � T2T1 � T2T1 � T2 ←−←−←− since T1 T2T1 T2T1 T2

for AP = {pay , drink}AP = {pay , drink}AP = {pay , drink}:

116 / 336

Page 71: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Two beverage machines bseqor5.1-17

T1T1T1:

paypaypay

cokecokecoke sodasodasoda

s1s1s1

T2T2T2:

paypaypay

s2s2s2 s ′2s′2s′2

cokecokecoke sodasodasoda

for AP = {pay , coke, soda}AP = {pay , coke, soda}AP = {pay , coke, soda}

T2 T1T2 T1T2 T1, but T1 � T2T1 � T2T1 � T2 ←−←−←− since T1 T2T1 T2T1 T2

for AP = {pay , drink}AP = {pay , drink}AP = {pay , drink}: T1 � T2T1 � T2T1 � T2

117 / 336

Page 72: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation equivalent TS bseqor5.1-16a

T1T1T1: s1s1s1

t1t1t1

u1u1u1

T2T2T2: s2s2s2

t3t3t3 t2t2t2

u2u2u2

118 / 336

Page 73: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation equivalent TS bseqor5.1-16a

T1T1T1: s1s1s1

t1t1t1

u1u1u1

T2T2T2: s2s2s2

t3t3t3 t2t2t2

u2u2u2

simulation for (T1, T2)(T1, T2)(T1, T2):

{(s1, s2), (t1, t2), (u1, u2)}{(s1, s2), (t1, t2), (u1, u2)}{(s1, s2), (t1, t2), (u1, u2)}

119 / 336

Page 74: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation equivalent TS bseqor5.1-16a

T1T1T1: s1s1s1

t1t1t1

u1u1u1

T2T2T2: s2s2s2

t3t3t3 t2t2t2

u2u2u2

simulation for (T1, T2)(T1, T2)(T1, T2):

{(s1, s2), (t1, t2), (u1, u2)}{(s1, s2), (t1, t2), (u1, u2)}{(s1, s2), (t1, t2), (u1, u2)}

simulation for (T2, T1)(T2, T1)(T2, T1):

{(s2, s1), (t2, t1), (t3, t1), (u2, u1)}{(s2, s1), (t2, t1), (t3, t1), (u2, u1)}{(s2, s1), (t2, t1), (t3, t1), (u2, u1)}120 / 336

Page 75: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation vs. simulation equivalence bseqor5.1-21

Bisimulation equivalence ∼∼∼ is strictly finerthan simulation equivalence ���

122 / 336

Page 76: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation vs. simulation equivalence bseqor5.1-21

Bisimulation equivalence ∼∼∼ is strictly finerthan simulation equivalence ���

That is:

1. T1 ∼ T2T1 ∼ T2T1 ∼ T2 implies T1 � T2T1 � T2T1 � T2

Proof: Let RRR is a bisimulation for (T1, T2)(T1, T2)(T1, T2).

• RRR is a simulation for (T1, T2)(T1, T2)(T1, T2) =⇒=⇒=⇒ T1 T2T1 T2T1 T2

• R−1R−1R−1 is a simulation for (T2, T1)(T2, T1)(T2, T1) =⇒=⇒=⇒ T2 T1T2 T1T2 T1

2. there exist TS T1T1T1 and T2T2T2 s.t. T1 � T2T1 � T2T1 � T2 and T1 ∼ T2T1 ∼ T2T1 ∼ T2

128 / 336

Page 77: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1

129 / 336

Page 78: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

130 / 336

Page 79: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

simulation equivalence

s1s1s1 s2s2s2���

s ′1s′1s′1

131 / 336

Page 80: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

simulation equivalence

s1s1s1 s2s2s2���

s ′1s′1s′1

s ′2s′2s′2 s ′1 s ′2s ′1 s ′2s ′1 s ′2

132 / 336

Page 81: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

simulation equivalence

s1s1s1 s2s2s2���

s ′1s′1s′1

s ′2s′2s′2 s ′1 s ′2s ′1 s ′2s ′1 s ′2

T1T1T1 T2T2T2

133 / 336

Page 82: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

simulation equivalence

s1s1s1 s2s2s2���

s ′1s′1s′1

s ′2s′2s′2 s ′1 s ′2s ′1 s ′2s ′1 s ′2

T1T1T1 T2T2T2���∼∼∼

135 / 336

Page 83: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

simulation equivalence

s1s1s1 s2s2s2���

s ′1s′1s′1

s ′2s′2s′2 s ′1 s ′2s ′1 s ′2s ′1 s ′2

T1T1T1 T2T2T2���∼∼∼

T2 T1T2 T1T2 T1, as T2T2T2 is a “subsystem” of T1T1T1

136 / 336

Page 84: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalence

s1s1s1 s2s2s2∼∼∼

s ′1s′1s′1 s ′2s

′2s′2∼∼∼

simulation equivalence

s1s1s1 s2s2s2���

s ′1s′1s′1

s ′2s′2s′2 s ′1 s ′2s ′1 s ′2s ′1 s ′2

T1T1T1 T2T2T2���∼∼∼

s1s1s1 s2s2s2

s ′1s′1s′1 s ′′1s

′′1s′′1 s ′2s

′2s′2

u2u2u2 v2v2v2u1u1u1v1v1v1

simulation for (T1, T2)(T1, T2)(T1, T2):{(s1, s2), (s

′1, s′2), (s

′′1 , s ′2), (u1, u2), (v1, v2)

}{(s1, s2), (s

′1, s′2), (s

′′1 , s ′2), (u1, u2), (v1, v2)

}{(s1, s2), (s

′1, s′2), (s

′′1 , s ′2), (u1, u2), (v1, v2)

}137 / 336

Page 85: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation vs trace equivalence bseqor5.1-24

T1 � T2T1 � T2T1 � T2 =⇒=⇒=⇒ Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2) =⇒=⇒=⇒ T1 � T2T1 � T2T1 � T2

���not trace equivalentbut simulation equivalent

��� trace equivalentnot simulation equivalent

142 / 336

Page 86: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation vs trace equivalence ←−←−←− incomparable

T1 � T2T1 � T2T1 � T2 =⇒=⇒=⇒ Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2) =⇒=⇒=⇒ T1 � T2T1 � T2T1 � T2

���not trace equivalentbut simulation equivalent

��� trace equivalentnot simulation equivalent

143 / 336

Page 87: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation vs. finite trace equivalence bseqor5.1-24

T1 � T2 =⇒ Traces(T1) = Traces(T2)T1 � T2 =⇒ Traces(T1) = Traces(T2)T1 � T2 =⇒ Traces(T1) = Traces(T2)

Traces(T1) = Traces(T2) =⇒ T1 � T2Traces(T1) = Traces(T2) =⇒ T1 � T2Traces(T1) = Traces(T2) =⇒ T1 � T2

T1 � T2 =⇒ Tracesfin(T1) = Tracesfin(T2)T1 � T2 =⇒ Tracesfin(T1) = Tracesfin(T2)T1 � T2 =⇒ Tracesfin(T1) = Tracesfin(T2)

while “⇐=⇐=⇐=” does not hold

145 / 336

Page 88: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation vs. finite trace equivalence bseqor5.1-24

T1 � T2 =⇒ Traces(T1) = Traces(T2)T1 � T2 =⇒ Traces(T1) = Traces(T2)T1 � T2 =⇒ Traces(T1) = Traces(T2)

Traces(T1) = Traces(T2) =⇒ T1 � T2Traces(T1) = Traces(T2) =⇒ T1 � T2Traces(T1) = Traces(T2) =⇒ T1 � T2

T1 � T2 =⇒ Tracesfin(T1) = Tracesfin(T2)T1 � T2 =⇒ Tracesfin(T1) = Tracesfin(T2)T1 � T2 =⇒ Tracesfin(T1) = Tracesfin(T2)

while “⇐=⇐=⇐=” does not hold

If T1T1T1, T2T2T2 do not have terminal states then:

T1 � T2 =⇒ Traces(T1) = Traces(T2)T1 � T2 =⇒ Traces(T1) = Traces(T2)T1 � T2 =⇒ Traces(T1) = Traces(T2)

146 / 336

Page 89: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Summary: trace and (bi)simulation relations bseqor5.1-28

147 / 336

Page 90: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

simulationpreorderT1 T2T1 T2T1 T2

simulationequivalenceT1 � T2T1 � T2T1 � T2

148 / 336

Page 91: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite trace equivalenceTracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

finite trace inclusionTracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)

simulationpreorderT1 T2T1 T2T1 T2

simulationequivalenceT1 � T2T1 � T2T1 � T2

149 / 336

Page 92: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite trace equivalenceTracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

finite trace inclusionTracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)

simulationpreorderT1 T2T1 T2T1 T2

simulationequivalenceT1 � T2T1 � T2T1 � T2

trace equivalenceTraces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

trace inclusionTraces(T1) ⊆ Traces(T2)Traces(T1) ⊆ Traces(T2)Traces(T1) ⊆ Traces(T2)

150 / 336

Page 93: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite trace equivalenceTracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

finite trace inclusionTracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)

simulationpreorderT1 T2T1 T2T1 T2

simulationequivalenceT1 � T2T1 � T2T1 � T2

trace equivalenceTraces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

trace inclusionTraces(T1) ⊆ Traces(T2)Traces(T1) ⊆ Traces(T2)Traces(T1) ⊆ Traces(T2)

withoutterminal states

151 / 336

Page 94: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

bisimulation equivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite trace equivalenceTracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

finite trace inclusionTracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)Tracesfin(T1) ⊆ Tracesfin(T2)

simulationpreorderT1 T2T1 T2T1 T2

simulationequivalenceT1 � T2T1 � T2T1 � T2

trace equivalenceTraces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

trace inclusionTraces(T1) ⊆ Traces(T2)Traces(T1) ⊆ Traces(T2)Traces(T1) ⊆ Traces(T2)

withoutterminal states

APAPAP-determinism

152 / 336

Page 95: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

AP-determinism grm5.5-AP-det.tex

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS.

TTT is called APAPAP-deterministic iff

(1) for all states sss and all subsets AAA of APAPAP :∣∣{ t ∈ S : s → t ∧ L(t) = A}∣∣ � 1

∣∣{ t ∈ S : s → t ∧ L(t) = A}∣∣ � 1

∣∣{ t ∈ S : s → t ∧ L(t) = A}∣∣ � 1

(2) for all subsets AAA of APAPAP :∣∣{ s0 ∈ S0 : L(s0) = A}∣∣ � 1

∣∣{ s0 ∈ S0 : L(s0) = A}∣∣ � 1

∣∣{ s0 ∈ S0 : L(s0) = A}∣∣ � 1

156 / 336

Page 96: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Trace relations in AP-deterministic TS grm5.5-AP-det1.tex

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT .

If Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2) then

Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)

mainly because:

• each (finite or infinite) word σ1σ1σ1 over 2AP2AP2AP is inducedby at most one path fragment starting in s1s1s1 or s2s2s2,respectively

• if σ = A0A1 . . .AiAi+1 . . . ∈ Traces(s1)σ = A0A1 . . .AiAi+1 . . . ∈ Traces(s1)σ = A0A1 . . .AiAi+1 . . . ∈ Traces(s1) then there isno proper prefix A0A1 . . .AiA0A1 . . .AiA0A1 . . .Ai of σσσ belongs to Traces(s1)Traces(s1)Traces(s1)

+++ analogous statement for s2s2s2

160 / 336

Page 97: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? grm5.5-AP-det2

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT .

If Tracesfin(s1) ⊆ Tracesfin(s2)Tracesfin(s1) ⊆ Tracesfin(s2)Tracesfin(s1) ⊆ Tracesfin(s2) then

Traces(s1) ⊆ Traces(s2)Traces(s1) ⊆ Traces(s2)Traces(s1) ⊆ Traces(s2)

161 / 336

Page 98: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Correct or wrong? grm5.5-AP-det2

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT .

If Tracesfin(s1) ⊆ Tracesfin(s2)Tracesfin(s1) ⊆ Tracesfin(s2)Tracesfin(s1) ⊆ Tracesfin(s2) then

Traces(s1) ⊆ Traces(s2)Traces(s1) ⊆ Traces(s2)Traces(s1) ⊆ Traces(s2)

wrong.

s1s1s1 s2s2s2

Tracesfin(s1) ⊆ Tracesfin(s2)Tracesfin(s1) ⊆ Tracesfin(s2)Tracesfin(s1) ⊆ Tracesfin(s2)

•• ∈ Traces(s1) \ Traces(s2)∈ Traces(s1) \ Traces(s2)∈ Traces(s1) \ Traces(s2)

165 / 336

Page 99: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

(Bi)simulation and trace equivalence grm5.5-AP-det3

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT .Then the following statements are equivalent:

(1) s1 ∼T s2s1 ∼T s2s1 ∼T s2 (bisimulation equivalence)

(2) s1 �T s2s1 �T s2s1 �T s2 (simulation equivalence)

(3) Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2)

(4) Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)

(1) =⇒=⇒=⇒ (2):√√√

(2) =⇒=⇒=⇒ (3): ... path fragment lifting ...

(3) =⇒=⇒=⇒ (4): just shown

(4) =⇒=⇒=⇒ (1): ...

174 / 336

Page 100: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation and trace equivalence grm5.5-AP-det4

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT . Then:

Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)Traces(s1) = Traces(s2) implies s1 ∼T s2s1 ∼T s2s1 ∼T s2

175 / 336

Page 101: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation and trace equivalence grm5.5-AP-det4

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT . Then:

Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)Traces(s1) = Traces(s2) implies s1 ∼T s2s1 ∼T s2s1 ∼T s2

Proof: show that

R ={(s1, s2) : Traces(s1) = Traces(s2)

}R =

{(s1, s2) : Traces(s1) = Traces(s2)

}R =

{(s1, s2) : Traces(s1) = Traces(s2)

}

is a bisimulation.

176 / 336

Page 102: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation and trace equivalence grm5.5-AP-det4

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT . Then:

Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)Traces(s1) = Traces(s2) implies s1 ∼T s2s1 ∼T s2s1 ∼T s2

Proof: show that

R ={(s1, s2) : Traces(s1) = Traces(s2)

}R =

{(s1, s2) : Traces(s1) = Traces(s2)

}R =

{(s1, s2) : Traces(s1) = Traces(s2)

}

is a bisimulation.

Note that if s → ts → ts → t then

177 / 336

Page 103: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation and trace equivalence grm5.5-AP-det4

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT . Then:

Traces(s1) = Traces(s2)Traces(s1) = Traces(s2)Traces(s1) = Traces(s2) implies s1 ∼T s2s1 ∼T s2s1 ∼T s2

Proof: show that

R ={(s1, s2) : Traces(s1) = Traces(s2)

}R =

{(s1, s2) : Traces(s1) = Traces(s2)

}R =

{(s1, s2) : Traces(s1) = Traces(s2)

}

is a bisimulation.

Note that if s → ts → ts → t then

Traces(t) ={L(t)B1B2B3 . . . ∈ (2AP)+ ∪ (2AP)ω :

L(s)L(t)B1B2B3 . . . ∈ Traces(s)}Traces(t) =

{L(t)B1B2B3 . . . ∈ (2AP)+ ∪ (2AP)ω :

L(s)L(t)B1B2B3 . . . ∈ Traces(s)}Traces(t) =

{L(t)B1B2B3 . . . ∈ (2AP)+ ∪ (2AP)ω :

L(s)L(t)B1B2B3 . . . ∈ Traces(s)}

178 / 336

Page 104: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation & finite trace equivalence grm5.5-AP-det5

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT . Then:

Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2) implies s1 ∼T s2s1 ∼T s2s1 ∼T s2

179 / 336

Page 105: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Bisimulation & finite trace equivalence grm5.5-AP-det5

Let TTT be APAPAP-deterministic and s1s1s1, s2s2s2 states in TTT . Then:

Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2)Tracesfin(s1) = Tracesfin(s2) implies s1 ∼T s2s1 ∼T s2s1 ∼T s2

Proof: show that

R ={(s1, s2) : Tracesfin(s1) = Tracesfin(s2)

}R =

{(s1, s2) : Tracesfin(s1) = Tracesfin(s2)

}R =

{(s1, s2) : Tracesfin(s1) = Tracesfin(s2)

}

is a bisimulation.

Note that if s → ts → ts → t then

Tracesfin(t) ={L(t)B1B2 . . .Bn ∈ (2AP)+ :

L(s)L(t)B1B2 . . .Bn ∈ Tracesfin(s)}Tracesfin(t) =

{L(t)B1B2 . . .Bn ∈ (2AP)+ :

L(s)L(t)B1B2 . . .Bn ∈ Tracesfin(s)}Tracesfin(t) =

{L(t)B1B2 . . .Bn ∈ (2AP)+ :

L(s)L(t)B1B2 . . .Bn ∈ Tracesfin(s)}

180 / 336

Page 106: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Trace and (bi)simulation equivalence grm5.5-AP-bis-trace

bisimulationequivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite traceequivalence

Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

trace equivalenceTraces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

simulationequivalenceT1 � T2T1 � T2T1 � T2

181 / 336

Page 107: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

For AP-deterministic TS grm5.5-AP-bis-trace

bisimulationequivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite traceequivalence

Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

trace equivalenceTraces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

simulationequivalenceT1 � T2T1 � T2T1 � T2

182 / 336

Page 108: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

For AP-deterministic TS grm5.5-AP-bis-trace

bisimulationequivalenceT1 ∼ T2T1 ∼ T2T1 ∼ T2

finite traceequivalence

Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)Tracesfin(T1) = Tracesfin(T2)

trace equivalenceTraces(T1) = Traces(T2)Traces(T1) = Traces(T2)Traces(T1) = Traces(T2)

simulationequivalenceT1 � T2T1 � T2T1 � T2

APAPAP-determinism

APAPAP-determinism

183 / 336

Page 109: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterizations grm5.5-19

finite traceinclusion

traceinclusion

traceequivalence

bisimulationequivalence ∼∼∼

LT safetyprop.

LTLLTLLTL

LTLLTLLTLCTL*CTL*CTL*CTLCTLCTL

3 / 122

Page 110: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterizations grm5.5-19

finite traceinclusion

traceinclusion

traceequivalence

bisimulationequivalence ∼∼∼

LT safetyprop.

LTLLTLLTL

LTLLTLLTLCTL*CTL*CTL*CTLCTLCTL

stutter bis. equiv.with div. ≈div≈div≈div

stutter trace

equivalence∆=∆=∆=

LTL\©LTL\©LTL\©CTL*\©CTL*\©CTL*\©CTL\©CTL\©CTL\©

5 / 122

Page 111: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterizations grm5.5-19

finite traceinclusion

traceinclusion

traceequivalence

bisimulationequivalence ∼∼∼

LT safetyprop.

LTLLTLLTL

LTLLTLLTLCTL*CTL*CTL*CTLCTLCTL

stutter bis. equiv.with div. ≈div≈div≈div

stutter trace

equivalence∆=∆=∆=

LTL\©LTL\©LTL\©CTL*\©CTL*\©CTL*\©CTL\©CTL\©CTL\©

simulationpreorder ���

for TS withoutterminal states

8 / 122

Page 112: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterizations grm5.5-19

finite traceinclusion

traceinclusion

traceequivalence

bisimulationequivalence ∼∼∼

LT safetyprop.

LTLLTLLTL

LTLLTLLTLCTL*CTL*CTL*CTLCTLCTL

stutter bis. equiv.with div. ≈div≈div≈div

stutter trace

equivalence∆=∆=∆=

LTL\©LTL\©LTL\©CTL*\©CTL*\©CTL*\©CTL\©CTL\©CTL\©

simulationpreorder ���

for TS withoutterminal states

∀CTL*∀CTL*∀CTL*

9 / 122

Page 113: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterization grm5.5-15

for bisimulation equivalence ∼TTT :

s1 ∼T s2s1 ∼T s2s1 ∼T s2 iff s1s1s1, s2s2s2 satisfy the same CTL* formulas

iff s1s1s1, s2s2s2 satisfy the same CTL formulas

10 / 122

Page 114: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterization grm5.5-15

for bisimulation equivalence ∼TTT :

s1 ∼T s2s1 ∼T s2s1 ∼T s2 iff s1s1s1, s2s2s2 satisfy the same CTL* formulas

iff s1s1s1, s2s2s2 satisfy the same CTL formulas

for the simulation preorder �TTT :

by a sublogic LLL of CTL* that subsumes LTL

s1 �T s2s1 �T s2s1 �T s2 iff for all formulas Φ ∈ LΦ ∈ LΦ ∈ L:s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ�

��

observation: LLL cannot be closed under negation14 / 122

Page 115: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

The universal fragment ∀∀∀CTL* of CTL* grm5.5-16

CTL*CTL*CTL* formulas in positive normal form, without ∃∃∃

15 / 122

Page 116: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Syntax of ∀∀∀CTL* grm5.5-16

∀CTL*∀CTL*∀CTL* state formulas:

ΦΦΦ ::=::=::= true | false | a | ¬a |true | false | a | ¬a |true | false | a | ¬a |Φ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕΦ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕΦ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕ

∀CTL*∀CTL*∀CTL* path formulas:

ϕϕϕ ::=::=::= Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |ϕ1 Uϕ2 | ϕ1 W ϕ2ϕ1 Uϕ2 | ϕ1 W ϕ2ϕ1 U ϕ2 | ϕ1 W ϕ2

16 / 122

Page 117: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Syntax of ∀∀∀CTL* grm5.5-16

∀CTL*∀CTL*∀CTL* state formulas:

ΦΦΦ ::=::=::= true | false | a | ¬a |true | false | a | ¬a |true | false | a | ¬a |Φ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕΦ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕΦ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕ

∀CTL*∀CTL*∀CTL* path formulas:

ϕϕϕ ::=::=::= Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |ϕ1 Uϕ2 | ϕ1 W ϕ2ϕ1 Uϕ2 | ϕ1 W ϕ2ϕ1 U ϕ2 | ϕ1 W ϕ2

eventually: ♦ϕ♦ϕ♦ϕdef=def=def= true Uϕtrue Uϕtrue U ϕ

always: �ϕ�ϕ�ϕdef=def=def= ϕW falseϕ W falseϕ W false

18 / 122

Page 118: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Embedding of LTL in ∀∀∀CTL* grm5.5-16

∀CTL*∀CTL*∀CTL* state formulas:

ΦΦΦ ::=::=::= true | false | a | ¬a |true | false | a | ¬a |true | false | a | ¬a |Φ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕΦ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕΦ1 ∧ Φ2 | Φ1 ∨ Φ2 | ∀ϕ

∀CTL*∀CTL*∀CTL* path formulas:

ϕϕϕ ::=::=::= Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |Φ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ©ϕ |ϕ1 Uϕ2 | ϕ1 W ϕ2ϕ1 Uϕ2 | ϕ1 W ϕ2ϕ1 U ϕ2 | ϕ1 W ϕ2

for all LTLLTLLTL formulas ϕϕϕ in PNFPNFPNF:

s |=LTL ϕs |=LTL ϕs |=LTL ϕ iff s |=∀CTL* ∀ϕs |=∀CTL* ∀ϕs |=∀CTL* ∀ϕ

but ∀♦∀�a∀♦∀�a∀♦∀�a cannot be expressed in LTLLTLLTL21 / 122

Page 119: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

The universal fragments of CTL* and CTL grm5.5-17

syntax of ∀CTL*∀CTL*∀CTL*:

ΦΦΦ ::=::=::= true∣∣ false

∣∣ a∣∣¬a

∣∣Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣ ∀ϕtrue∣∣ false

∣∣ a∣∣¬a

∣∣ Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣ ∀ϕtrue∣∣ false

∣∣ a∣∣¬a

∣∣ Φ1 ∧ Φ2

∣∣Φ1 ∨ Φ2

∣∣∀ϕϕϕϕ ::=::=::= Φ

∣∣ ϕ1 ∧ ϕ2

∣∣ ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ϕ1 Uϕ2

∣∣ϕ1 Wϕ2Φ∣∣ ϕ1 ∧ ϕ2

∣∣ ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ ϕ1 U ϕ2

∣∣ ϕ1 W ϕ2Φ∣∣ϕ1 ∧ ϕ2

∣∣ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ ϕ1 U ϕ2

∣∣ ϕ1 W ϕ2

∀CTL∀CTL∀CTL: sublogic of ∀CTL*∀CTL*∀CTL*

• no Boolean operators for paths formulas

• the arguments of the temporal modalities©©©, UUU and WWW are state formulas

22 / 122

Page 120: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

The universal fragments of CTL* and CTL grm5.5-17

syntax of ∀CTL*∀CTL*∀CTL*:

ΦΦΦ ::=::=::= true∣∣ false

∣∣ a∣∣¬a

∣∣Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣ ∀ϕtrue∣∣ false

∣∣ a∣∣¬a

∣∣ Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣ ∀ϕtrue∣∣ false

∣∣ a∣∣¬a

∣∣ Φ1 ∧ Φ2

∣∣Φ1 ∨ Φ2

∣∣∀ϕϕϕϕ ::=::=::= Φ

∣∣ ϕ1 ∧ ϕ2

∣∣ ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ϕ1 Uϕ2

∣∣ϕ1 Wϕ2Φ∣∣ ϕ1 ∧ ϕ2

∣∣ ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ ϕ1 U ϕ2

∣∣ ϕ1 W ϕ2Φ∣∣ϕ1 ∧ ϕ2

∣∣ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ ϕ1 U ϕ2

∣∣ ϕ1 W ϕ2

∀CTL∀CTL∀CTL: sublogic of ∀CTL*∀CTL*∀CTL*

syntax of ∀CTL∀CTL∀CTL:

ΦΦΦ ::=::=::= true∣∣ false

∣∣ a∣∣ ¬a

∣∣ Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣true∣∣ false

∣∣ a∣∣ ¬a

∣∣ Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣true∣∣ false

∣∣ a∣∣ ¬a

∣∣ Φ1 ∧ Φ2

∣∣ Φ1 ∨ Φ2

∣∣∀©Φ

∣∣ ∀(Φ1 U Φ2)∣∣ ∀(Φ1 W Φ2)∀©Φ

∣∣ ∀(Φ1 UΦ2)∣∣ ∀(Φ1 W Φ2)∀©Φ

∣∣ ∀(Φ1 U Φ2)∣∣ ∀(Φ1 W Φ2)

23 / 122

Page 121: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterization of simulation grm5.5-19a

Let TTT be a finite TS without terminal states. Then,for all states s1s1s1 and s2s2s2 in TTT , the following statementsare equivalent:

(1) s1 �T s2s1 �T s2s1 �T s2

(2) for all ∀CTL∀CTL∀CTL state formulas ΦΦΦ:

if s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* state formulas ΦΦΦ:

if s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

28 / 122

Page 122: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL and simulation grm5.5-18

T1T1T1: {a}{a}{a}

{a}{a}{a}∅∅∅

T2T2T2: {a}{a}{a}

{a}{a}{a}∅∅∅

AP = {a}AP = {a}AP = {a}

29 / 122

Page 123: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL and simulation grm5.5-18

T1T1T1: {a}{a}{a}

{a}{a}{a}∅∅∅

������

���

T2T2T2: {a}{a}{a}

{a}{a}{a}∅∅∅

AP = {a}AP = {a}AP = {a}

30 / 122

Page 124: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL and simulation grm5.5-18

T1T1T1: {a}{a}{a}

{a}{a}{a}∅∅∅

������

���

T2T2T2: {a}{a}{a}

{a}{a}{a}∅∅∅

AP = {a}AP = {a}AP = {a}

e.g., T1 �|= ∀©(∀©¬a ∨ ∀©a)T1 �|= ∀©(∀©¬a ∨ ∀©a)T1 �|= ∀©(∀©¬a ∨ ∀©a)

T2 |= ∀©(∀©¬a ∨ ∀©a)T2 |= ∀©(∀©¬a ∨ ∀©a)T2 |= ∀©(∀©¬a ∨ ∀©a)

T1 �|= ∀♦(∀�¬a ∨ ∀�a)T1 �|= ∀♦(∀�¬a ∨ ∀�a)T1 �|= ∀♦(∀�¬a ∨ ∀�a)

T2 |= ∀♦(∀�¬a ∨ ∀�a)T2 |= ∀♦(∀�¬a ∨ ∀�a)T2 |= ∀♦(∀�¬a ∨ ∀�a)

32 / 122

Page 125: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL/∀∀∀CTL* and the simulation preorder grm5.5-19b

For finite TS without terminal states, the followingstatements are equivalent:

(1) s1 �T s2s1 �T s2s1 �T s2

(2) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

33 / 122

Page 126: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL/∀∀∀CTL* and the simulation preorder grm5.5-19b

For finite TS without terminal states, the followingstatements are equivalent:

(1) s1 �T s2s1 �T s2s1 �T s2

(2) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) =⇒=⇒=⇒ (2): obvious as ∀CTL∀CTL∀CTL is a sublogic of ∀CTL*∀CTL*∀CTL*

34 / 122

Page 127: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL/∀∀∀CTL* and the simulation preorder grm5.5-19b

For finite TS without terminal states, the followingstatements are equivalent:

(1) s1 �T s2s1 �T s2s1 �T s2

(2) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) =⇒=⇒=⇒ (2): obvious as ∀CTL∀CTL∀CTL is a sublogic of ∀CTL*∀CTL*∀CTL*

(1) =⇒=⇒=⇒ (3): holds for arbitrary (possibly infinite) TSwithout terminal states���

proof by structural induction36 / 122

Page 128: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL/∀∀∀CTL* and the simulation preorder grm5.5-19b

For finite TS without terminal states, the followingstatements are equivalent:

(1) s1 �T s2s1 �T s2s1 �T s2

(2) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(1) =⇒=⇒=⇒ (3): show by structural induction:

(i) for all ∀CTL*∀CTL*∀CTL* state formulas ΦΦΦ and states s1s1s1, s2s2s2:if s1 �T s2s1 �T s2s1 �T s2 and s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

(ii) for all ∀CTL*∀CTL*∀CTL* path formulas ϕϕϕ and paths π1π1π1, π2π2π2:if π1 �T π2π1 �T π2π1 �T π2 and π2 |= ϕπ2 |= ϕπ2 |= ϕ then π1 |= ϕπ1 |= ϕπ1 |= ϕ

39 / 122

Page 129: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

∀∀∀CTL/∀∀∀CTL* and the simulation preorder grm5.5-19b

For finite TS without terminal states, the followingstatements are equivalent:

(1) s1 �T s2s1 �T s2s1 �T s2

(2) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ: s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

(2) =⇒=⇒=⇒ (1): show that for finite TS:

RRR ==={

(s1, s2) :{

(s1, s2) :{

(s1, s2) : for all ∀CTL∀CTL∀CTL formulas ΦΦΦ:s2 |= Φs2 |= Φs2 |= Φ implies s1 |= Φs1 |= Φs1 |= Φ

}}}is a simulation.

42 / 122

Page 130: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Duality of ∀CTL* and ∃CTL* grm5.5-20

∃CTL*∃CTL*∃CTL* (state) formulas:

ΨΨΨ ::=::=::= true∣∣ false

∣∣ a∣∣¬a

∣∣ Ψ1 ∧Ψ2

∣∣ Ψ1 ∨Ψ2

∣∣ ∃ϕtrue∣∣ false

∣∣ a∣∣¬a

∣∣Ψ1 ∧Ψ2

∣∣Ψ1 ∨Ψ2

∣∣∃ϕtrue∣∣ false

∣∣ a∣∣¬a

∣∣ Ψ1 ∧Ψ2

∣∣ Ψ1 ∨Ψ2

∣∣ ∃ϕ∃CTL*∃CTL*∃CTL* path formulas:

ϕϕϕ ::=::=::= Ψ∣∣ ϕ1 ∧ ϕ2

∣∣ ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ ϕ1 U ϕ2

∣∣ ϕ1 W ϕ2Ψ∣∣ϕ1 ∧ ϕ2

∣∣ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ ϕ1 U ϕ2

∣∣ ϕ1 W ϕ2Ψ∣∣ ϕ1 ∧ ϕ2

∣∣ ϕ1 ∨ ϕ2

∣∣©ϕ∣∣ϕ1 Uϕ2

∣∣ϕ1 W ϕ2

analogous: ∃CTL∃CTL∃CTL

For each ∀CTL*∀CTL*∀CTL* formula ΦΦΦ there is a ∃CTL*∃CTL*∃CTL* formula ΨΨΨs.t. Φ ≡ ¬ΨΦ ≡ ¬ΨΦ ≡ ¬Ψ (and vice versa)

For each ∀CTL∀CTL∀CTL formula ΦΦΦ there is a ∃CTL∃CTL∃CTL formula ΨΨΨs.t. Φ ≡ ¬ΨΦ ≡ ¬ΨΦ ≡ ¬Ψ (and vice versa)

49 / 122

Page 131: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterization of simulation grm5.5-20a

If s1s1s1 and s2s2s2 are states in a finite TS then the followingstatements are equivalent:

(1) s1 �TTT s2s1 �TTT s2s1 �TTT s2

(2) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ:if s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

(3) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ:if s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

51 / 122

Page 132: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Logical characterization of simulation grm5.5-20a

If s1s1s1 and s2s2s2 are states in a finite TS then the followingstatements are equivalent:

(1) s1 �TTT s2s1 �TTT s2s1 �TTT s2

(2∀∀∀) for all ∀CTL∀CTL∀CTL formulas ΦΦΦ:if s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

(3∀∀∀) for all ∀CTL*∀CTL*∀CTL* formulas ΦΦΦ:if s2 |= Φs2 |= Φs2 |= Φ then s1 |= Φs1 |= Φs1 |= Φ

(2∃∃∃) for all ∃CTL∃CTL∃CTL formulas ΨΨΨ:if s1 |= Ψs1 |= Ψs1 |= Ψ then s2 |= Ψs2 |= Ψs2 |= Ψ

(3∃∃∃) for all ∃CTL∃CTL∃CTL formulas ΨΨΨ:if s1 |= Ψs1 |= Ψs1 |= Ψ then s2 |= Ψs2 |= Ψs2 |= Ψ

52 / 122

Page 133: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: ∀∀∀CTL/∃∃∃CTL and simulation grm5.5-21

T1T1T1: {a}{a}{a}

{a}{a}{a}∅∅∅

������T2T2T2: {a}{a}{a}

{a}{a}{a}∅∅∅

54 / 122

Page 134: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: ∀∀∀CTL/∃∃∃CTL and simulation grm5.5-21

T1T1T1: {a}{a}{a}

{a}{a}{a}∅∅∅

������T2T2T2: {a}{a}{a}

{a}{a}{a}∅∅∅

T1 �|= ∀©(∀©¬a ∨ ∀©a)T1 �|= ∀©(∀©¬a ∨ ∀©a)T1 �|= ∀©(∀©¬a ∨ ∀©a)

T2 |= ∀©(∀©¬a ∨ ∀©a)T2 |= ∀©(∀©¬a ∨ ∀©a)T2 |= ∀©(∀©¬a ∨ ∀©a)∀CTL∀CTL∀CTL formula

T1 |= ∃©(∃©¬a ∧ ∃©a)T1 |= ∃©(∃©¬a ∧ ∃©a)T1 |= ∃©(∃©¬a ∧ ∃©a)

T2 �|= ∃©(∃©¬a ∧ ∃©a)T2 �|= ∃©(∃©¬a ∧ ∃©a)T2 �|= ∃©(∃©¬a ∧ ∃©a)∃CTL∃CTL∃CTL formula

56 / 122

Page 135: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Characterizations of simulation equivalence grm5.5-22

for finite TS without terminal states:

T1 � T2T1 � T2T1 � T2 iff T1 � T2T1 � T2T1 � T2 and T2 � T1T2 � T1T2 � T1

iff T1T1T1, T2T2T2 satisfy the same ∀CTL*∀CTL*∀CTL* formulas

iff T1T1T1, T2T2T2 satisfy the same ∀CTL∀CTL∀CTL formulas

iff T1T1T1, T2T2T2 satisfy the same ∃CTL*∃CTL*∃CTL* formulas

iff T1T1T1, T2T2T2 satisfy the same ∃CTL∃CTL∃CTL formulas���

... even holds for ∀CTL*\U,W∀CTL*\U,W∀CTL*\U,W, ∀CTL\U,W∀CTL\U,W∀CTL\U,W,∃CTL*\U,W∃CTL*\U,W∃CTL*\U,W, ∃CTL\U,W∃CTL\U,W∃CTL\U,W

64 / 122

Page 136: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation equivalence grm5.5-23

T1T1T1 T2T2T2

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

65 / 122

Page 137: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation equivalence grm5.5-23

T1T1T1

���T2T2T2

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

T1T1T1, T2T2T2 cannot be distinguished by the temporal logics∀CTL∀CTL∀CTL, ∀CTL*∀CTL*∀CTL*, ∃CTL∃CTL∃CTL, or ∃CTL*∃CTL*∃CTL*,

67 / 122

Page 138: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation equivalence grm5.5-23

T1T1T1

����∼�∼�∼

T2T2T2

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

T1T1T1, T2T2T2 cannot be distinguished by the temporal logics∀CTL∀CTL∀CTL, ∀CTL*∀CTL*∀CTL*, ∃CTL∃CTL∃CTL, or ∃CTL*∃CTL*∃CTL*,

but by CTLCTLCTL:

T1 �|= ∀©(∃©a ∧ ∃©b)T1 �|= ∀©(∃©a ∧ ∃©b)T1 �|= ∀©(∃©a ∧ ∃©b)

T2 |= ∀©(∃©a ∧ ∃©b)T2 |= ∀©(∃©a ∧ ∃©b)T2 |= ∀©(∃©a ∧ ∃©b)69 / 122

Page 139: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-25

T1T1T1 T2T2T2 =̂ ∅=̂ ∅=̂ ∅

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

77/122

Page 140: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-25

T1T1T1 T2T2T2 =̂ ∅=̂ ∅=̂ ∅

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

yes, as T1 �� T2T1 �� T2T1 �� T2, e.g., Φ = ∃©(∃©a ∧ ∃©b)Φ = ∃©(∃©a ∧ ∃©b)Φ = ∃©(∃©a ∧ ∃©b)

80 / 122

Page 141: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-25

T1T1T1 T2T2T2 =̂ ∅=̂ ∅=̂ ∅

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

yes, as T1 �� T2T1 �� T2T1 �� T2, e.g., Φ = ∃©(∃©a ∧ ∃©b)Φ = ∃©(∃©a ∧ ∃©b)Φ = ∃©(∃©a ∧ ∃©b)

Does there exist a ∀CTL∀CTL∀CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

81/122

Page 142: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-25

T1T1T1 T2T2T2 =̂ ∅=̂ ∅=̂ ∅

=̂ {a}=̂ {a}=̂ {a}=̂ {b}=̂ {b}=̂ {b}

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

yes, as T1 �� T2T1 �� T2T1 �� T2, e.g., Φ = ∃©(∃©a ∧ ∃©b)Φ = ∃©(∃©a ∧ ∃©b)Φ = ∃©(∃©a ∧ ∃©b)

Does there exist a ∀CTL∀CTL∀CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

no, as T2 � T1T2 � T1T2 � T183 / 122

Page 143: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-26

T1T1T1 T2T2T2

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

84/122

Page 144: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-26

T1T1T1 T2T2T2

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

no, since T1 � T2T1 � T2T1 � T2

86 / 122

Page 145: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-26

T1T1T1 s1s1s1

v1v1v1t1t1t1

T2T2T2 s2s2s2

v2v2v2t2t2t2�

����

����

����

����

����

���

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

no, since T1 � T2T1 � T2T1 � T2

simulation for (T1, T2)(T1, T2)(T1, T2):{(s1, s2), (v1, s2), (t1, t2)

}{(s1, s2), (v1, s2), (t1, t2)

}{(s1, s2), (v1, s2), (t1, t2)

}

87 / 122

Page 146: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-26

T1T1T1 s1s1s1

v1v1v1t1t1t1

T2T2T2 s2s2s2

v2v2v2t2t2t2

Does there exist a ∃CTL∃CTL∃CTL formula ΦΦΦ s.t.T1 |= ΦT1 |= ΦT1 |= Φ and T2 �|= ΦT2 �|= ΦT2 �|= Φ ?

no, since T1 � T2T1 � T2T1 � T2

simulation for (T1, T2)(T1, T2)(T1, T2):{(s1, s2), (v1, s2), (t1, t2)

}{(s1, s2), (v1, s2), (t1, t2)

}{(s1, s2), (v1, s2), (t1, t2)

}

simulation for (T2, T1)(T2, T1)(T2, T1):{(s2, s1), (s2, v1), (v2, v1), (t1, t2)

}{(s2, s1), (s2, v1), (v2, v1), (t1, t2)

}{(s2, s1), (s2, v1), (v2, v1), (t1, t2)

}88 / 122

Page 147: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-27

T1T1T1 T2T2T2

Does there exist a CTLCTLCTL formula ΦΦΦ s.t.T1 �|= ΦT1 �|= ΦT1 �|= Φ and T2 |= ΦT2 |= ΦT2 |= Φ ?

89/122

Page 148: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-27

T1T1T1 T2T2T2

Does there exist a CTLCTLCTL formula ΦΦΦ s.t.T1 �|= ΦT1 �|= ΦT1 �|= Φ and T2 |= ΦT2 |= ΦT2 |= Φ ?

yes, as T1 �∼ T2T1 �∼ T2T1 �∼ T2, e.g., Φ = ∃©∀�blueΦ = ∃©∀�blueΦ = ∃©∀�blue

92 / 122

Page 149: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-27

T1T1T1 T2T2T2

Does there exist a CTLCTLCTL formula ΦΦΦ s.t.T1 �|= ΦT1 �|= ΦT1 �|= Φ and T2 |= ΦT2 |= ΦT2 |= Φ ?

yes, as T1 �∼ T2T1 �∼ T2T1 �∼ T2, e.g., Φ = ∃©∀�blueΦ = ∃©∀�blueΦ = ∃©∀�blue

Does there exist a LTLLTLLTL formula ϕϕϕ s.t.T1 �|= ϕT1 �|= ϕT1 �|= ϕ and T2 |= ϕT2 |= ϕT2 |= ϕ ?

93/122

Page 150: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Does there exist ...? grm5.5-27

T1T1T1 T2T2T2

Does there exist a CTLCTLCTL formula ΦΦΦ s.t.T1 �|= ΦT1 �|= ΦT1 �|= Φ and T2 |= ΦT2 |= ΦT2 |= Φ ?

yes, as T1 �∼ T2T1 �∼ T2T1 �∼ T2, e.g., Φ = ∃©∀�blueΦ = ∃©∀�blueΦ = ∃©∀�blue

Does there exist a LTLLTLLTL formula ϕϕϕ s.t.T1 �|= ϕT1 �|= ϕT1 �|= ϕ and T2 |= ϕT2 |= ϕT2 |= ϕ ?

no, as T1T1T1, T2T2T2 are simulation equivalent95 / 122

Page 151: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation quotient grm5.5-28

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS.

simulation quotient T /�T /�T /�:

transition system that arises from TTT by collapsingall simulation equivalent states

97 / 122

Page 152: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation quotient grm5.5-28

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)

98 / 122

Page 153: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation quotient grm5.5-28

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)

• state space S/�S/�S/� ←−←−←− set of all simulationequivalence classes

99 / 122

Page 154: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation quotient grm5.5-28

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)

• state space S/�S/�S/� ←−←−←− set of all simulationequivalence classes

• initial states: S ′0 ={[s] : s ∈ S0

}S ′0 =

{[s] : s ∈ S0

}S ′0 =

{[s] : s ∈ S0

}

• labeling: AP ′ = APAP ′ = APAP ′ = AP and L′([s]) = L(s)L′([s]) = L(s)L′([s]) = L(s)

[s] ={s ′ ∈ S : s �T s ′

}[s] =

{s ′ ∈ S : s �T s ′

}[s] =

{s ′ ∈ S : s �T s ′

}

101 / 122

Page 155: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Simulation quotient grm5.5-28

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)T /� def= (S/�, Act ′,→�, S ′0, AP ′, L′)

• state space S/�S/�S/� ←−←−←− set of all simulationequivalence classes

• initial states: S ′0 ={[s] : s ∈ S0

}S ′0 =

{[s] : s ∈ S0

}S ′0 =

{[s] : s ∈ S0

}

• labeling: AP ′ = APAP ′ = APAP ′ = AP and L′([s]) = L(s)L′([s]) = L(s)L′([s]) = L(s)

• transition relation:s −→ s ′

[s] −→� [s ′]

s −→ s ′

[s] −→� [s ′]s −→ s ′

[s] −→� [s ′]

action labels: irrelevant

103 / 122

Page 156: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Similarity of TTT and T /�T /�T /� grm5.5-28b

104 / 122

Page 157: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Similarity of TTT and T /�T /�T /� grm5.5-28b

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� = (S/�, Act ′,→�, S ′0, AP, L′)T /� = (S/�, Act ′,→�, S ′0, AP, L′)T /� = (S/�, Act ′,→�, S ′0, AP , L′)

where the transitions are given bys −→ s ′

[s] −→� [s ′]

s −→ s ′

[s] −→� [s ′]s −→ s ′

[s] −→� [s ′]

TTT and T /�T /�T /� are simulation equivalent, i.e.,T � T /�T � T /�T � T /� and T /� � TT /� � TT /� � T

Proof. provide simulations for (T , T /�)(T , T /�)(T , T /�) and (T /�, T )(T /�, T )(T /�, T )

simulation for (T , T /�)(T , T /�)(T , T /�):{(s, [s]) : s ∈ S

}{(s, [s]) : s ∈ S

}{(s, [s]) : s ∈ S

}

simulation for (T /�, T )(T /�, T )(T /�, T ): ?108/122

Page 158: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

t1t1t1 v1v1v1 t2t2t2 t3t3t3 v2v2v2

t1t1t1, t2t2t2, t3t3t3 are simulation equivalent

v1v1v1, v2v2v2 are simulation equivalent

110 / 122

Page 159: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

t1t1t1 v1v1v1 t2t2t2 t3t3t3 v2v2v2

t1t1t1, t2t2t2, t3t3t3 are simulation equivalent

v1v1v1, v2v2v2 are simulation equivalent

u1 � u2u1 � u2u1 � u2, w � u1, u2w � u1, u2w � u1, u2, but w �� u1, u2w �� u1, u2w �� u1, u2

112 / 122

Page 160: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

t1t1t1 v1v1v1 t2t2t2 t3t3t3 v2v2v2

t1t1t1, t2t2t2, t3t3t3 are simulation equivalent

v1v1v1, v2v2v2 are simulation equivalent

u1 � u2u1 � u2u1 � u2, w � u1, u2w � u1, u2w � u1, u2, but w �� u1, u2w �� u1, u2w �� u1, u2

s1 � s2s1 � s2s1 � s2113 / 122

Page 161: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

t1t1t1 v1v1v1 t2t2t2 t3t3t3 v2v2v2

T /�T /�T /�{s1, s2}{s1, s2}{s1, s2}

{u1, u2}{u1, u2}{u1, u2} {w}{w}{w}

{t1, t2, t3}{t1, t2, t3}{t1, t2, t3}{v1, v2}{v1, v2}{v1, v2}

t1t1t1, t2t2t2, t3t3t3 are simulation equivalent

v1v1v1, v2v2v2 are simulation equivalent

u1 � u2u1 � u2u1 � u2, w � u1, u2w � u1, u2w � u1, u2, but w �� u1, u2w �� u1, u2w �� u1, u2

s1 � s2s1 � s2s1 � s2114 / 122

Page 162: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

T /�T /�T /�{s1, s2}{s1, s2}{s1, s2}

{u1, u2}{u1, u2}{u1, u2} {w}{w}{w}

simulation for (T , T /�)(T , T /�)(T , T /�):{(s, [s]) :

{(s, [s]) :

{(s, [s]) : sss is a state in TTT

}}}

115 / 122

Page 163: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

T /�T /�T /�{s1, s2}{s1, s2}{s1, s2}

{u1, u2}{u1, u2}{u1, u2} {w}{w}{w}

simulation for (T , T /�)(T , T /�)(T , T /�):{(s, [s]) :

{(s, [s]) :

{(s, [s]) : sss is a state in TTT

}}}

but{([s], s) :

{([s], s) :

{([s], s) : sss is a state in TTT

}}}

is not a simulation for (T /�, T )(T /�, T )(T /�, T )

116 / 122

Page 164: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

T /�T /�T /�{s1, s2}{s1, s2}{s1, s2}

{u1, u2}{u1, u2}{u1, u2} {w}{w}{w}

show that R ={([s], s) :R =

{([s], s) :R =

{([s], s) : sss is a state in TTT

}}}is not a simulation for (T /�, T )(T /�, T )(T /�, T )

117 / 122

Page 165: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

T /�T /�T /�{s1, s2}{s1, s2}{s1, s2}

{u1, u2}{u1, u2}{u1, u2} {w}{w}{w}

show that R ={([s], s) :R =

{([s], s) :R =

{([s], s) : sss is a state in TTT

}}}is not a simulation for (T /�, T )(T /�, T )(T /�, T )

regard ({s1, s2}, s2) ∈ R({s1, s2}, s2) ∈ R({s1, s2}, s2) ∈ R and {s1, s2} →� {w}{s1, s2} →� {w}{s1, s2} →� {w}

119 / 122

Page 166: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Example: simulation quotient grm5.5-28a

TTTs1s1s1 s2s2s2

u1u1u1 www u2u2u2

T /�T /�T /�{s1, s2}{s1, s2}{s1, s2}

{u1, u2}{u1, u2}{u1, u2} {w}{w}{w}

show that R ={([s], s) :R =

{([s], s) :R =

{([s], s) : sss is a state in TTT

}}}is not a simulation for (T /�, T )(T /�, T )(T /�, T )

regard ({s1, s2}, s2) ∈ R({s1, s2}, s2) ∈ R({s1, s2}, s2) ∈ R and {s1, s2} →� {w}{s1, s2} →� {w}{s1, s2} →� {w}there is no transition s2 → w ′s2 → w ′s2 → w ′ in TTT s.t. ({w}, w ′) ∈ R({w}, w ′) ∈ R({w}, w ′) ∈ R

120 / 122

Page 167: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Similarity of TTT and T /�T /�T /� grm5.5-28c

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� = (S/�, Act ′,→�, S ′0, AP, L′)T /� = (S/�, Act ′,→�, S ′0, AP, L′)T /� = (S/�, Act ′,→�, S ′0, AP , L′)

where the transitions are given bys −→ s ′

[s] −→� [s ′]

s −→ s ′

[s] −→� [s ′]s −→ s ′

[s] −→� [s ′]

TTT and T /�T /�T /� are simulation equivalent, i.e.,T � T /�T � T /�T � T /� and T /� � TT /� � TT /� � T

Proof. provide simulations for (T , T /�)(T , T /�)(T , T /�) and (T /�, T )(T /�, T )(T /�, T )

simulation for (T , T /�)(T , T /�)(T , T /�):{(s, [s]) : s ∈ S

}{(s, [s]) : s ∈ S

}{(s, [s]) : s ∈ S

}

simulation for (T /�, T )(T /�, T )(T /�, T ): ?121/122

Page 168: moves.rwth-aachen.de€¦ · ∀CTL/∀CTL* and the simulation preorder grm5.5-19b For finite TS without terminal states, the following statements are equivalent: (1) s1 T s2 (2)

Similarity of TTT and T /�T /�T /� grm5.5-28c

Let T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP, L)T = (S , Act,→, S0, AP , L) be a TS. Then:

T /� = (S/�, Act ′,→�, S ′0, AP, L′)T /� = (S/�, Act ′,→�, S ′0, AP, L′)T /� = (S/�, Act ′,→�, S ′0, AP , L′)

where the transitions are given bys −→ s ′

[s] −→� [s ′]

s −→ s ′

[s] −→� [s ′]s −→ s ′

[s] −→� [s ′]

TTT and T /�T /�T /� are simulation equivalent, i.e.,T � T /�T � T /�T � T /� and T /� � TT /� � TT /� � T

Proof. provide simulations for (T , T /�)(T , T /�)(T , T /�) and (T /�, T )(T /�, T )(T /�, T )

simulation for (T , T /�)(T , T /�)(T , T /�):{(s, [s]) : s ∈ S

}{(s, [s]) : s ∈ S

}{(s, [s]) : s ∈ S

}

simulation for (T /�, T )(T /�, T )(T /�, T ):{([s], t) : s �T t

}{([s], t) : s �T t

}{([s], t) : s �T t

}122 / 122