SOS and Modal Logic Revisited Bartek Klin University of Cambridge, - - PowerPoint PPT Presentation

sos and modal logic
SMART_READER_LITE
LIVE PREVIEW

SOS and Modal Logic Revisited Bartek Klin University of Cambridge, - - PowerPoint PPT Presentation

SOS and Modal Logic Revisited Bartek Klin University of Cambridge, Warsaw University CMCS, Paphos, 26/03/10 SOS and distributive laws t ::= nil | a | t t a a x y y x a a x x y y a nil


slide-1
SLIDE 1

SOS and Modal Logic

Revisited

Bartek Klin University of Cambridge, Warsaw University

CMCS, Paphos, 26/03/10

slide-2
SLIDE 2

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y t ::= nil | a | t ⊗ t a

a

− → nil

slide-3
SLIDE 3

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 t ::= nil | a | t ⊗ t a

a

− → nil

slide-4
SLIDE 4

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 BX = (PωX)A t ::= nil | a | t ⊗ t a

a

− → nil

slide-5
SLIDE 5

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 BX = (PωX)A λ : ΣB = ⇒ BΣ t ::= nil | a | t ⊗ t a

a

− → nil

slide-6
SLIDE 6

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 BX = (PωX)A λ : ΣB = ⇒ BΣ t ::= nil | a | t ⊗ t a

a

− → nil λX(nil)(a) = ∅ λX(a)(b) =

  • {nil}

⇐ b = a ∅ ⇐ b = a λX(β ⊗ β′)(a) = {y ⊗ y′ | y ∈ β(a), y′ ∈ β′(a)}

slide-7
SLIDE 7

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 BX = (PωX)A λ : ΣB = ⇒ BΣ t ::= nil | a | t ⊗ t a

a

− → nil

slide-8
SLIDE 8

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 BX = (PωX)A λ : ΣB = ⇒ BΣ t ::= nil | a | t ⊗ t a

a

− → nil ΣA

a

  • Σh
  • A

h

  • ΣBA

λA

BΣA

Ba

BA

  • terms

Σ

slide-9
SLIDE 9

CMCS, Paphos, 26/03/10

/ 11

SOS and distributive laws

2

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y ΣX = 1 + A + X2 BX = (PωX)A λ : ΣB = ⇒ BΣ t ::= nil | a | t ⊗ t a

a

− → nil ΣA

a

  • Σh
  • A

h

  • ΣBA

λA

BΣA

Ba

BA

  • terms

Σ

Fact: Bisimilarity is a congruence (for any )

λ

slide-10
SLIDE 10

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ

slide-11
SLIDE 11

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ

slide-12
SLIDE 12

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅

slide-13
SLIDE 13

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅ x | = ∅ ⇐ ⇒ x − →

slide-14
SLIDE 14

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅ x | = ∅ ⇐ ⇒ x − → | φ ∧ φ

slide-15
SLIDE 15

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅ x | = ∅ ⇐ ⇒ x − → | φ ∧ φ x | = φ ∧ ψ ⇐ ⇒ x | = φ, x | = ψ

slide-16
SLIDE 16

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅ x | = ∅ ⇐ ⇒ x − → | φ ∧ φ x | = φ ∧ ψ ⇐ ⇒ x | = φ, x | = ψ

Predicate liftings: β : B(2n) → 2

2 = {tt, ff}

slide-17
SLIDE 17

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅ x | = ∅ ⇐ ⇒ x − → | φ ∧ φ x | = φ ∧ ψ ⇐ ⇒ x | = φ, x | = ψ

Predicate liftings: β : B(2n) → 2

2 = {tt, ff} ⊤(β) = tt ⊤ : B1 → 2 a : B2 → 2 a(β) = tt ⇐ ⇒ tt ∈ β(a) ∅ : B1 → 2 ∅(β) = tt ⇐ ⇒ ∀a ∈ A. β(a) = ∅

slide-18
SLIDE 18

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings

3

Modal logic:

BX = (PωX)A φ ::= ⊤ | aφ x | = ⊤ always x | = aφ ⇐ ⇒ ∃x

a

− → y. y | = φ | ∅ x | = ∅ ⇐ ⇒ x − → | φ ∧ φ x | = φ ∧ ψ ⇐ ⇒ x | = φ, x | = ψ

Predicate liftings: β : B(2n) → 2

2 = {tt, ff} ⊤(β) = tt ⊤ : B1 → 2 a : B2 → 2 a(β) = tt ⇐ ⇒ tt ∈ β(a) ∅ : B1 → 2 ∅(β) = tt ⇐ ⇒ ∀a ∈ A. β(a) = ∅ a(−1 ∧ · · · ∧ −n) : B2n → 2 a(−1 ∧ · · · ∧ −n)(β) = tt ⇐ ⇒ (tt, . . . , tt) ∈ β(a)

slide-19
SLIDE 19

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings for syntax

4

ΣX = 1 + A + X2 t ::= nil | a | t ⊗ t

slide-20
SLIDE 20

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings for syntax

4

ΣX = 1 + A + X2 t ::= nil | a | t ⊗ t T : Σ1 → 2 T(t) = tt a : Σ1 → 2 a(t) = tt ⇐ ⇒ t = a [⊗](t) = tt ⇐ ⇒ t = tt ⊗ tt ⊗(t) = tt ⇐ ⇒ t = v ⊗ v′, tt ∈ {v, v′} [⊗] : Σ2 → 2 ⊗ : Σ2 → 2

slide-21
SLIDE 21

CMCS, Paphos, 26/03/10

/ 11

Predicate liftings for syntax

4

ΣX = 1 + A + X2 t ::= nil | a | t ⊗ t T : Σ1 → 2 T(t) = tt a : Σ1 → 2 a(t) = tt ⇐ ⇒ t = a [⊗](t) = tt ⇐ ⇒ t = tt ⊗ tt ⊗(t) = tt ⇐ ⇒ t = v ⊗ v′, tt ∈ {v, v′} [⊗] : Σ2 → 2 ⊗ : Σ2 → 2 a ∨ [⊗] : Σ2 → 2

etc.

−1 ⊗ −2 : Σ22 → 2

slide-22
SLIDE 22

CMCS, Paphos, 26/03/10

/ 11

Construction of liftings

5

Variable renaming:

β : B2n → 2 f : n → m β|f : B2m → 2

slide-23
SLIDE 23

CMCS, Paphos, 26/03/10

/ 11

Construction of liftings

5

Variable renaming:

β : B2n → 2 f : n → m β|f : B2m → 2 x1 ⊗ x2 : Σ22 → 2 x ⊗ x : Σ2 → 2 [⊗]x =

slide-24
SLIDE 24

CMCS, Paphos, 26/03/10

/ 11

Construction of liftings

5

β : B2n → 2

  • σi : Σ2mi → 2
  • i=1,...,n

β(σ1, . . . , σn) : BΣ2m → 2 m = m

i=1 mi

Composition: Variable renaming:

β : B2n → 2 f : n → m β|f : B2m → 2 x1 ⊗ x2 : Σ22 → 2 x ⊗ x : Σ2 → 2 [⊗]x =

slide-25
SLIDE 25

CMCS, Paphos, 26/03/10

/ 11

Example

6

ΣX = 1 + A + X2 BX = (PωX)A [⊗] : Σ2 → 2 a : B2 → 2

slide-26
SLIDE 26

CMCS, Paphos, 26/03/10

/ 11

Example

6

ΣX = 1 + A + X2 BX = (PωX)A [⊗] : Σ2 → 2 a : B2 → 2 [⊗]a : ΣB2 → 2 a[⊗] : BΣ2 → 2

slide-27
SLIDE 27

CMCS, Paphos, 26/03/10

/ 11

Example

6

ΣX = 1 + A + X2 BX = (PωX)A [⊗] : Σ2 → 2 a : B2 → 2 [⊗]a : ΣB2 → 2 a[⊗] : BΣ2 → 2 x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y a

a

− → nil λ : ΣB = ⇒ BΣ

slide-28
SLIDE 28

CMCS, Paphos, 26/03/10

/ 11

Example

6

ΣX = 1 + A + X2 BX = (PωX)A [⊗] : Σ2 → 2 a : B2 → 2 [⊗]a : ΣB2 → 2 a[⊗] : BΣ2 → 2 x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y a

a

− → nil λ : ΣB = ⇒ BΣ a[⊗] ◦ λ2 : ΣB2 → 2

slide-29
SLIDE 29

CMCS, Paphos, 26/03/10

/ 11

Example

6

ΣX = 1 + A + X2 BX = (PωX)A [⊗] : Σ2 → 2 a : B2 → 2 [⊗]a : ΣB2 → 2 x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y a

a

− → nil λ : ΣB = ⇒ BΣ a[⊗] ◦ λ2 : ΣB2 → 2

slide-30
SLIDE 30

CMCS, Paphos, 26/03/10

/ 11

Example

6

ΣX = 1 + A + X2 BX = (PωX)A [⊗] : Σ2 → 2 a : B2 → 2 [⊗]a : ΣB2 → 2 x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y a

a

− → nil λ : ΣB = ⇒ BΣ a[⊗] ◦ λ2 : ΣB2 → 2

=

slide-31
SLIDE 31

CMCS, Paphos, 26/03/10

/ 11

Valid equations

7

β(σ1(x11, . . . , x1n1), . . . , σm(xm1, . . . , xmnm)) = σ(β1(y11, . . . , y1k1), . . . , βl(yl1, . . . , ylkl))

slide-32
SLIDE 32

CMCS, Paphos, 26/03/10

/ 11

Valid equations

7

β(σ1(x11, . . . , x1n1), . . . , σm(xm1, . . . , xmnm)) = σ(β1(y11, . . . , y1k1), . . . , βl(yl1, . . . , ylkl))

slide-33
SLIDE 33

CMCS, Paphos, 26/03/10

/ 11

Valid equations

7

β(σ1(x11, . . . , x1n1), . . . , σm(xm1, . . . , xmnm)) = σ(β1(y11, . . . , y1k1), . . . , βl(yl1, . . . , ylkl))

  • LHS defines a -lifting

  • RHS+ define a -lifting of the same arity.

ΣB

then use to get a -lifting

λ

slide-34
SLIDE 34

CMCS, Paphos, 26/03/10

/ 11

Valid equations

7

β(σ1(x11, . . . , x1n1), . . . , σm(xm1, . . . , xmnm)) = σ(β1(y11, . . . , y1k1), . . . , βl(yl1, . . . , ylkl))

  • LHS defines a -lifting

  • RHS+ define a -lifting of the same arity.

ΣB

then use to get a -lifting

λ

The equation is valid if the two -liftings are equal.

slide-35
SLIDE 35

CMCS, Paphos, 26/03/10

/ 11

Compositionality

8

  • Thm. For a family of -liftings,

(βi)i∈I B

  • find a family of -liftings,

(σj)j∈J Σ

  • for every possible LHS:

β(σ1(x11, . . . , x1n1), . . . , σm(xm1, . . . , xmnm))

  • - find an RHS

σ(β1(y11, . . . , y1k1), . . . , βl(yl1, . . . , ylkl))

s.t. the equation is valid wrt .

λ

slide-36
SLIDE 36

CMCS, Paphos, 26/03/10

/ 11

Compositionality

8

  • Thm. For a family of -liftings,

(βi)i∈I B

  • find a family of -liftings,

(σj)j∈J Σ

  • for every possible LHS:

β(σ1(x11, . . . , x1n1), . . . , σm(xm1, . . . , xmnm))

  • - find an RHS

σ(β1(y11, . . . , y1k1), . . . , βl(yl1, . . . , ylkl))

s.t. the equation is valid wrt .

λ

Then the logical equivalence defined by (βi)i∈I is a congruence on the coalgebra induced by .

λ

slide-37
SLIDE 37

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2

slide-38
SLIDE 38

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

(none)

a : B2 → 2 ⊤ : B1 → 2

slide-39
SLIDE 39

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

(none)

a : B2 → 2 ⊤ : B1 → 2 ⊤ = ?

slide-40
SLIDE 40

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 ⊤ = ? T : Σ1 → 2

slide-41
SLIDE 41

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T

slide-42
SLIDE 42

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T aT = ?

slide-43
SLIDE 43

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T aT = ? a ∨ [⊗] : Σ2 → 2

slide-44
SLIDE 44

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤

slide-45
SLIDE 45

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤ a⊤ : B1 → 2

slide-46
SLIDE 46

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤ a⊤ : B1 → 2 a⊤ = a ∨ [⊗]a⊤

slide-47
SLIDE 47

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤ a⊤ : B1 → 2 a⊤ = a ∨ [⊗]a⊤ a(b ∨ [⊗]x) = ?

slide-48
SLIDE 48

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤ a⊤ : B1 → 2 a⊤ = a ∨ [⊗]a⊤ a(b ∨ [⊗]x) = ? [⊗] : Σ2 → 2

slide-49
SLIDE 49

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤ a⊤ : B1 → 2 a⊤ = a ∨ [⊗]a⊤ [⊗] : Σ2 → 2 a(b ∨ [⊗]x) = [⊗]ax

slide-50
SLIDE 50

CMCS, Paphos, 26/03/10

/ 11

Example

9

a

a

− → nil x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y φ ::= ⊤ | aφ

  • liftings:

B

Σ-liftings:

a : B2 → 2 ⊤ : B1 → 2 T : Σ1 → 2 ⊤ = T a ∨ [⊗] : Σ2 → 2 aT = a ∨ [⊗]a⊤ a⊤ : B1 → 2 a⊤ = a ∨ [⊗]a⊤ [⊗] : Σ2 → 2 a(b ∨ [⊗]x) = [⊗]ax a[⊗]x = [⊗]ax

slide-51
SLIDE 51

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

slide-52
SLIDE 52

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

(PωX)A

slide-53
SLIDE 53

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

(PωX)A 1 + A + X2

slide-54
SLIDE 54

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

(PωX)A

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y

1 + A + X2

slide-55
SLIDE 55

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

(PωX)A

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y

1 + A + X2 ⊤, a

slide-56
SLIDE 56

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

(PωX)A

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y

1 + A + X2 T, a, [⊗] ⊤, a

slide-57
SLIDE 57

CMCS, Paphos, 26/03/10

/ 11

Gobbledygook

10

Set

  • 2−

Σ

  • B
  • Set
  • 2−
  • L
  • Γ
  • ρ

λ ζ χ

(PωX)A

x

a

− → y x

a

− → y x ⊗ x

a

− → y ⊗ y

1 + A + X2 T, a, [⊗] ⊤, a a[⊗]x [⊗]ax =

slide-58
SLIDE 58

CMCS, Paphos, 26/03/10

/ 11

Future work

11

  • Guidelines for choosing syntactic liftings/equations
  • Study complex, GSOS-like equations