Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually - - PowerPoint PPT Presentation

concurrency theory
SMART_READER_LITE
LIVE PREVIEW

Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually - - PowerPoint PPT Presentation

Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems Joost-Pieter Katoen and Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-19-20/ct/


slide-1
SLIDE 1

Concurrency Theory

Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems Joost-Pieter Katoen and Thomas Noll Software Modeling and Verification Group RWTH Aachen University

https://moves.rwth-aachen.de/teaching/ws-19-20/ct/

slide-2
SLIDE 2

Recap: Fixed-Point Theory Outline of Lecture 6 Recap: Fixed-Point Theory Fixed Points and System Properties Mutually Recursive Equational Systems Mixing Least and Greatest Fixed Points

2 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-3
SLIDE 3

Recap: Fixed-Point Theory The Fixed-Point Theorem Alfred Tarski (1901–1983) Theorem (Tarski’s fixed-point theorem) Let (D, ⊑) be a complete lattice and f : D → D monotonic. Then f has a least fixed point fix(f) and a greatest fixed point FIX(f) given by fix(f) = {d ∈ D | f(d) ⊑ d} (GLB of all pre-fixed points of f) FIX(f) = {d ∈ D | d ⊑ f(d)} (LUB of all post-fixed points of f) Proof.

  • n the board

3 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-4
SLIDE 4

Recap: Fixed-Point Theory The Fixed-Point Theorem for Finite Lattices Theorem (Fixed-point theorem for finite lattices) Let (D, ⊑) be a finite complete lattice and f : D → D monotonic. Then fix(f) = f m(⊥) and FIX(f) = f M(⊤) for some m, M ∈ N where f 0(d) := d and f k+1(d) := f(f k(d)). Proof.

  • n the board

4 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-5
SLIDE 5

Recap: Fixed-Point Theory Application to HML with Recursion Lemma Let (S, Act, −

→) be an LTS and F ∈ HMF X. Then

  • 1. F : 2S → 2S is monotonic w.r.t. (2S, ⊆)
  • 2. fix(F) = {T ⊆ S | F(T) ⊆ T}
  • 3. FIX(F) = {T ⊆ S | T ⊆ F(T)}

If, in addition, S is finite, then

  • 4. fix(F) = Fm(∅) for some m ∈ N
  • 5. FIX(F) = FM(S) for some M ∈ N

Proof.

  • 1. by induction on the structure of F (details omitted)
  • 2. by Lemma 4.15 and Theorem 5.5
  • 3. by Lemma 4.15 and Theorem 5.5
  • 4. by Lemma 4.15 and Theorem 5.7
  • 5. by Lemma 4.15 and Theorem 5.7

5 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-6
SLIDE 6

Fixed Points and System Properties Outline of Lecture 6 Recap: Fixed-Point Theory Fixed Points and System Properties Mutually Recursive Equational Systems Mixing Least and Greatest Fixed Points

6 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-7
SLIDE 7

Fixed Points and System Properties Greatest Fixed Points and Invariants

  • Invariants (cf. Example 4.5):

– Inv(F)

max

= F ∧ [Act]Inv(F) for F ∈ HMF

– s |

= Inv(F) if all states reachable from s satisfy F

7 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-8
SLIDE 8

Fixed Points and System Properties Greatest Fixed Points and Invariants

  • Invariants (cf. Example 4.5):

– Inv(F)

max

= F ∧ [Act]Inv(F) for F ∈ HMF

– s |

= Inv(F) if all states reachable from s satisfy F

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)

7 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-9
SLIDE 9

Fixed Points and System Properties Greatest Fixed Points and Invariants

  • Invariants (cf. Example 4.5):

– Inv(F)

max

= F ∧ [Act]Inv(F) for F ∈ HMF

– s |

= Inv(F) if all states reachable from s satisfy F

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let inv : 2S → 2S : T → F ∩ [·Act·](T) be the corresponding semantic function
  • By Lemma 5.9, FIX(inv) = {T ⊆ S | T ⊆ inv(T)}

7 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-10
SLIDE 10

Fixed Points and System Properties Greatest Fixed Points and Invariants

  • Invariants (cf. Example 4.5):

– Inv(F)

max

= F ∧ [Act]Inv(F) for F ∈ HMF

– s |

= Inv(F) if all states reachable from s satisfy F

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let inv : 2S → 2S : T → F ∩ [·Act·](T) be the corresponding semantic function
  • By Lemma 5.9, FIX(inv) = {T ⊆ S | T ⊆ inv(T)}
  • Direct formulation of invariance property:

Inv = {s ∈ S | ∀w ∈ Act∗, s′ ∈ S : s

w

− → s′ = ⇒ s′ ∈ F}

7 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-11
SLIDE 11

Fixed Points and System Properties Greatest Fixed Points and Invariants

  • Invariants (cf. Example 4.5):

– Inv(F)

max

= F ∧ [Act]Inv(F) for F ∈ HMF

– s |

= Inv(F) if all states reachable from s satisfy F

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let inv : 2S → 2S : T → F ∩ [·Act·](T) be the corresponding semantic function
  • By Lemma 5.9, FIX(inv) = {T ⊆ S | T ⊆ inv(T)}
  • Direct formulation of invariance property:

Inv = {s ∈ S | ∀w ∈ Act∗, s′ ∈ S : s

w

− → s′ = ⇒ s′ ∈ F}

Theorem 6.1 For every LTS (S, Act, −

→), Inv = FIX(inv) holds.

7 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-12
SLIDE 12

Fixed Points and System Properties Greatest Fixed Points and Invariants

  • Invariants (cf. Example 4.5):

– Inv(F)

max

= F ∧ [Act]Inv(F) for F ∈ HMF

– s |

= Inv(F) if all states reachable from s satisfy F

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let inv : 2S → 2S : T → F ∩ [·Act·](T) be the corresponding semantic function
  • By Lemma 5.9, FIX(inv) = {T ⊆ S | T ⊆ inv(T)}
  • Direct formulation of invariance property:

Inv = {s ∈ S | ∀w ∈ Act∗, s′ ∈ S : s

w

− → s′ = ⇒ s′ ∈ F}

Theorem 6.1 For every LTS (S, Act, −

→), Inv = FIX(inv) holds.

Proof.

  • n the board

7 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-13
SLIDE 13

Fixed Points and System Properties Least Fixed Points and Possibilities

  • Possibilities (cf. Example 4.5):

– Pos(F)

min

= F ∨ ActPos(F)

– s |

= Pos(F) if a state satisfying F is reachable from s

8 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-14
SLIDE 14

Fixed Points and System Properties Least Fixed Points and Possibilities

  • Possibilities (cf. Example 4.5):

– Pos(F)

min

= F ∨ ActPos(F)

– s |

= Pos(F) if a state satisfying F is reachable from s

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)

8 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-15
SLIDE 15

Fixed Points and System Properties Least Fixed Points and Possibilities

  • Possibilities (cf. Example 4.5):

– Pos(F)

min

= F ∨ ActPos(F)

– s |

= Pos(F) if a state satisfying F is reachable from s

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let pos : 2S → 2S : T → F ∪ ·Act·(T) be the corresponding semantic function
  • By Lemma 5.9, fix(pos) = {T ⊆ S | pos(T) ⊆ T}

8 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-16
SLIDE 16

Fixed Points and System Properties Least Fixed Points and Possibilities

  • Possibilities (cf. Example 4.5):

– Pos(F)

min

= F ∨ ActPos(F)

– s |

= Pos(F) if a state satisfying F is reachable from s

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let pos : 2S → 2S : T → F ∪ ·Act·(T) be the corresponding semantic function
  • By Lemma 5.9, fix(pos) = {T ⊆ S | pos(T) ⊆ T}
  • Direct formulation of possibility property:

Pos = {s ∈ S | ∃w ∈ Act∗, s′ ∈ F : s

w

− → s′}

8 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-17
SLIDE 17

Fixed Points and System Properties Least Fixed Points and Possibilities

  • Possibilities (cf. Example 4.5):

– Pos(F)

min

= F ∨ ActPos(F)

– s |

= Pos(F) if a state satisfying F is reachable from s

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let pos : 2S → 2S : T → F ∪ ·Act·(T) be the corresponding semantic function
  • By Lemma 5.9, fix(pos) = {T ⊆ S | pos(T) ⊆ T}
  • Direct formulation of possibility property:

Pos = {s ∈ S | ∃w ∈ Act∗, s′ ∈ F : s

w

− → s′}

Theorem 6.2 For every LTS (S, Act, −

→), Pos = fix(pos) holds.

8 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-18
SLIDE 18

Fixed Points and System Properties Least Fixed Points and Possibilities

  • Possibilities (cf. Example 4.5):

– Pos(F)

min

= F ∨ ActPos(F)

– s |

= Pos(F) if a state satisfying F is reachable from s

  • Now: formalise argument and prove its correctness (for arbitrary LTSs)
  • Let pos : 2S → 2S : T → F ∪ ·Act·(T) be the corresponding semantic function
  • By Lemma 5.9, fix(pos) = {T ⊆ S | pos(T) ⊆ T}
  • Direct formulation of possibility property:

Pos = {s ∈ S | ∃w ∈ Act∗, s′ ∈ F : s

w

− → s′}

Theorem 6.2 For every LTS (S, Act, −

→), Pos = fix(pos) holds.

Proof. similar to Theorem 6.1

8 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-19
SLIDE 19

Mutually Recursive Equational Systems Outline of Lecture 6 Recap: Fixed-Point Theory Fixed Points and System Properties Mutually Recursive Equational Systems Mixing Least and Greatest Fixed Points

9 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-20
SLIDE 20

Mutually Recursive Equational Systems Introducing Several Variables Sometimes necessary: using more than one variable Example 6.3 “It is always the case that a process can perform an a-labelled transition leading to a state where b-transitions can be executed forever.”

10 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-21
SLIDE 21

Mutually Recursive Equational Systems Introducing Several Variables Sometimes necessary: using more than one variable Example 6.3 “It is always the case that a process can perform an a-labelled transition leading to a state where b-transitions can be executed forever.” can be specified by Inv(aForever(b)) where Inv(F)

max

= F ∧ [Act]Inv(F)

(cf. Theorem 6.1) Forever(b)

max

= bForever(b)

10 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-22
SLIDE 22

Mutually Recursive Equational Systems Syntax of Mutually Recursive Equational Systems Definition 6.4 (Syntax of mutually recursive equational systems) Let X = {X1, . . . , Xn} be a set of variables. The set HMF X of Hennessy-Milner formulae over X is defined by the following syntax: F ::= Xi (variable)

|

tt (true)

|

ff (false)

|

F1 ∧ F2 (conjunction)

|

F1 ∨ F2 (disjunction)

| αF

(diamond)

| [α]F

(box) where 1 ≤ i ≤ n and α ∈ Act. A mutually recursive equational system has the form

(Xi = FXi | 1 ≤ i ≤ n)

where FXi ∈ HMF X for every 1 ≤ i ≤ n.

11 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-23
SLIDE 23

Mutually Recursive Equational Systems Semantics of Recursive Equational Systems I As before: semantics of formula depends on states satisfying the variables Definition 6.5 (Semantics of mutually recursive equational systems) Let (S, Act, −

→) be an LTS and E = (Xi = FXi | 1 ≤ i ≤ n) a mutually recursive

equational system. The semantics of E, E : (2S)n → (2S)n, is defined by

E(T1, . . . , Tn) := (FX1(T1, . . . , Tn), . . . , FXn(T1, . . . , Tn))

where

Xi(T1, . . . , Tn) := Ti tt(T1, . . . , Tn) := S ff(T1, . . . , Tn) := ∅ F1 ∧ F2(T1, . . . , Tn) := F1(T1, . . . , Tn) ∩ F2(T1, . . . , Tn) F1 ∨ F2(T1, . . . , Tn) := F1(T1, . . . , Tn) ∪ F2(T1, . . . , Tn) αF(T1, . . . , Tn) := ·α·(F(T1, . . . , Tn)) [α]F(T1, . . . , Tn) := [·α·](F(T1, . . . , Tn))

12 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-24
SLIDE 24

Mutually Recursive Equational Systems Semantics of Recursive Equational Systems II Lemma 6.6 Let (S, Act, −

→) be a finite LTS and E = (Xi = FXi | 1 ≤ i ≤ n) a mutually

recursive equational system. Let (D, ⊑) be given by D := (2S)n and

(T1, . . . , Tn) ⊑ (T ′

1, . . . , T ′ n)

iff Ti ⊆ T ′

i for every 1 ≤ i ≤ n.

13 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-25
SLIDE 25

Mutually Recursive Equational Systems Semantics of Recursive Equational Systems II Lemma 6.6 Let (S, Act, −

→) be a finite LTS and E = (Xi = FXi | 1 ≤ i ≤ n) a mutually

recursive equational system. Let (D, ⊑) be given by D := (2S)n and

(T1, . . . , Tn) ⊑ (T ′

1, . . . , T ′ n)

iff Ti ⊆ T ′

i for every 1 ≤ i ≤ n.

  • 1. (D, ⊑) is a complete lattice with

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

13 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-26
SLIDE 26

Mutually Recursive Equational Systems Semantics of Recursive Equational Systems II Lemma 6.6 Let (S, Act, −

→) be a finite LTS and E = (Xi = FXi | 1 ≤ i ≤ n) a mutually

recursive equational system. Let (D, ⊑) be given by D := (2S)n and

(T1, . . . , Tn) ⊑ (T ′

1, . . . , T ′ n)

iff Ti ⊆ T ′

i for every 1 ≤ i ≤ n.

  • 1. (D, ⊑) is a complete lattice with

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

  • 2. E is monotonic w.r.t. (D, ⊑)

13 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-27
SLIDE 27

Mutually Recursive Equational Systems Semantics of Recursive Equational Systems II Lemma 6.6 Let (S, Act, −

→) be a finite LTS and E = (Xi = FXi | 1 ≤ i ≤ n) a mutually

recursive equational system. Let (D, ⊑) be given by D := (2S)n and

(T1, . . . , Tn) ⊑ (T ′

1, . . . , T ′ n)

iff Ti ⊆ T ′

i for every 1 ≤ i ≤ n.

  • 1. (D, ⊑) is a complete lattice with

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

  • 2. E is monotonic w.r.t. (D, ⊑)
  • 3. fix(E) = Em(∅, . . . , ∅) for some m ∈ N
  • 4. FIX(E) = EM(S, . . . , S) for some M ∈ N

13 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-28
SLIDE 28

Mutually Recursive Equational Systems Semantics of Recursive Equational Systems II Lemma 6.6 Let (S, Act, −

→) be a finite LTS and E = (Xi = FXi | 1 ≤ i ≤ n) a mutually

recursive equational system. Let (D, ⊑) be given by D := (2S)n and

(T1, . . . , Tn) ⊑ (T ′

1, . . . , T ′ n)

iff Ti ⊆ T ′

i for every 1 ≤ i ≤ n.

  • 1. (D, ⊑) is a complete lattice with

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

{(T i

1, . . . , T i n) | i ∈ I} = {T i 1 | i ∈ I}, . . . , {T i n | i ∈ I}

  • 2. E is monotonic w.r.t. (D, ⊑)
  • 3. fix(E) = Em(∅, . . . , ∅) for some m ∈ N
  • 4. FIX(E) = EM(S, . . . , S) for some M ∈ N

Proof.

  • mitted

13 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-29
SLIDE 29

Mutually Recursive Equational Systems A Mutually Recursive Specification Example 6.7 s s1 s2 s3 a b a a b

  • Let S := {s, s1, s2, s3} and E given by

X = aY ∧ [a]Y ∧ [b]ff Y = bX ∧ [b]X ∧ [a]ff

14 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-30
SLIDE 30

Mutually Recursive Equational Systems A Mutually Recursive Specification Example 6.7 s s1 s2 s3 a b a a b

  • Let S := {s, s1, s2, s3} and E given by

X = aY ∧ [a]Y ∧ [b]ff Y = bX ∧ [b]X ∧ [a]ff

  • Interpretation:

– X: “has no b-successor and ≥ 1 a-successors that all satisfy Y” – Y: “has no a-successor and ≥ 1 b-successors that all satisfy X”

14 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-31
SLIDE 31

Mutually Recursive Equational Systems A Mutually Recursive Specification Example 6.7 s s1 s2 s3 a b a a b

  • Let S := {s, s1, s2, s3} and E given by

X = aY ∧ [a]Y ∧ [b]ff Y = bX ∧ [b]X ∧ [a]ff

  • Interpretation:

– X: “has no b-successor and ≥ 1 a-successors that all satisfy Y” – Y: “has no a-successor and ≥ 1 b-successors that all satisfy X”

⇒ expected: X = {s}, Y = {s1}

14 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-32
SLIDE 32

Mutually Recursive Equational Systems A Mutually Recursive Specification Example 6.7 s s1 s2 s3 a b a a b

  • Let S := {s, s1, s2, s3} and E given by

X = aY ∧ [a]Y ∧ [b]ff Y = bX ∧ [b]X ∧ [a]ff

  • Interpretation:

– X: “has no b-successor and ≥ 1 a-successors that all satisfy Y” – Y: “has no a-successor and ≥ 1 b-successors that all satisfy X”

⇒ expected: X = {s}, Y = {s1}

  • Computation of FIX(E): on the board

14 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-33
SLIDE 33

Mixing Least and Greatest Fixed Points Outline of Lecture 6 Recap: Fixed-Point Theory Fixed Points and System Properties Mutually Recursive Equational Systems Mixing Least and Greatest Fixed Points

15 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-34
SLIDE 34

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points I

  • So far: least/greatest fixed point of overall system
  • But: too restrictive

16 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-35
SLIDE 35

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points I

  • So far: least/greatest fixed point of overall system
  • But: too restrictive

Example 6.8 “It is possible for the system to reach a state which has a livelock (i.e., an infinite sequence of internal steps).”

16 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-36
SLIDE 36

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points I

  • So far: least/greatest fixed point of overall system
  • But: too restrictive

Example 6.8 “It is possible for the system to reach a state which has a livelock (i.e., an infinite sequence of internal steps).” can be specified by Pos(Livelock) where Pos(F)

min

= F ∨ ActPos(F)

(cf. Theorem 6.2) Livelock

max

= τLivelock

(thus, Livelock ≡ Forever(τ) [cf. Example 6.3])

16 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-37
SLIDE 37

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-38
SLIDE 38

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour Example 6.9 E : X

min

= Y

Y

max

= X

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-39
SLIDE 39

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour Example 6.9 E : X

min

= Y

Y

max

= X

Fixed-point iteration:

(⊥, ⊤) = (∅, S)

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-40
SLIDE 40

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour Example 6.9 E : X

min

= Y

Y

max

= X

Fixed-point iteration:

(⊥, ⊤) = (∅, S)

E

→ (S, ∅)

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-41
SLIDE 41

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour Example 6.9 E : X

min

= Y

Y

max

= X

Fixed-point iteration:

(⊥, ⊤) = (∅, S)

E

→ (S, ∅)

E

→ (∅, S)

E

→ . . .

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-42
SLIDE 42

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour Example 6.9 E : X

min

= Y

Y

max

= X

Fixed-point iteration:

(⊥, ⊤) = (∅, S)

E

→ (S, ∅)

E

→ (∅, S)

E

→ . . .

Solution: nesting of specifications by partitioning equations into a sequence of blocks such that all equations in one block

  • are of same type (either min or max) and
  • use only variables defined in the same or subsequent blocks

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-43
SLIDE 43

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points II Caveat: arbitrary mixing can entail non-monotonic behaviour Example 6.9 E : X

min

= Y

Y

max

= X

Fixed-point iteration:

(⊥, ⊤) = (∅, S)

E

→ (S, ∅)

E

→ (∅, S)

E

→ . . .

Solution: nesting of specifications by partitioning equations into a sequence of blocks such that all equations in one block

  • are of same type (either min or max) and
  • use only variables defined in the same or subsequent blocks

= ⇒ bottom-up, block-wise evaluation by fixed-point iteration

17 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-44
SLIDE 44

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-45
SLIDE 45

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-46
SLIDE 46

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-47
SLIDE 47

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q} → {p}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-48
SLIDE 48

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q} → {p} → {p}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-49
SLIDE 49

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q} → {p} → {p}

  • 2. Least fixed-point iteration for PosLL : T → {p} ∪ ·Act·(T):

⊥ = ∅

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-50
SLIDE 50

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q} → {p} → {p}

  • 2. Least fixed-point iteration for PosLL : T → {p} ∪ ·Act·(T):

⊥ = ∅ → {p}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-51
SLIDE 51

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q} → {p} → {p}

  • 2. Least fixed-point iteration for PosLL : T → {p} ∪ ·Act·(T):

⊥ = ∅ → {p} → {s, p}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-52
SLIDE 52

Mixing Least and Greatest Fixed Points Mixing Least and Greatest Fixed Points III Example 6.10 (cf. Example 6.8) PosLL

min

= Livelock ∨ ActPosLL

Livelock

max

= τLivelock

s p q r a

τ τ τ

  • 1. Greatest fixed-point iteration for Livelock : T → ·τ·(T):

⊤ = S = {s, p, q, r} → {p, q} → {p} → {p}

  • 2. Least fixed-point iteration for PosLL : T → {p} ∪ ·Act·(T):

⊥ = ∅ → {p} → {s, p} → {s, p}

18 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-53
SLIDE 53

Mixing Least and Greatest Fixed Points The Modal µ-Calculus

  • Logic that supports free mixing of least and greatest fixed points:

– D. Kozen: Results on the Propositional µ-Calculus, Theoretical Computer Science 27, 1983, 333–354

19 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-54
SLIDE 54

Mixing Least and Greatest Fixed Points The Modal µ-Calculus

  • Logic that supports free mixing of least and greatest fixed points:

– D. Kozen: Results on the Propositional µ-Calculus, Theoretical Computer Science 27, 1983, 333–354

  • HML variants are fragments thereof
  • Expressivity increases with alternation of least and greatest fixed points:

– J.C. Bradfield: The Modal Mu-Calculus Alternation Hierarchy is Strict, Theoretical Computer Science 195(2), 1998, 133–153

19 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-55
SLIDE 55

Mixing Least and Greatest Fixed Points The Modal µ-Calculus

  • Logic that supports free mixing of least and greatest fixed points:

– D. Kozen: Results on the Propositional µ-Calculus, Theoretical Computer Science 27, 1983, 333–354

  • HML variants are fragments thereof
  • Expressivity increases with alternation of least and greatest fixed points:

– J.C. Bradfield: The Modal Mu-Calculus Alternation Hierarchy is Strict, Theoretical Computer Science 195(2), 1998, 133–153

  • Decidable model-checking problem for finite LTSs

(in NP ∩ co-NP; linear for HML with one variable)

  • Generally undecidable for infinite LTSs and HML with one variable (CCS, Petri nets, ...)

19 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems

slide-56
SLIDE 56

Mixing Least and Greatest Fixed Points The Modal µ-Calculus

  • Logic that supports free mixing of least and greatest fixed points:

– D. Kozen: Results on the Propositional µ-Calculus, Theoretical Computer Science 27, 1983, 333–354

  • HML variants are fragments thereof
  • Expressivity increases with alternation of least and greatest fixed points:

– J.C. Bradfield: The Modal Mu-Calculus Alternation Hierarchy is Strict, Theoretical Computer Science 195(2), 1998, 133–153

  • Decidable model-checking problem for finite LTSs

(in NP ∩ co-NP; linear for HML with one variable)

  • Generally undecidable for infinite LTSs and HML with one variable (CCS, Petri nets, ...)
  • Overview paper:

– O. Burkart, D. Caucal, F. Moller, B. Steffen: Verification on Infinite Structures, Chapter 9 of Handbook of Process Algebra, Elsevier, 2001, 545–623

19 of 19 Concurrency Theory Winter Semester 2019/20 Lecture 6: Mutually Recursive Equational Systems