reactive systems - theory of fixed points and …hs/aktivitaeten/2011_vino... · theory of fixed...

50
Reactive Systems Theory of Fixed Points and Bisimulation Equivalence Liam O’Reilly VINO 2011 — 15.07.2011 Swansea University, UK

Upload: duongcong

Post on 13-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Reactive SystemsTheory of Fixed Points and Bisimulation Equivalence

Liam O’Reilly

VINO 2011 — 15.07.2011

Swansea University, UK

Overview

1. Background: Partially Ordered Sets & Complete Lattices

2. Theory: Tarski’s Fixed Point Theorem

3. Application: Bisimulation as a Fixed Point

Partially Ordered Sets &Complete Lattices

Posets

DefinitionA partially ordered set (poset) is a pair (D,v) where D is a setand v is a binary relation over D (i.e., v ⊆ D × D), such that

I v is reflexive i.e., d v d ,

I v is antisymmetric i.e., d v e and e v d implies d = e, and

I v is transitive i.e., d v e and e v d ′ implies d v d ′.

Moreover (D,v) is a totally ordered set iff for all d , e ∈ D, eitherd v e or e v d holds.

Posets Examples

Examples

The following are posets

I (N,≤),

I (R,≤), and

I (A∗,≤) (where ≤ is prefix ordering).

QuestionIs the poset (2S ,⊆) totally ordered?

AnswerNo: {1, 2} * {3, 4} and {3, 4} * {1, 2}.

Posets Examples

Examples

The following are posets

I (N,≤),

I (R,≤), and

I (A∗,≤) (where ≤ is prefix ordering).

QuestionIs the poset (2S ,⊆) totally ordered?

AnswerNo: {1, 2} * {3, 4} and {3, 4} * {1, 2}.

Least Upper Bounds & Greatest Lower Bounds

DefinitionLet (D,v) be a poset and X ⊆ D.

I d ∈ D is an upper bound for X iff x v d for all x ∈ X .I d ∈ D is the least upper bound (lub) of X (written tX ) iff

I d is an upper bound for X , andI d v d ′ for every d ′ ∈ D that is an upper bound for X .

I d ∈ D is a lower bound for X iff d v x for all x ∈ X .I d ∈ D is the greatest lower bound (glb) of X (written uX ) iff

I d is a lower bound for X , andI d ′ v d for every d ′ ∈ D that is a lower bound for X .

Example

In (2S ,⊆), every subset X of 2S has a lub and glb given by⋃

Xand

⋂X , respectively.

Complete Lattices

DefinitionA poset (D,v) is a complete lattice iff tX and uX exist for everysubset X of D.

A complete lattice (D,v) has

I a least element ⊥ := uD (called bottom), and

I a greatest element > := tD (called top).

Examples

I In (2S ,v), ⊥ = ∅ and > = S .

I (N,≤) is not a complete lattice: there is no lub for infinitesubsets of N.

I (N ∪ {∞},≤) is a complete lattice.

A Nice Picture of a Complete Lattice

Let S = {1, 2, 3}, then (2S ,⊆) can be drawn as:

{1, 2, 3}

{1, 3}{1, 2} {2, 3}

{2}{1} {3}

Tarski’s Fixed Point Theorem

Monotonic Functions & Fixed Points

DefinitionLet (D,v) be a poset. A function f : D → D is monotonic iffd v d ′ implies f (d) v f (d ′) for all d , d ′ ∈ D.

An element d ∈ D is a fixed point iff d = f (d).

Example

The function f : 2N → 2N, defined for each X ⊆ N, by

f (X ) := X ∪ {1, 2}

is monotonic. The set {1, 2} is a fixed point of f .

QuestionCan you give another fixed point for f ?

AnswerThe set of all fixed points of f is {X ⊆ N | {1, 2} ⊆ X}.

Monotonic Functions & Fixed Points

DefinitionLet (D,v) be a poset. A function f : D → D is monotonic iffd v d ′ implies f (d) v f (d ′) for all d , d ′ ∈ D.

An element d ∈ D is a fixed point iff d = f (d).

Example

The function f : 2N → 2N, defined for each X ⊆ N, by

f (X ) := X ∪ {1, 2}

is monotonic. The set {1, 2} is a fixed point of f .

QuestionCan you give another fixed point for f ?

AnswerThe set of all fixed points of f is {X ⊆ N | {1, 2} ⊆ X}.

Tarski’s Fixed Point Theorem

TheoremLet (D,v) be a complete lattice and f : D → D be a monotonicfunction. Then f has a largest fixed point zmax and a least fixedpoint zmin given by

zmax = t{x ∈ D | x v f (x)},zmin = u{x ∈ D | f (x) v x}.

We prove zmax is the largest fixed point of f . To this end weprove:

1. zmax is a fixed point of f , i.e., zmax = f (zmax), and

2. For every d ∈ D that is a fixed point of f , it holds thatd v zmax .

Tarski’s Fixed Point Theorem

TheoremLet (D,v) be a complete lattice and f : D → D be a monotonicfunction. Then f has a largest fixed point zmax and a least fixedpoint zmin given by

zmax = t{x ∈ D | x v f (x)},zmin = u{x ∈ D | f (x) v x}.

We prove zmax is the largest fixed point of f . To this end weprove:

1. zmax is a fixed point of f , i.e., zmax = f (zmax), and

2. For every d ∈ D that is a fixed point of f , it holds thatd v zmax .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.

Thus for every x ∈ A we have:x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.

Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .

Thus x v f (x) v f (zmax) by definition of A.Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.

As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).

Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.

Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem

Let A = {x ∈ D | x v f (x)}.

Proof that zmax is a fixed point of f , i.e., zmax = f (zmax)

To this end we show 1) zmax v f (zmax) and 2) f (zmax) v zmax .

1. We have that zmax = tA.Thus for every x ∈ A we have:

x v zmax as zmax is an upper bound of A.Thus f (x) v f (zmax) by monotonicity of f .Thus x v f (x) v f (zmax) by definition of A.

Thus f (zmax) is an upper bound for A.As zmax is the lub of A, we know zmax v f (zmax).

2. By 1) and monotonicity of f we have f (zmax) v f (f (zmax)).Thus f (zmax) ∈ A.Thus f (zmax) v zmax as zmax is an upper bound for A.

Thus zmax is a fixed point of f .

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .Then we have d v f (d).Therefore d ∈ A.Thus d v zmax as zmax is an upper bound for A.Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .

Then we have d v f (d).Therefore d ∈ A.Thus d v zmax as zmax is an upper bound for A.Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .Then we have d v f (d).

Therefore d ∈ A.Thus d v zmax as zmax is an upper bound for A.Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .Then we have d v f (d).Therefore d ∈ A.

Thus d v zmax as zmax is an upper bound for A.Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .Then we have d v f (d).Therefore d ∈ A.Thus d v zmax as zmax is an upper bound for A.

Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .Then we have d v f (d).Therefore d ∈ A.Thus d v zmax as zmax is an upper bound for A.Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Proof of Tarski’s Fixed Point Theorem (Cont)

Reminder: A = {x ∈ D | x v f (x)}.

Proof that for every fixed point d ∈ D, it holds d v zmax

Let d be any fixed point of f .Then we have d v f (d).Therefore d ∈ A.Thus d v zmax as zmax is an upper bound for A.Thus zmax is the largest fixed point of f .

The proof that zmin is a least fixed point of f follows the samepattern.

Tarski’s Fixed Point Theorem Applied to (2S ,⊆)

Let S be a set and f : S → S be a monotonic function. ByTarski’s theorem we get

I zmax =⋃{X ⊆ S | X ⊆ f (X )}, and

I zmin =⋂{X ⊆ S | f (X ) ⊆ X}.

Example

The function f : 2N → 2N, defined for each X ⊆ N, by

f (X ) := X ∪ {1, 2}

is monotonic. By Tarski’s theorem we get

I zmax =⋃{X ⊆ N | X ⊆ X ∪ {1, 2}} = N, and

I zmin =⋂{X ⊆ N | X ∪ {1, 2} ⊆ X} = {1, 2}.

Definition: f n

DefinitionLet D be a set, d ∈ D, and f : D → D. For each natural numbern, we define f n(d) as

f 0(d) = df n+1(d) = f (f n(d))

Fixed Point Computation

TheoremLet (D,v) be a finite complete lattice and let f : D → D be amonotonic function.

I The least fixed point of f is obtained as zmin = f m(⊥) forsome natural number m.

I The greatest fixed point of f is obtained as zmax = f M(>) forsome natural number M.

Fixed Point Computation Proof

Proof.As f is monotonic we have the following non-decreasing sequenceof elements

⊥ v f (⊥) v f 2(⊥) v . . . f i (⊥) v f i+1(⊥) v . . .

As D is finite the sequence must eventually be constant, i.e., thereexists m such that f k(⊥) = f m(⊥) for all k ≥ m. In particular

f (f m(⊥)) = f m+1(⊥) = f m(⊥)

i.e., f m(⊥) is a fixed point.

Let d be a fixed point for f . Therefore we have ⊥ v d and thusf (⊥) v f (d) = d . Repeat m− 1 times to obtain f m(d) v d . Thusf m(d) is the least (greatest) fixed point for f .

Fixed Point Computation Example

To compute the least (greatest) fixed point of f for a finitecomplete lattice, start with ⊥ (>) and keep applying f until youreach a fixed point. This will be the least fixed point.

Example

Consider the function f : 2{0,1} → 2{0,1} defined as

f (X ) = X ∪ {0}.

f is monotonic and (2{0,1},⊆) is a complete lattice with ⊥ = ∅and > = {1, 2}.

I Least fixed point:f (∅) = ∅ ∪ {0} = {0}f ({0}) = {0} ∪ {0} = {0}

I Greatest fixed point:f ({0, 1}) = {0, 1} ∪ {0} = {0, 1}

Bisimulation as a Fixed Point

Strong Bisimulation Recap

Let (Proc,Act, { α→| α ∈ Act}) be an LTS (throughout this talk)

R ⊆ Proc × Proc is a strong bisimulation iffwhenever (p, q) ∈ R then

I pα→ p′ implies q

α→ q′ for some q′ such that (p′, q′) ∈ R, and

I qα→ q′ implies p

α→ p′ for some p′ such that (p′, q′) ∈ R.

Strong bisimulation equivalence ∼ is defined as

∼:=⋃{R ∈ 2Proc×Proc | R is a strong bisimulation}.

Building a New Strong Bisimulation as a Fixed Point

First note that (2Proc×Proc ,⊆) is a complete lattice with⋃

and⋂

as lub and glb.

Let R be a relation over Proc (i.e., R ∈ 2Proc×Proc).Define F(R) by the following:(p, q) ∈ F(R) for all p, q ∈ Proc iff

I pα→ p′ implies q

α→ q′ for some q′ such that (p′, q′) ∈ R, and

I qα→ q′ implies p

α→ p′ for some p′ such that (p′, q′) ∈ R.

Idea: F(R) contains all the pairs of processes (states) from which,in one round of the bisimulation game, the defender can make surethat the players reach a current (state) already in R.

Tricky Part

Convince yourself that

R is a bisimulation iff R ⊆ F(R).

When you accept this we then have:

∼=⋃{R ∈ 2Proc×Proc | R ⊆ F(R)}.

Compare to Tarski’s zmax :

zmax = t{x ∈ D | x v f (x)}.

Thus ∼ is the largest fixed point of F .

Even better: if Proc is finite then ∼= FM(Proc × Proc) for somenatural number M ≥ 0.

Tricky Part

Convince yourself that

R is a bisimulation iff R ⊆ F(R).

When you accept this we then have:

∼=⋃{R ∈ 2Proc×Proc | R ⊆ F(R)}.

Compare to Tarski’s zmax :

zmax = t{x ∈ D | x v f (x)}.

Thus ∼ is the largest fixed point of F .

Even better: if Proc is finite then ∼= FM(Proc × Proc) for somenatural number M ≥ 0.

Tricky Part

Convince yourself that

R is a bisimulation iff R ⊆ F(R).

When you accept this we then have:

∼=⋃{R ∈ 2Proc×Proc | R ⊆ F(R)}.

Compare to Tarski’s zmax :

zmax = t{x ∈ D | x v f (x)}.

Thus ∼ is the largest fixed point of F .

Even better: if Proc is finite then ∼= FM(Proc × Proc) for somenatural number M ≥ 0.

An Algorithm for Bisimulation

To compute ∼ for finite LTS evaluate the non-increasing sequence

> = f 0(Proc ×Proc) ⊇ f 1(Proc ×Proc) ⊇ f 2(Proc ×Proc) ⊇ . . .

until the sequence stabilises.

A Final Example

Q1 := b.Q2 + a.Q3

Q2 := c .Q4

Q3 := c .Q4

Q4 := b.Q2 + a.Q3 + a.Q1

Q1 Q2

Q3 Q4

b

a c

c

b

a

a

Let’s compute the largest strong bisimulation of this LTS.

F0(Proc × Proc) = Proc × ProcF1(Proc × Proc) = {(Q1,Q4), (Q4,Q1), (Q2,Q3), (Q3,Q2)} ∪ IF2(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ IF3(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ I = F2(Proc × Proc)

A Final Example

Q1 := b.Q2 + a.Q3

Q2 := c .Q4

Q3 := c .Q4

Q4 := b.Q2 + a.Q3 + a.Q1

Q1 Q2

Q3 Q4

b

a c

c

b

a

a

Let’s compute the largest strong bisimulation of this LTS.F0(Proc × Proc) = Proc × Proc

F1(Proc × Proc) = {(Q1,Q4), (Q4,Q1), (Q2,Q3), (Q3,Q2)} ∪ IF2(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ IF3(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ I = F2(Proc × Proc)

A Final Example

Q1 := b.Q2 + a.Q3

Q2 := c .Q4

Q3 := c .Q4

Q4 := b.Q2 + a.Q3 + a.Q1

Q1 Q2

Q3 Q4

b

a c

c

b

a

a

Let’s compute the largest strong bisimulation of this LTS.F0(Proc × Proc) = Proc × ProcF1(Proc × Proc) = {(Q1,Q4), (Q4,Q1), (Q2,Q3), (Q3,Q2)} ∪ I

F2(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ IF3(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ I = F2(Proc × Proc)

A Final Example

Q1 := b.Q2 + a.Q3

Q2 := c .Q4

Q3 := c .Q4

Q4 := b.Q2 + a.Q3 + a.Q1

Q1 Q2

Q3 Q4

b

a c

c

b

a

a

Let’s compute the largest strong bisimulation of this LTS.F0(Proc × Proc) = Proc × ProcF1(Proc × Proc) = {(Q1,Q4), (Q4,Q1), (Q2,Q3), (Q3,Q2)} ∪ IF2(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ I

F3(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ I = F2(Proc × Proc)

A Final Example

Q1 := b.Q2 + a.Q3

Q2 := c .Q4

Q3 := c .Q4

Q4 := b.Q2 + a.Q3 + a.Q1

Q1 Q2

Q3 Q4

b

a c

c

b

a

a

Let’s compute the largest strong bisimulation of this LTS.F0(Proc × Proc) = Proc × ProcF1(Proc × Proc) = {(Q1,Q4), (Q4,Q1), (Q2,Q3), (Q3,Q2)} ∪ IF2(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ IF3(Proc × Proc) = {(Q2,Q3), (Q3,Q2)} ∪ I = F2(Proc × Proc)

Summary

We have seen:

I Partially ordered sets, complete lattices, monotonic functionsand fixed points.

I Tarski’s Fixed Point Theorem.

I An application of Tarski’s Fixed Point Theorem forbisimulation.