Proof techniques for Nondeterministic and Probabilistic Processes - - PowerPoint PPT Presentation

proof techniques for nondeterministic and probabilistic
SMART_READER_LITE
LIVE PREVIEW

Proof techniques for Nondeterministic and Probabilistic Processes - - PowerPoint PPT Presentation

Induction Coinduction A-simulations Inequivalences Proof techniques for Nondeterministic and Probabilistic Processes Matthew Hennessy Trinity College Dublin (joint work with Yuxin Deng, Rob van Glabbeek, Carroll Morgan, Chenyi Zhang)


slide-1
SLIDE 1

sfi Induction Coinduction A-simulations Inequivalences

Proof techniques for Nondeterministic and Probabilistic Processes

Matthew Hennessy

Trinity College Dublin (joint work with Yuxin Deng, Rob van Glabbeek, Carroll Morgan, Chenyi Zhang)

BASICS, Shanghai October 09

1/38

slide-2
SLIDE 2

sfi Induction Coinduction A-simulations Inequivalences

Outline

Inductive methods Coinductive methods A-simulations Proving inequivalences

2/38

slide-3
SLIDE 3

sfi Induction Coinduction A-simulations Inequivalences

Outline

Inductive methods Coinductive methods A-simulations Proving inequivalences

3/38

slide-4
SLIDE 4

sfi Induction Coinduction A-simulations Inequivalences

Inductive methods

Induction:

Given A ⇐ D,

◮ D{Q/A} ⊑ Q implies A ⊑ Q

Inequations:

Some examples: a.(P p⊕ Q) ⊑pmay a.P p⊕ a.Q a.P b.Q ≃pmay a.P ⊓ b.Q

  • CSP

a.P (Q ⊓ R) ≃pmust (a.P Q) ⊓ (a.P R)

  • CSP

Compositional reasoning

◮ P ⊑ Q implies C[P] ⊑ C[Q] ◮ eg: P ⊑ Q implies P | R ⊑ Q | R

4/38

slide-5
SLIDE 5

sfi Induction Coinduction A-simulations Inequivalences

Inductive methods

Induction:

Given A ⇐ D,

◮ D{Q/A} ⊑ Q implies A ⊑ Q

Inequations:

Some examples: a.(P p⊕ Q) ⊑pmay a.P p⊕ a.Q a.P b.Q ≃pmay a.P ⊓ b.Q

  • CSP

a.P (Q ⊓ R) ≃pmust (a.P Q) ⊓ (a.P R)

  • CSP

Compositional reasoning

◮ P ⊑ Q implies C[P] ⊑ C[Q] ◮ eg: P ⊑ Q implies P | R ⊑ Q | R

4/38

slide-6
SLIDE 6

sfi Induction Coinduction A-simulations Inequivalences

Inductive methods

Induction:

Given A ⇐ D,

◮ D{Q/A} ⊑ Q implies A ⊑ Q

Inequations:

Some examples: a.(P p⊕ Q) ⊑pmay a.P p⊕ a.Q a.P b.Q ≃pmay a.P ⊓ b.Q

  • CSP

a.P (Q ⊓ R) ≃pmust (a.P Q) ⊓ (a.P R)

  • CSP

Compositional reasoning

◮ P ⊑ Q implies C[P] ⊑ C[Q] ◮ eg: P ⊑ Q implies P | R ⊑ Q | R

4/38

slide-7
SLIDE 7

sfi Induction Coinduction A-simulations Inequivalences

Outline

Inductive methods Coinductive methods A-simulations Proving inequivalences

5/38

slide-8
SLIDE 8

sfi Induction Coinduction A-simulations Inequivalences

Simulations in LTSs

Given R ⊆ (S × S) define Sim(R) ⊆ (S × S) by: P Sim(R) Q P Sim(R) Q implies P′ P′ R Q′ µ µ µ Let ⊳S ⊆ (S × S) be largest fixpoint of ⊳S = Sim(⊳S)

6/38

slide-9
SLIDE 9

sfi Induction Coinduction A-simulations Inequivalences

Simulations in LTSs

Given R ⊆ (S × S) define Sim(R) ⊆ (S × S) by: P Sim(R) Q P Sim(R) Q implies P′ P′ R Q′ µ µ µ Let ⊳S ⊆ (S × S) be largest fixpoint of ⊳S = Sim(⊳S)

6/38

slide-10
SLIDE 10

sfi Induction Coinduction A-simulations Inequivalences

LTS: Characterisation of simulation preorder ⊳S

Largest relation over S × S satisfying: P ⊳S Q P ⊳S Q implies P′ P′ ⊳S Q′ µ µ µ

Weak moves:

◮ P a

= ⇒ P′ means P

τ

− → P1

τ

− → . . . Pn

a

− → P′

1 τ

− → . . .

τ

− → P′

◮ P τ

= ⇒ P′ means P

τ

− → P1

τ

− → . . .

τ

− → . . .

τ

− → P′

7/38

slide-11
SLIDE 11

sfi Induction Coinduction A-simulations Inequivalences

Simulations in pLTSs

Recall: A pLTS is also an LTS

from s

µ

− → Θ to ∆

µ

− → Θ

Application:

Let ⊳S

dist

⊆ D(S) × D(S) be largest relation satisfying: ∆ ⊳S

dist

Θ ∆ ⊳S

dist

Θ implies ∆′ ∆′ ⊳S

dist

Θ′ µ µ µ

8/38

slide-12
SLIDE 12

sfi Induction Coinduction A-simulations Inequivalences

Simulations in pLTSs

Recall: A pLTS is also an LTS

from s

µ

− → Θ to ∆

µ

− → Θ

Application:

Let ⊳S

dist

⊆ D(S) × D(S) be largest relation satisfying: ∆ ⊳S

dist

Θ ∆ ⊳S

dist

Θ implies ∆′ ∆′ ⊳S

dist

Θ′ µ µ µ

8/38

slide-13
SLIDE 13

sfi Induction Coinduction A-simulations Inequivalences

First problem

a 1

2 ⊕ b

⊳S

dist

because distribution a 1

2 ⊕ b can perform no actions

But a 1

2 ⊕ b

⊑pmay because test a.ω

◮ on a 1

2 ⊕ b succeeds 50% of the time

◮ on 0 succeeds 0% of the time

Moral:

Simulations must be state based in some manner

9/38

slide-14
SLIDE 14

sfi Induction Coinduction A-simulations Inequivalences

First problem

a 1

2 ⊕ b

⊳S

dist

because distribution a 1

2 ⊕ b can perform no actions

But a 1

2 ⊕ b

⊑pmay because test a.ω

◮ on a 1

2 ⊕ b succeeds 50% of the time

◮ on 0 succeeds 0% of the time

Moral:

Simulations must be state based in some manner

9/38

slide-15
SLIDE 15

sfi Induction Coinduction A-simulations Inequivalences

First problem

a 1

2 ⊕ b

⊳S

dist

because distribution a 1

2 ⊕ b can perform no actions

But a 1

2 ⊕ b

⊑pmay because test a.ω

◮ on a 1

2 ⊕ b succeeds 50% of the time

◮ on 0 succeeds 0% of the time

Moral:

Simulations must be state based in some manner

9/38

slide-16
SLIDE 16

sfi Induction Coinduction A-simulations Inequivalences

First problem

a 1

2 ⊕ b

⊳S

dist

because distribution a 1

2 ⊕ b can perform no actions

But a 1

2 ⊕ b

⊑pmay because test a.ω

◮ on a 1

2 ⊕ b succeeds 50% of the time

◮ on 0 succeeds 0% of the time

Moral:

Simulations must be state based in some manner

9/38

slide-17
SLIDE 17

sfi Induction Coinduction A-simulations Inequivalences

Simulations in a pLTS

Largest relation ⊳S ⊆ S × S satisfying: s ⊳S t s ⊳S t implies ∆ ∆ lift(⊳S) Θ µ µ µ

Lifting relations:

lift(−) lifts R ⊆ S × S to lift(R) ⊆ D(S) × D(S)

10/38

slide-18
SLIDE 18

sfi Induction Coinduction A-simulations Inequivalences

Simulations in a pLTS

Largest relation ⊳S ⊆ S × S satisfying: s ⊳S t s ⊳S t implies ∆ ∆ lift(⊳S) Θ µ µ µ

Lifting relations:

lift(−) lifts R ⊆ S × S to lift(R) ⊆ D(S) × D(S)

10/38

slide-19
SLIDE 19

sfi Induction Coinduction A-simulations Inequivalences

Lifting relations

Recall: from s

µ

− → Θ to ∆

µ

− → Θ Given R ⊆ S × D(S), lift(R) ⊆ D(S) × D(S) whenever

◮ ∆ = i∈I pi · si ,

I a finite index set

◮ For each i ∈ I there is a distribution Θi s.t. si

R Θi

◮ Θ = i∈I pi · Θi ◮ i∈I pi = 1

Many different formulations For subdistributions:

i∈I pi ≤ 1

11/38

slide-20
SLIDE 20

sfi Induction Coinduction A-simulations Inequivalences

Lifting relations

Recall: from s

µ

− → Θ to ∆

µ

− → Θ Given R ⊆ S × D(S), lift(R) ⊆ D(S) × D(S) whenever

◮ ∆ = i∈I pi · si ,

I a finite index set

◮ For each i ∈ I there is a distribution Θi s.t. si

R Θi

◮ Θ = i∈I pi · Θi ◮ i∈I pi = 1

Many different formulations For subdistributions:

i∈I pi ≤ 1

11/38

slide-21
SLIDE 21

sfi Induction Coinduction A-simulations Inequivalences

Lifting relations

Recall: from s

µ

− → Θ to ∆

µ

− → Θ Given R ⊆ S × D(S), lift(R) ⊆ D(S) × D(S) whenever

◮ ∆ = i∈I pi · si ,

I a finite index set

◮ For each i ∈ I there is a distribution Θi s.t. si

R Θi

◮ Θ = i∈I pi · Θi ◮ i∈I pi = 1

Many different formulations For subdistributions:

i∈I pi ≤ 1

11/38

slide-22
SLIDE 22

sfi Induction Coinduction A-simulations Inequivalences

Simulations in a pLTS

revision

Largest relation ⊳S ⊆ S × D(S) satisfying: s ⊳S t s ⊳S t implies ∆ ∆ lift(⊳S) Θ µ µ µ

Lifting relations:

Here lift(−) lifts R ⊆ S × D(S) to lift(R) ⊆ D(S) × D(S)

12/38

slide-23
SLIDE 23

sfi Induction Coinduction A-simulations Inequivalences

Simulations in a pLTS

revision

Largest relation ⊳S ⊆ S × D(S) satisfying: s ⊳S t s ⊳S t implies ∆ ∆ lift(⊳S) Θ µ µ µ

Lifting relations:

Here lift(−) lifts R ⊆ S × D(S) to lift(R) ⊆ D(S) × D(S)

12/38

slide-24
SLIDE 24

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-25
SLIDE 25

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-26
SLIDE 26

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-27
SLIDE 27

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-28
SLIDE 28

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-29
SLIDE 29

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-30
SLIDE 30

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

d.(a

1 2 ⊕ b) ⊳S d.((a 1 2 ⊕ b) 1 2 ⊕ (a + b)) because

a

1 2 ⊕ b

lift(⊳S) (a

1 2 ⊕ b) 1 2 ⊕ (a + b)

1 2 · a + 1 2 · b lift(⊳S) 1 4 · a + 1 2 · (a + b) + 1 4 · b

Because:

◮ a ⊳S 1 2 · a + 1 2 · (a + b) ◮ b ⊳S 1 2 · b + 1 2 · (a + b) ◮ 1 2 ·a + 1 2 ·b lift(⊳S) 1 2 ·(1 2 ·a+ 1 2 ·(a+b)) + 1 2 ·(1 2 ·b+ 1 2 ·(a+b))

Moral:

◮ ⊳S must have type S × D(S) ◮ NOT type S × S

13/38

slide-31
SLIDE 31

sfi Induction Coinduction A-simulations Inequivalences

Second problem

a.B B s1 s2 a τ

3 4 1 4

τ b a.b ⊳S a.B because a.B a = ⇒ b because a.B

τ

− →∗ a − → τ − →∗ b

Moral:

weak internal actions must include limiting behaviour B reaches state s2 with probability 1

14/38

slide-32
SLIDE 32

sfi Induction Coinduction A-simulations Inequivalences

Second problem

a.B B s1 s2 a τ

3 4 1 4

τ b a.b ⊳S a.B because a.B a = ⇒ b because a.B

τ

− →∗ a − → τ − →∗ b

Moral:

weak internal actions must include limiting behaviour B reaches state s2 with probability 1

14/38

slide-33
SLIDE 33

sfi Induction Coinduction A-simulations Inequivalences

Second problem

a.B B s1 s2 a τ

3 4 1 4

τ b a.b ⊳S a.B because a.B a = ⇒ b because a.B

τ

− →∗ a − → τ − →∗ b

Moral:

weak internal actions must include limiting behaviour B reaches state s2 with probability 1

14/38

slide-34
SLIDE 34

sfi Induction Coinduction A-simulations Inequivalences

Second problem

a.B B s1 s2 a τ

3 4 1 4

τ b a.b ⊳S a.B because a.B a = ⇒ b because a.B

τ

− →∗ a − → τ − →∗ b

Moral:

weak internal actions must include limiting behaviour B reaches state s2 with probability 1

14/38

slide-35
SLIDE 35

sfi Induction Coinduction A-simulations Inequivalences

Weak internal actions in a pLTS

∆ = ⇒ Θ Idea: internal computation is a partial execution ∆ = ∆go

0 +

∆stay ∆go

τ

− → ∆go

0 +

∆stay

1

. . . . . . ∆go

k τ

− → ∆go

(k+1)+

∆stay

(k+1)

. . . . . . . . . . . . Total: Θ = ∞

k=0 ∆stay k

∆stay: any subdistribution ∆go: any subdistribution which can perform τ

Note: use of subdistributions 15/38

slide-36
SLIDE 36

sfi Induction Coinduction A-simulations Inequivalences

Weak internal actions in a pLTS

∆ = ⇒ Θ Idea: internal computation is a partial execution ∆ = ∆go

0 +

∆stay ∆go

τ

− → ∆go

0 +

∆stay

1

. . . . . . ∆go

k τ

− → ∆go

(k+1)+

∆stay

(k+1)

. . . . . . . . . . . . Total: Θ = ∞

k=0 ∆stay k

∆stay: any subdistribution ∆go: any subdistribution which can perform τ

Note: use of subdistributions 15/38

slide-37
SLIDE 37

sfi Induction Coinduction A-simulations Inequivalences

Weak internal actions in a pLTS

∆ = ⇒ Θ Idea: internal computation is a partial execution ∆ = ∆go

0 +

∆stay ∆go

τ

− → ∆go

0 +

∆stay

1

. . . . . . ∆go

k τ

− → ∆go

(k+1)+

∆stay

(k+1)

. . . . . . . . . . . . Total: Θ = ∞

k=0 ∆stay k

∆stay: any subdistribution ∆go: any subdistribution which can perform τ

Note: use of subdistributions 15/38

slide-38
SLIDE 38

sfi Induction Coinduction A-simulations Inequivalences

Weak internal actions in a pLTS

∆ = ⇒ Θ Idea: internal computation is a partial execution ∆ = ∆go

0 +

∆stay ∆go

τ

− → ∆go

0 +

∆stay

1

. . . . . . ∆go

k τ

− → ∆go

(k+1)+

∆stay

(k+1)

. . . . . . . . . . . . Total: Θ = ∞

k=0 ∆stay k

∆stay: any subdistribution ∆go: any subdistribution which can perform τ

Note: use of subdistributions 15/38

slide-39
SLIDE 39

sfi Induction Coinduction A-simulations Inequivalences

Example

a.B B s1 s2 a τ

3 4 1 4

τ b

go stay B = B + empDist B

τ

− →

3 4 · s1 + 1 4 · s2 3 4 · s2 τ

− →

3 4 · B +

empDist

3 4 · B τ

− → ( 3

4 )2 · s1 +

( 3

4 ) 1 4 · s2

. . . . . . ( 3

4 )k · B τ

− → ( 3

4 )(k+1) · B +

( 3

4 )k 1 4 · s2

. . . . . . . . . . . . Total: s2 = P∞

k=0( 3 4 )k 1 4 · s2

B = ⇒ s2

16/38

slide-40
SLIDE 40

sfi Induction Coinduction A-simulations Inequivalences

Example

a.B B s1 s2 a τ

3 4 1 4

τ b

go stay B = B + empDist B

τ

− →

3 4 · s1 + 1 4 · s2 3 4 · s2 τ

− →

3 4 · B +

empDist

3 4 · B τ

− → ( 3

4 )2 · s1 +

( 3

4 ) 1 4 · s2

. . . . . . ( 3

4 )k · B τ

− → ( 3

4 )(k+1) · B +

( 3

4 )k 1 4 · s2

. . . . . . . . . . . . Total: s2 = P∞

k=0( 3 4 )k 1 4 · s2

B = ⇒ s2

16/38

slide-41
SLIDE 41

sfi Induction Coinduction A-simulations Inequivalences

The empty (sub)Distribution: empDist

A feature:

empDist

µ

− → empDist for every action µ

Consequence:

◮ ∆ τ

− → Θ implies ∆ = ⇒ Θ

◮ ∆ τ

− → τ − → Θ implies ∆ = ⇒ Θ

◮ . . .

Sanity check:

τ

− →∗ Θ implies ∆ = ⇒ Θ

17/38

slide-42
SLIDE 42

sfi Induction Coinduction A-simulations Inequivalences

The empty (sub)Distribution: empDist

A feature:

empDist

µ

− → empDist for every action µ

Consequence:

◮ ∆ τ

− → Θ implies ∆ = ⇒ Θ

◮ ∆ τ

− → τ − → Θ implies ∆ = ⇒ Θ

◮ . . .

Sanity check:

τ

− →∗ Θ implies ∆ = ⇒ Θ

17/38

slide-43
SLIDE 43

sfi Induction Coinduction A-simulations Inequivalences

The empty (sub)Distribution: empDist

A feature:

empDist

µ

− → empDist for every action µ

Consequence:

◮ ∆ τ

− → Θ implies ∆ = ⇒ Θ

◮ ∆ τ

− → τ − → Θ implies ∆ = ⇒ Θ

◮ . . .

Sanity check:

τ

− →∗ Θ implies ∆ = ⇒ Θ

17/38

slide-44
SLIDE 44

sfi Induction Coinduction A-simulations Inequivalences

The empty (sub)Distribution: empDist

A feature:

empDist

µ

− → empDist for every action µ

Consequence:

◮ ∆ τ

− → Θ implies ∆ = ⇒ Θ

◮ ∆ τ

− → τ − → Θ implies ∆ = ⇒ Θ

◮ . . .

Sanity check:

τ

− →∗ Θ implies ∆ = ⇒ Θ

17/38

slide-45
SLIDE 45

sfi Induction Coinduction A-simulations Inequivalences

The empty (sub)Distribution: empDist

A feature:

empDist

µ

− → empDist for every action µ

Consequence:

◮ ∆ τ

− → Θ implies ∆ = ⇒ Θ

◮ ∆ τ

− → τ − → Θ implies ∆ = ⇒ Θ

◮ . . .

Sanity check:

τ

− →∗ Θ implies ∆ = ⇒ Θ

17/38

slide-46
SLIDE 46

sfi Induction Coinduction A-simulations Inequivalences

Lost in divergence

s2 s3 s4 s5 s6

τ 1 22 a τ 1 32 a τ 1 42 a τ 1 52 a τ 1 62 a

Total probability of reaching a from s2:

1 4 + 1 12 + 1 24 + 1 40 . . . . . .

=

1 2

s2 = ⇒ 1

2 · a

Remainder of mass

1 2 is lost in divergence

18/38

slide-47
SLIDE 47

sfi Induction Coinduction A-simulations Inequivalences

Lost in divergence

s2 s3 s4 s5 s6

τ 1 22 a τ 1 32 a τ 1 42 a τ 1 52 a τ 1 62 a

Total probability of reaching a from s2:

1 4 + 1 12 + 1 24 + 1 40 . . . . . .

=

1 2

s2 = ⇒ 1

2 · a

Remainder of mass

1 2 is lost in divergence

18/38

slide-48
SLIDE 48

sfi Induction Coinduction A-simulations Inequivalences

Lost in divergence

s2 s3 s4 s5 s6

τ 1 22 a τ 1 32 a τ 1 42 a τ 1 52 a τ 1 62 a

Total probability of reaching a from s2:

1 4 + 1 12 + 1 24 + 1 40 . . . . . .

=

1 2

s2 = ⇒ 1

2 · a

Remainder of mass

1 2 is lost in divergence

18/38

slide-49
SLIDE 49

sfi Induction Coinduction A-simulations Inequivalences

Lost in divergence

s2 s3 s4 s5 s6

τ 1 22 a τ 1 32 a τ 1 42 a τ 1 52 a τ 1 62 a

Total probability of reaching a from s2:

1 4 + 1 12 + 1 24 + 1 40 . . . . . .

=

1 2

s2 = ⇒ 1

2 · a

Remainder of mass

1 2 is lost in divergence

18/38

slide-50
SLIDE 50

sfi Induction Coinduction A-simulations Inequivalences

Lost in divergence

s2 s3 s4 s5 s6

τ 1 22 a τ 1 32 a τ 1 42 a τ 1 52 a τ 1 62 a

Total probability of reaching a from s2:

1 4 + 1 12 + 1 24 + 1 40 . . . . . .

=

1 2

s2 = ⇒ 1

2 · a

Remainder of mass

1 2 is lost in divergence

18/38

slide-51
SLIDE 51

sfi Induction Coinduction A-simulations Inequivalences

Simulations in a pLTS finally

Largest relation ⊳S ⊆ S × D(S) satisfying: s ⊳S Θ s ⊳S Θ implies ∆ ∆ lift(⊳S) Θ′ µ µ µ

◮ Θ a

= ⇒ Θ′: now means Θ = ⇒ Θ1

a

− → Θ2 = ⇒ Θ

◮ Θ τ

= ⇒ Θ′: now means Θ = ⇒ Θ′

19/38

slide-52
SLIDE 52

sfi Induction Coinduction A-simulations Inequivalences

Simulations in a pLTS finally

Largest relation ⊳S ⊆ S × D(S) satisfying: s ⊳S Θ s ⊳S Θ implies ∆ ∆ lift(⊳S) Θ′ µ µ µ

◮ Θ a

= ⇒ Θ′: now means Θ = ⇒ Θ1

a

− → Θ2 = ⇒ Θ

◮ Θ τ

= ⇒ Θ′: now means Θ = ⇒ Θ′

19/38

slide-53
SLIDE 53

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

a.B B s1 s2 a τ

3 4 1 4

τ b a.b ⊳S a.B because a.B

a

= ⇒ b

Also:

a.B ⊳S a.b

20/38

slide-54
SLIDE 54

sfi Induction Coinduction A-simulations Inequivalences

Example simulation

a.B B s1 s2 a τ

3 4 1 4

τ b a.b ⊳S a.B because a.B

a

= ⇒ b

Also:

a.B ⊳S a.b

20/38

slide-55
SLIDE 55

sfi Induction Coinduction A-simulations Inequivalences

Simulations and testing

Soundness:

s ⊳S Θ implies s ⊑pmay Θ

proof is straightforward

Completeness:

In a finitary pLTS s ⊑pmay Θ implies s ⊳S Θ

difficult proof 21/38

slide-56
SLIDE 56

sfi Induction Coinduction A-simulations Inequivalences

Simulations and testing

Soundness:

s ⊳S Θ implies s ⊑pmay Θ

proof is straightforward

Completeness:

In a finitary pLTS s ⊑pmay Θ implies s ⊳S Θ

difficult proof 21/38

slide-57
SLIDE 57

sfi Induction Coinduction A-simulations Inequivalences

Simulations and testing

Soundness:

s ⊳S Θ implies s ⊑pmay Θ

proof is straightforward

Completeness:

In a finitary pLTS s ⊑pmay Θ implies s ⊳S Θ

difficult proof 21/38

slide-58
SLIDE 58

sfi Induction Coinduction A-simulations Inequivalences

Weak transfer property: WTP

R satisfies the weak transfer property if s R t s R t implies ∆ ∆ lift(R) Θ µ µ µ

In LTSs:

The simulation preorder ⊳S satisfies the WTP

In pLTSs:

The simulation preorder ⊳S does NOT satisfy the WTP

In finitary pLTSs:

The simulation preorder ⊳S satisfies the WTP

22/38

slide-59
SLIDE 59

sfi Induction Coinduction A-simulations Inequivalences

Weak transfer property: WTP

R satisfies the weak transfer property if s R t s R t implies ∆ ∆ lift(R) Θ µ µ µ

In LTSs:

The simulation preorder ⊳S satisfies the WTP

In pLTSs:

The simulation preorder ⊳S does NOT satisfy the WTP

In finitary pLTSs:

The simulation preorder ⊳S satisfies the WTP

22/38

slide-60
SLIDE 60

sfi Induction Coinduction A-simulations Inequivalences

Weak transfer property: WTP

R satisfies the weak transfer property if s R t s R t implies ∆ ∆ lift(R) Θ µ µ µ

In LTSs:

The simulation preorder ⊳S satisfies the WTP

In pLTSs:

The simulation preorder ⊳S does NOT satisfy the WTP

In finitary pLTSs:

The simulation preorder ⊳S satisfies the WTP

22/38

slide-61
SLIDE 61

sfi Induction Coinduction A-simulations Inequivalences

Weak transfer property: WTP

R satisfies the weak transfer property if s R t s R t implies ∆ ∆ lift(R) Θ µ µ µ

In LTSs:

The simulation preorder ⊳S satisfies the WTP

In pLTSs:

The simulation preorder ⊳S does NOT satisfy the WTP

In finitary pLTSs:

The simulation preorder ⊳S satisfies the WTP

22/38

slide-62
SLIDE 62

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder via induction

Using coinduction:

⊳S ⊆ S × D(S) is the largest solution to ⊳S = Sim(⊳S)

Using induction:

⊳S

0 = S × D(S)

⊳S

1 = Sim(⊳S 0)

. . . = . . . ⊳S

(k+1) = Sim(⊳S k)

. . . = . . . ⊳S

∞ =

∩k≥0 ⊳S

k

In general

s ⊳S Θ implies s ⊳S

∞ Θ

23/38

slide-63
SLIDE 63

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder via induction

Using coinduction:

⊳S ⊆ S × D(S) is the largest solution to ⊳S = Sim(⊳S)

Using induction:

⊳S

0 = S × D(S)

⊳S

1 = Sim(⊳S 0)

. . . = . . . ⊳S

(k+1) = Sim(⊳S k)

. . . = . . . ⊳S

∞ =

∩k≥0 ⊳S

k

In general

s ⊳S Θ implies s ⊳S

∞ Θ

23/38

slide-64
SLIDE 64

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder via induction

Using coinduction:

⊳S ⊆ S × D(S) is the largest solution to ⊳S = Sim(⊳S)

Using induction:

⊳S

0 = S × D(S)

⊳S

1 = Sim(⊳S 0)

. . . = . . . ⊳S

(k+1) = Sim(⊳S k)

. . . = . . . ⊳S

∞ =

∩k≥0 ⊳S

k

In general

s ⊳S Θ implies s ⊳S

∞ Θ

23/38

slide-65
SLIDE 65

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-66
SLIDE 66

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-67
SLIDE 67

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-68
SLIDE 68

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-69
SLIDE 69

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-70
SLIDE 70

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-71
SLIDE 71

sfi Induction Coinduction A-simulations Inequivalences

The simulation preorder: coinduction v. induction

◮ In an LTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finite state LTS: s ⊳S ∞ Θ implies s ⊳S Θ ◮ In a pLTS: s ⊳S ∞ Θ does NOT imply s ⊳S Θ ◮ In a finitary pLTS: s ⊳S ∞ Θ implies s ⊳S Θ

Key property of finitary pLTS:

{ ∆ | s = ⇒ ∆ } is finitely generable

IE:

There exists finite ∆1 . . . ∆k such that

◮ s =

⇒ ∆i

◮ s =

⇒ ∆ only if ∆ = p1 · ∆1 + . . . pn · ∆k pi ≤ 1

24/38

slide-72
SLIDE 72

sfi Induction Coinduction A-simulations Inequivalences

Outline

Inductive methods Coinductive methods A-simulations Proving inequivalences

25/38

slide-73
SLIDE 73

sfi Induction Coinduction A-simulations Inequivalences

Simulations for must testing

Ingredients:

◮ weak actions as usual ◮ divergence/convergence ◮ failures/acceptances ◮ Convergence: ∆ ⇓ if there is no infinite sequence

τ

− → . . .

τ

− → ∆k

τ

− → . . .

Alternatively: ∆ = ⇒ EmpDist

◮ Acceptances: ∆ acc A if ∆ ⇓ and ∆ τ

= ⇒ Θ implies Θ

a

= ⇒ for some a in ∆

26/38

slide-74
SLIDE 74

sfi Induction Coinduction A-simulations Inequivalences

Simulations for must testing

Ingredients:

◮ weak actions as usual ◮ divergence/convergence ◮ failures/acceptances ◮ Convergence: ∆ ⇓ if there is no infinite sequence

τ

− → . . .

τ

− → ∆k

τ

− → . . .

Alternatively: ∆ = ⇒ EmpDist

◮ Acceptances: ∆ acc A if ∆ ⇓ and ∆ τ

= ⇒ Θ implies Θ

a

= ⇒ for some a in ∆

26/38

slide-75
SLIDE 75

sfi Induction Coinduction A-simulations Inequivalences

Simulations for must testing

Ingredients:

◮ weak actions as usual ◮ divergence/convergence ◮ failures/acceptances ◮ Convergence: ∆ ⇓ if there is no infinite sequence

τ

− → . . .

τ

− → ∆k

τ

− → . . .

Alternatively: ∆ = ⇒ EmpDist

◮ Acceptances: ∆ acc A if ∆ ⇓ and ∆ τ

= ⇒ Θ implies Θ

a

= ⇒ for some a in ∆

26/38

slide-76
SLIDE 76

sfi Induction Coinduction A-simulations Inequivalences

Simulations for must testing

Ingredients:

◮ weak actions as usual ◮ divergence/convergence ◮ failures/acceptances ◮ Convergence: ∆ ⇓ if there is no infinite sequence

τ

− → . . .

τ

− → ∆k

τ

− → . . .

Alternatively: ∆ = ⇒ EmpDist

◮ Acceptances: ∆ acc A if ∆ ⇓ and ∆ τ

= ⇒ Θ implies Θ

a

= ⇒ for some a in ∆

26/38

slide-77
SLIDE 77

sfi Induction Coinduction A-simulations Inequivalences

A-simulations in a pLTS

Largest relation ⊲

acc

⊆ Dsub(S) × S satisfying: Θ ⊲

acc s implies:

whenever Θ ⇓,

◮ s ⇓ ◮ Θ acc A implies s acc A ◮ and

Θ ⊲

acc

s Θ ⊲

acc

s implies ∆ Θ′ lift(⊲

acc)

∆ µ µ µ Use of subdistributions Dsub(S) facilitates the treatment of divergence

27/38

slide-78
SLIDE 78

sfi Induction Coinduction A-simulations Inequivalences

A-simulations in a pLTS

Largest relation ⊲

acc

⊆ Dsub(S) × S satisfying: Θ ⊲

acc s implies:

whenever Θ ⇓,

◮ s ⇓ ◮ Θ acc A implies s acc A ◮ and

Θ ⊲

acc

s Θ ⊲

acc

s implies ∆ Θ′ lift(⊲

acc)

∆ µ µ µ Use of subdistributions Dsub(S) facilitates the treatment of divergence

27/38

slide-79
SLIDE 79

sfi Induction Coinduction A-simulations Inequivalences

A-simulations in a pLTS

Largest relation ⊲

acc

⊆ Dsub(S) × S satisfying: Θ ⊲

acc s implies:

whenever Θ ⇓,

◮ s ⇓ ◮ Θ acc A implies s acc A ◮ and

Θ ⊲

acc

s Θ ⊲

acc

s implies ∆ Θ′ lift(⊲

acc)

∆ µ µ µ Use of subdistributions Dsub(S) facilitates the treatment of divergence

27/38

slide-80
SLIDE 80

sfi Induction Coinduction A-simulations Inequivalences

A-simulations in a pLTS

Largest relation ⊲

acc

⊆ Dsub(S) × S satisfying: Θ ⊲

acc s implies:

whenever Θ ⇓,

◮ s ⇓ ◮ Θ acc A implies s acc A ◮ and

Θ ⊲

acc

s Θ ⊲

acc

s implies ∆ Θ′ lift(⊲

acc)

∆ µ µ µ Use of subdistributions Dsub(S) facilitates the treatment of divergence

27/38

slide-81
SLIDE 81

sfi Induction Coinduction A-simulations Inequivalences

A-simulations in a pLTS

Largest relation ⊲

acc

⊆ Dsub(S) × S satisfying: Θ ⊲

acc s implies:

whenever Θ ⇓,

◮ s ⇓ ◮ Θ acc A implies s acc A ◮ and

Θ ⊲

acc

s Θ ⊲

acc

s implies ∆ Θ′ lift(⊲

acc)

∆ µ µ µ Use of subdistributions Dsub(S) facilitates the treatment of divergence

27/38

slide-82
SLIDE 82

sfi Induction Coinduction A-simulations Inequivalences

A-simulations in a pLTS

Largest relation ⊲

acc

⊆ Dsub(S) × S satisfying: Θ ⊲

acc s implies:

whenever Θ ⇓,

◮ s ⇓ ◮ Θ acc A implies s acc A ◮ and

Θ ⊲

acc

s Θ ⊲

acc

s implies ∆ Θ′ lift(⊲

acc)

∆ µ µ µ Use of subdistributions Dsub(S) facilitates the treatment of divergence

27/38

slide-83
SLIDE 83

sfi Induction Coinduction A-simulations Inequivalences

Simulations and must testing

Soundness:

In a finitary pLTS Θ ⊲

acc s implies Θ ⊑pmust s difficult proof because of divergence

Completeness:

In a finitary pLTS Θ ⊑pmust s implies Θ ⊳S s

difficult proof 28/38

slide-84
SLIDE 84

sfi Induction Coinduction A-simulations Inequivalences

Simulations and must testing

Soundness:

In a finitary pLTS Θ ⊲

acc s implies Θ ⊑pmust s difficult proof because of divergence

Completeness:

In a finitary pLTS Θ ⊑pmust s implies Θ ⊳S s

difficult proof 28/38

slide-85
SLIDE 85

sfi Induction Coinduction A-simulations Inequivalences

Simulations and must testing

Soundness:

In a finitary pLTS Θ ⊲

acc s implies Θ ⊑pmust s difficult proof because of divergence

Completeness:

In a finitary pLTS Θ ⊑pmust s implies Θ ⊳S s

difficult proof 28/38

slide-86
SLIDE 86

sfi Induction Coinduction A-simulations Inequivalences

Outline

Inductive methods Coinductive methods A-simulations Proving inequivalences

29/38

slide-87
SLIDE 87

sfi Induction Coinduction A-simulations Inequivalences

Are these distinguishable by any test ?

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

Q ⊑pmay P

Use test T = d.a.ω:

◮ sup of Apply(T, Q) = 1 ◮ sup of Apply(T, P) = 1 2

30/38

slide-88
SLIDE 88

sfi Induction Coinduction A-simulations Inequivalences

Are these distinguishable by any test ?

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

Q ⊑pmay P

Use test T = d.a.ω:

◮ sup of Apply(T, Q) = 1 ◮ sup of Apply(T, P) = 1 2

30/38

slide-89
SLIDE 89

sfi Induction Coinduction A-simulations Inequivalences

Is P ⊑pmay Q?

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

With T = d.(τ.a.(ω 1

2⊕ 0)

+ τ.(b.ω 1

2⊕ c.ω))

◮ sup of Apply(T, P) = 3 4 ◮ sup of Apply(T, Q) = 1 2 ◮ Distinguishing tests can be hard to find.

31/38

slide-90
SLIDE 90

sfi Induction Coinduction A-simulations Inequivalences

Is P ⊑pmay Q?

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

With T = d.(τ.a.(ω 1

2⊕ 0)

+ τ.(b.ω 1

2⊕ c.ω))

◮ sup of Apply(T, P) = 3 4 ◮ sup of Apply(T, Q) = 1 2 ◮ Distinguishing tests can be hard to find.

31/38

slide-91
SLIDE 91

sfi Induction Coinduction A-simulations Inequivalences

Is P ⊑pmay Q?

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

With T = d.(τ.a.(ω 1

2⊕ 0)

+ τ.(b.ω 1

2⊕ c.ω))

◮ sup of Apply(T, P) = 3 4 ◮ sup of Apply(T, Q) = 1 2 ◮ Distinguishing tests can be hard to find.

31/38

slide-92
SLIDE 92

sfi Induction Coinduction A-simulations Inequivalences

Characterising preorders using logical properties

A set of properties Prop characterises ⊑ whenever

◮ P ⊑ Q implies for every φ in Prop

Q satisfies φ whenever P satisfies φ

◮ P ⊑ Q whenever there is some φ in Prop such that

◮ P satisfies φ ◮ Q does not satisfy φ

Consequence:

To show P ⊑ Q it is sufficient to find some φ such that

◮ P satisfies φ ◮ Q does not satisfy φ

32/38

slide-93
SLIDE 93

sfi Induction Coinduction A-simulations Inequivalences

Characterising preorders using logical properties

A set of properties Prop characterises ⊑ whenever

◮ P ⊑ Q implies for every φ in Prop

Q satisfies φ whenever P satisfies φ

◮ P ⊑ Q whenever there is some φ in Prop such that

◮ P satisfies φ ◮ Q does not satisfy φ

Consequence:

To show P ⊑ Q it is sufficient to find some φ such that

◮ P satisfies φ ◮ Q does not satisfy φ

32/38

slide-94
SLIDE 94

sfi Induction Coinduction A-simulations Inequivalences

LTS: A modal logic for process properties

φ ::= tt | ff | φ ∧ φ′ | φ ∨ φ′ | µ φ | [µ] φ | acc A

Satisfaction:

◮ P |

= µ φ if P

µ

= ⇒ Q and Q | = φ

◮ P |

= [µ] φ if

◮ P ⇓ ◮ Q |

= φ whenever P

µ

= ⇒ Q

◮ P |

= acc A if

◮ P ⇓ ◮ P

τ

= ⇒ Q implies Q

a

= ⇒ for some a in A

33/38

slide-95
SLIDE 95

sfi Induction Coinduction A-simulations Inequivalences

LTS: A modal logic for process properties

φ ::= tt | ff | φ ∧ φ′ | φ ∨ φ′ | µ φ | [µ] φ | acc A

Satisfaction:

◮ P |

= µ φ if P

µ

= ⇒ Q and Q | = φ

◮ P |

= [µ] φ if

◮ P ⇓ ◮ Q |

= φ whenever P

µ

= ⇒ Q

◮ P |

= acc A if

◮ P ⇓ ◮ P

τ

= ⇒ Q implies Q

a

= ⇒ for some a in A

33/38

slide-96
SLIDE 96

sfi Induction Coinduction A-simulations Inequivalences

LTS: A modal logic for process properties

φ ::= tt | ff | φ ∧ φ′ | φ ∨ φ′ | µ φ | [µ] φ | acc A

Satisfaction:

◮ P |

= µ φ if P

µ

= ⇒ Q and Q | = φ

◮ P |

= [µ] φ if

◮ P ⇓ ◮ Q |

= φ whenever P

µ

= ⇒ Q

◮ P |

= acc A if

◮ P ⇓ ◮ P

τ

= ⇒ Q implies Q

a

= ⇒ for some a in A

33/38

slide-97
SLIDE 97

sfi Induction Coinduction A-simulations Inequivalences

LTS: A modal logic for process properties

φ ::= tt | ff | φ ∧ φ′ | φ ∨ φ′ | µ φ | [µ] φ | acc A

Satisfaction:

◮ P |

= µ φ if P

µ

= ⇒ Q and Q | = φ

◮ P |

= [µ] φ if

◮ P ⇓ ◮ Q |

= φ whenever P

µ

= ⇒ Q

◮ P |

= acc A if

◮ P ⇓ ◮ P

τ

= ⇒ Q implies Q

a

= ⇒ for some a in A

33/38

slide-98
SLIDE 98

sfi Induction Coinduction A-simulations Inequivalences

LTS: Property logics and testing

May testing:

◮ ⊑may characterised by L = { tt, µ, ∨ }

Must testing:

◮ ⊑must characterised by L = { ff, [µ], ∧ , acc A }

34/38

slide-99
SLIDE 99

sfi Induction Coinduction A-simulations Inequivalences

pLTS: A modal logic for probabilistic process properties

φ ::= . . . . . . µ ψdist | [µ] ψdist . . . ψdist := φ | φ

p∧ ψdist | φ p∨ ψdist

Satisfaction: ∆ | = φ

◮ ∆ |

= µ ψdist if ∆

µ

= ⇒ Θ and Θ | = ψdist

◮ ∆ |

= [µ] ψdist if

◮ ∆ ⇓ ◮ Θ |

= ψdist whenever ∆

µ

= ⇒ Θ

◮ ∆ |

= ψ1

p∧ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 and ∆2 | = ψ2

◮ ∆ |

= ψ1

p∨ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 or ∆2 | = ψ2

35/38

slide-100
SLIDE 100

sfi Induction Coinduction A-simulations Inequivalences

pLTS: A modal logic for probabilistic process properties

φ ::= . . . . . . µ ψdist | [µ] ψdist . . . ψdist := φ | φ

p∧ ψdist | φ p∨ ψdist

Satisfaction: ∆ | = φ

◮ ∆ |

= µ ψdist if ∆

µ

= ⇒ Θ and Θ | = ψdist

◮ ∆ |

= [µ] ψdist if

◮ ∆ ⇓ ◮ Θ |

= ψdist whenever ∆

µ

= ⇒ Θ

◮ ∆ |

= ψ1

p∧ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 and ∆2 | = ψ2

◮ ∆ |

= ψ1

p∨ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 or ∆2 | = ψ2

35/38

slide-101
SLIDE 101

sfi Induction Coinduction A-simulations Inequivalences

pLTS: A modal logic for probabilistic process properties

φ ::= . . . . . . µ ψdist | [µ] ψdist . . . ψdist := φ | φ

p∧ ψdist | φ p∨ ψdist

Satisfaction: ∆ | = φ

◮ ∆ |

= µ ψdist if ∆

µ

= ⇒ Θ and Θ | = ψdist

◮ ∆ |

= [µ] ψdist if

◮ ∆ ⇓ ◮ Θ |

= ψdist whenever ∆

µ

= ⇒ Θ

◮ ∆ |

= ψ1

p∧ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 and ∆2 | = ψ2

◮ ∆ |

= ψ1

p∨ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 or ∆2 | = ψ2

35/38

slide-102
SLIDE 102

sfi Induction Coinduction A-simulations Inequivalences

pLTS: A modal logic for probabilistic process properties

φ ::= . . . . . . µ ψdist | [µ] ψdist . . . ψdist := φ | φ

p∧ ψdist | φ p∨ ψdist

Satisfaction: ∆ | = φ

◮ ∆ |

= µ ψdist if ∆

µ

= ⇒ Θ and Θ | = ψdist

◮ ∆ |

= [µ] ψdist if

◮ ∆ ⇓ ◮ Θ |

= ψdist whenever ∆

µ

= ⇒ Θ

◮ ∆ |

= ψ1

p∧ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 and ∆2 | = ψ2

◮ ∆ |

= ψ1

p∨ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 or ∆2 | = ψ2

35/38

slide-103
SLIDE 103

sfi Induction Coinduction A-simulations Inequivalences

pLTS: A modal logic for probabilistic process properties

φ ::= . . . . . . µ ψdist | [µ] ψdist . . . ψdist := φ | φ

p∧ ψdist | φ p∨ ψdist

Satisfaction: ∆ | = φ

◮ ∆ |

= µ ψdist if ∆

µ

= ⇒ Θ and Θ | = ψdist

◮ ∆ |

= [µ] ψdist if

◮ ∆ ⇓ ◮ Θ |

= ψdist whenever ∆

µ

= ⇒ Θ

◮ ∆ |

= ψ1

p∧ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 and ∆2 | = ψ2

◮ ∆ |

= ψ1

p∨ ψ2 if ◮ ∆ = p · ∆1 + (1 − p) · ∆2 ◮ ∆1 |

= ψ1 or ∆2 | = ψ2

35/38

slide-104
SLIDE 104

sfi Induction Coinduction A-simulations Inequivalences

pLTS example: using formulae

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

With φ = d(a tt

1 2∧ (b tt ∧ c tt))

◮ P |

= φ

◮ Q |

= φ

So P ⊑pmay Q

36/38

slide-105
SLIDE 105

sfi Induction Coinduction A-simulations Inequivalences

pLTS example: using formulae

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

With φ = d(a tt

1 2∧ (b tt ∧ c tt))

◮ P |

= φ

◮ Q |

= φ

So P ⊑pmay Q

36/38

slide-106
SLIDE 106

sfi Induction Coinduction A-simulations Inequivalences

pLTS example: using formulae

P d

1 2 1 2

a b c Q d

1 2 1 2

a b a c

With φ = d(a tt

1 2∧ (b tt ∧ c tt))

◮ P |

= φ

◮ Q |

= φ

So P ⊑pmay Q

36/38

slide-107
SLIDE 107

sfi Induction Coinduction A-simulations Inequivalences

pLTS: Property logics and testing

In a finitary pLTS:

May testing:

◮ ⊑pmay characterised by L = { tt, µ, ∨, ∧, p∧ }

Must testing:

◮ ⊑pmust characterised by L = { ff, [µ], ∧, ∨, p∨, acc A }

Proofs are very indirect, via simulations

37/38

slide-108
SLIDE 108

sfi Induction Coinduction A-simulations Inequivalences

pLTS: Property logics and testing

In a finitary pLTS:

May testing:

◮ ⊑pmay characterised by L = { tt, µ, ∨, ∧, p∧ }

Must testing:

◮ ⊑pmust characterised by L = { ff, [µ], ∧, ∨, p∨, acc A }

Proofs are very indirect, via simulations

37/38

slide-109
SLIDE 109

sfi Induction Coinduction A-simulations Inequivalences

pLTS: Property logics and testing

In a finitary pLTS:

May testing:

◮ ⊑pmay characterised by L = { tt, µ, ∨, ∧, p∧ }

Must testing:

◮ ⊑pmust characterised by L = { ff, [µ], ∧, ∨, p∨, acc A }

Proofs are very indirect, via simulations

37/38

slide-110
SLIDE 110

sfi Induction Coinduction A-simulations Inequivalences

Conclusions

◮ Testing provides basis for a natural extensional theory of

processes

◮ Applies to processes which exhibit both

◮ nondeterministic ◮ probabilistic

behaviour

◮ Coinductive simulations provide powerful proof method for

relating processes

◮ Probabilistic modal logic provides powerful proof method for

distinguishing processes

◮ Both techniques are complete for finitary processes

38/38

slide-111
SLIDE 111

sfi Induction Coinduction A-simulations Inequivalences

Conclusions

◮ Testing provides basis for a natural extensional theory of

processes

◮ Applies to processes which exhibit both

◮ nondeterministic ◮ probabilistic

behaviour

◮ Coinductive simulations provide powerful proof method for

relating processes

◮ Probabilistic modal logic provides powerful proof method for

distinguishing processes

◮ Both techniques are complete for finitary processes

38/38

slide-112
SLIDE 112

sfi Induction Coinduction A-simulations Inequivalences

Conclusions

◮ Testing provides basis for a natural extensional theory of

processes

◮ Applies to processes which exhibit both

◮ nondeterministic ◮ probabilistic

behaviour

◮ Coinductive simulations provide powerful proof method for

relating processes

◮ Probabilistic modal logic provides powerful proof method for

distinguishing processes

◮ Both techniques are complete for finitary processes

38/38

slide-113
SLIDE 113

sfi Induction Coinduction A-simulations Inequivalences

Conclusions

◮ Testing provides basis for a natural extensional theory of

processes

◮ Applies to processes which exhibit both

◮ nondeterministic ◮ probabilistic

behaviour

◮ Coinductive simulations provide powerful proof method for

relating processes

◮ Probabilistic modal logic provides powerful proof method for

distinguishing processes

◮ Both techniques are complete for finitary processes

38/38

slide-114
SLIDE 114

sfi Induction Coinduction A-simulations Inequivalences

Conclusions

◮ Testing provides basis for a natural extensional theory of

processes

◮ Applies to processes which exhibit both

◮ nondeterministic ◮ probabilistic

behaviour

◮ Coinductive simulations provide powerful proof method for

relating processes

◮ Probabilistic modal logic provides powerful proof method for

distinguishing processes

◮ Both techniques are complete for finitary processes

38/38