83
Natsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics for Büchi and Parity Automata Natsuki Urabe, Shunsuke Shimizu and Ichiro Hasuo The University of Tokyo 1

Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Trace Semantics!for !

Büchi and Parity Automata

Natsuki Urabe, Shunsuke Shimizu and Ichiro Hasuo!The University of Tokyo

!1

Page 2: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Overview

!2

• Preliminary I: ! Behavioral Domain via Final Coalgebra!

• Preliminary II: ! Coalgebraic Finite & Infinitary Trace Semantics!

• Main Result:! Coalgebraic Trace Semantics for Büchi & Parity Automata!

• Related Work, Conclusions & Future Work

Page 3: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Overview

!2

• Preliminary I: ! Behavioral Domain via Final Coalgebra!

• Preliminary II: ! Coalgebraic Finite & Infinitary Trace Semantics!

• Main Result:! Coalgebraic Trace Semantics for Büchi & Parity Automata!

• Related Work, Conclusions & Future Work

Page 4: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebra

!3

• Categorical model for state-based dynamics

• Numerous theoretical & practical results

c : X ! FX C• An arrow in a category!

- F : C ! C

Page 5: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Examples

!4

• Deterministic Automaton c : X ! X⌃ ⇥ {0, 1}

• Nondeterministic Automaton c : X ! P({X} + ⌃ ⇥ X)

c : X ! (B ⇥ X)A• Mealy Machine

Page 6: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Examples

!4

• Deterministic Automaton c : X ! X⌃ ⇥ {0, 1}

• Nondeterministic Automaton c : X ! P({X} + ⌃ ⇥ X)

c : X ! (B ⇥ X)A• Mealy Machine

FX

=

FR

=

F⇡1oo F⇡2 // FY

X

c

OO

R

e

OO

⇡1oo ⇡2 // Y

d

OO

FX

=

Ff // FE

=

FYFgoo

X

c

OO

f // E

e

OO

Y

d

OO

goo

• Bisimulation

• Behavioral Equivalence

Span

Cospan

Page 7: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Behavioral Domain via Final Coalgebra

!5

Example:

Deterministic AutomatonA = (X,⌃, �,Acc)

where � : X ⇥ ⌃ ! X

FX

X

c

OO

where F = ( )⌃ ⇥ {0, 1}

Setsin

(see e.g. [J. Rutten, TCS ’00], [Jacobs,’12])

Page 8: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Behavioral Domain via Final Coalgebra

!5

Example:

Deterministic AutomatonA = (X,⌃, �,Acc)

where � : X ⇥ ⌃ ! X

FX

X

c

OO

where F = ( )⌃ ⇥ {0, 1}

SetsinFZ

Z

OOfinal

⇠ =

(see e.g. [J. Rutten, TCS ’00], [Jacobs,’12])

Page 9: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Behavioral Domain via Final Coalgebra

!5

Example:

Deterministic AutomatonA = (X,⌃, �,Acc)

where � : X ⇥ ⌃ ! X

FX

X

c

OO

where F = ( )⌃ ⇥ {0, 1}

=

F (beh(c)) //

beh(c) //unique

SetsinFZ

Z

OOfinal

⇠ =

(see e.g. [J. Rutten, TCS ’00], [Jacobs,’12])

Page 10: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Behavioral Domain via Final Coalgebra

!5

Example:

Deterministic AutomatonA = (X,⌃, �,Acc)

where � : X ⇥ ⌃ ! X

FX

X

c

OO

where F = ( )⌃ ⇥ {0, 1}

=

F (beh(c)) //

beh(c) //unique

F• For many , a final coalgebra exists

SetsinFZ

Z

OOfinal

⇠ =

(see e.g. [J. Rutten, TCS ’00], [Jacobs,’12])

Page 11: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Behavioral Domain via Final Coalgebra

!5

Example:

Deterministic AutomatonA = (X,⌃, �,Acc)

where � : X ⇥ ⌃ ! X

FX

X

c

OO

where F = ( )⌃ ⇥ {0, 1}

=

F (beh(c)) //

beh(c) //unique

F• For many , a final coalgebra exists

beh(c)• For many systems, the unique describes the behavior

SetsinFZ

Z

OOfinal

⇠ =

(see e.g. [J. Rutten, TCS ’00], [Jacobs,’12])

Page 12: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Behavioral Domain via Final Coalgebra

!5

Example:

Deterministic AutomatonA = (X,⌃, �,Acc)

where � : X ⇥ ⌃ ! X

FX

X

c

OO

where F = ( )⌃ ⇥ {0, 1}

=

F (beh(c)) //

beh(c) //unique

F• For many , a final coalgebra exists

= {0, 1}⌃⇤

Thm:beh(c)(x)(w) = 1 i↵ w is accepted by A

beh(c)• For many systems, the unique describes the behavior

SetsinFZ

Z

OOfinal

⇠ =

(see e.g. [J. Rutten, TCS ’00], [Jacobs,’12])

Page 13: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Overview

!6

• Preliminary I: ! Behavioral Domain via Final Coalgebra!

• Preliminary II: ! Coalgebraic Finite & Infinitary Trace Semantics!

• Main Result:! Coalgebraic Trace Semantics for Büchi & Parity Automata!

• Related Work, Conclusions & Future Work

Page 14: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

Setsin

Page 15: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 16: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 17: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

•   is a monadP

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 18: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

•   is a monadP Kleisli categoryK`(P)

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 19: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

f : X!p Y in K`(P)

f : X ! PY in Sets

•   is a monadP Kleisli categoryK`(P)

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 20: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

f : X!p Y in K`(P)

f : X ! PY in SetsF 0 := {X} + ⌃ ⇥ ( )where

= ⌃⇤final

K`(P)

=

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO

•   is a monadP Kleisli categoryK`(P)

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 21: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!7

A = (X,⌃, �,Acc)Nondeterministic Automaton

� ✓ X ⇥ ⌃ ⇥ Xwherewhere F = P({X} + ⌃ ⇥ ( ))

FX

X

c

OO

Final Coalgebra in Kleisli Category[Power & Turi, CTCS ’99], [Hasuo et al., ’07]

f : X!p Y in K`(P)

f : X ! PY in SetsF 0 := {X} + ⌃ ⇥ ( )where

= ⌃⇤final

K`(P)

=

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO

•   is a monadP Kleisli categoryK`(P)

SetsinFZ

Z

OO

=

F (beh(c)) //

beh(c) //

⇠ =

Page 22: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Finite Trace Semantics

!8

tr(c) : X!p ⌃⇤ in K`(P)

in Setstr(c) : X ! P⌃⇤= ⌃⇤

final

K`(P)

=

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO

in

⇠ =

Page 23: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Finite Trace Semantics

!8

tr(c) : X!p ⌃⇤ in K`(P)

in Setstr(c) : X ! P⌃⇤

Thm:tr(c) characterizes finite trace L(A)

Example:

x0 x1

a

⇡⇡ b //

b

⇡⇡

A

L(A)(x0) = a

⇤bb

= ⌃⇤final

K`(P)

=

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO

Def.For ,A = (X,⌃, �,Acc)

(a0 . . . an�1

2 ⌃⇤

�����x = x0

a0�! · · ·an�1�! xn 2 Acc

)L(A)(x) :=

finite trace semantics

in

⇠ =

Page 24: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Extension to Various Systems

!9

• !T = P

• !

F = {X} + ⌃ ⇥ ( )

final

= ⌃⇤

K`(P)

F 0 := {X} + ⌃ ⇥ ( )

where

0

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO=

in

⇠ =

Page 25: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Extension to Various Systems

!9

• !T = P

• !

F = {X} + ⌃ ⇥ ( )

final

= ⌃⇤

K`(P)

F 0 := {X} + ⌃ ⇥ ( )

where

0

- Words to Trees

F =`

i ⌃i ⇥ ( )i

(polynomial functor)

0

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO=

in

⇠ =

Page 26: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Extension to Various Systems

!9

• !T = P

• !

F = {X} + ⌃ ⇥ ( )

final

= ⌃⇤

K`(P)

T = G (the sub-Giry monad)- Nondeterministic to (generative) Probabilistic

F 0 := {X} + ⌃ ⇥ ( )

where

0

- Words to Trees

F =`

i ⌃i ⇥ ( )i

(polynomial functor)

0

F 0X �F 0(tr(c)) // F 0A

X

_c

OO

�tr(c) // A

_⇣0

OO=

in

⇠ =

Page 27: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Finite Trace Semantics

!10

final

F = {X} + ⌃ ⇥ ( )

Thm:tr(c) characterizes finite trace L(A)

(a0 . . . an�1

2 ⌃⇤

�����x = x0

a0�! · · ·an�1�! xn 2 Acc

)L(A)(x) :=

x0 x1

a

⇡⇡ b //

b

⇡⇡ L(A) = a⇤bb⇤

Example:

Finite Trace

unique

FX

=

�F (tr(c)) // F⌃⇤

X

_c

OO

�tr(c) // ⌃⇤

_⇣0

OO

K`(P)in

⇠ =

Page 28: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

Page 29: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

Page 30: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃⇤

⌃⇤

_⇣0

OO

⇠ =

Page 31: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

Sets

F⌃1

⌃1

⇣0

OOfinal

=

⌃⇤ [ ⌃!

in

⇠ =

Page 32: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Page 33: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

weakly!final

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Page 34: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

weakly!final

�F (tr1(c)) //

�tr1(c) //

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Page 35: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

weakly!final

greatest

=⌫

�F (tr1(c)) //

�tr1(c) //

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Page 36: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

[Jacobs, ’04]

weakly!final

greatest

=⌫

�F (tr1(c)) //

�tr1(c) //

f : X!p ⌃1 in K`(P)

f : X ! P⌃1 in Sets

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Page 37: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

Thm:characterizes infinitary tracetr1(c) L1(A)

[Jacobs, ’04]

weakly!final

greatest

=⌫

�F (tr1(c)) //

�tr1(c) //

f : X!p ⌃1 in K`(P)

f : X ! P⌃1 in Sets

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Page 38: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

F = {X} + ⌃ ⇥ ( )

FX

X

_c

OO

K`(P)

Coalgebraic Infinitary Trace Semantics

!11

x0 x1

a

⇡⇡ b //

b

⇡⇡

Example:

Infinitary Trace

[(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1

a1�! · · ·

)

a⇤bb⇤

Thm:characterizes infinitary tracetr1(c) L1(A)

[Jacobs, ’04]

weakly!final

greatest

=⌫

�F (tr1(c)) //

�tr1(c) //

f : X!p ⌃1 in K`(P)

f : X ! P⌃1 in Sets

L

1(A)(x) := L(A)(x)

L

1(A)(x) =

+a! + a⇤b!

0

F⌃1

⌃1

_⇣0

OO

⇠ =

Leave finality!

Page 39: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Summary

!12

• Coalgebra is a model for state-based dynamics

• Final coalgebra captures the behavior

• For nondet. & prob. automata, !- the final coalgebra in the Kleisli category captures the

finite trace semantics!- a weakly final coalgebra in the Kleisli category captures

the infinitary trace semantics

K`(P)in

FX

X

c

OO FZ

Z

OO

final=

F (beh(c)) //

beh(c) //

⇠ =

weakly!final

Setsin

FX

X

_c

OO F⌃1

⌃1

_⇣0

OO

⇠ =

�F (tr1(c)) //

�tr1(c) //

=⌫

FX

=

�F (tr(c)) // F⌃⇤

X

_c

OO

�tr(c) // ⌃⇤

_⇣0

OOfinal

Page 40: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Overview

!13

• Preliminary I: ! Behavioral Domain via Final Coalgebra!

• Preliminary II: ! Coalgebraic Finite & Infinitary Trace Semantics!

• Main Result:! Coalgebraic Trace Semantics for Büchi & Parity Automata!

• Related Work, Conclusions & Future Work

Page 41: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Büchi Automaton

!14

)

Def.

Example:

Büchi language

Ax0 x1

a%%

b##

bee

a

cc

L

B(A)(x0)

=

(w

�����w contains

infinitely many b’s

)

L

B(A)(x) :=

(a0a1 . . .

2 ⌃!

�����x = x0

a0�! x1a1�! · · ·

s.t. xk 2 Acc for inf. many k’s

)LB(A) : X ! P(⌃!)

A = (X,⌃, �,Acc)

: state spaceX : alphabet⌃� : X ! P(⌃ ⇥ X) : transition relation

: accepting statesAcc ✓ X

Page 42: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Parity Automaton

!15

A = (X, ⌃, �, p )

)

Def.

Example:

: state spaceX : alphabet⌃� : X ! P(⌃ ⇥ X) : transition relation

parity language

A

: priority function

1x1

2x2

3x3

a

EE

b((

b

EE

c((

ahh

c

EEb

hh

L

p(A)(x) :=

8<

:a0a1 . . .

2 ⌃!

������

x = x0a0�! x1

a1�! · · ·s.t. lim sup

k!1p(xk) is even

9=

;

Lp(A) : X ! P(⌃!)

p : X ! {1, . . . , 2n}

L

p(A)(x1)

=

8><

>:w

�������

w contains

infinitely many b’s, but

only finitely many c’s

9>=

>;

Page 43: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Difficulty

!16

• Büchi/parity acceptance condition considers infinite behaviors!• “Visit infinitely many times”!• “Maximum infinitely visited priority is even”

Acc

Nonlocal

Page 44: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Difficulty

!16

• Büchi/parity acceptance condition considers infinite behaviors!• “Visit infinitely many times”!• “Maximum infinitely visited priority is even”

Acc

Local

Nonlocal• Theory of coalgebra is centered around homomorphisms

stepwise correspondence⇡

FX

=

FR

=

F⇡1oo F⇡2 // FY

X

c

OO

R

e

OO

⇡1oo ⇡2 // Y

d

OO FX

=

Ff // FR

=

FYFgoo

X

c

OO

f // E

e

OO

Y

d

OO

goo

FX

=

�F (tr(c)) // FA

X

_c

OO

�tr(c) // A

_⇣0

OO

= ⌃⇤

Page 45: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Least Homomorphism?

!17

FX

=

�F (u) // F⌃⇤

X

_c

OO

�u // ⌃⇤

_⇣0

OO

Unique Homomorphism

Finite Trace!

L(A) 2 P(⌃⇤)X

Infinitary Trace!

L1(A) 2 P(⌃1)X

Page 46: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Least Homomorphism?

!17

FX

=

�F (u) // F⌃⇤

X

_c

OO

�u // ⌃⇤

_⇣0

OO

Unique Homomorphism

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Finite Trace!

L(A) 2 P(⌃⇤)X

Infinitary Trace!

L1(A) 2 P(⌃1)X

Page 47: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Least Homomorphism?

!17

FX

=

�F (u) // F⌃⇤

X

_c

OO

�u // ⌃⇤

_⇣0

OO

Unique Homomorphism

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Finite Trace!

L(A) 2 P(⌃⇤)X

Infinitary Trace!

L1(A) 2 P(⌃1)X

Page 48: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Infinitary Trace!

L1(A) 2 P(⌃1)X

Finite Trace!

L(A) 2 P(⌃⇤)X

Between the Least and Greatest

!18

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Page 49: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Infinitary Trace!

L1(A) 2 P(⌃1)X

Finite Trace!

L(A) 2 P(⌃⇤)X

Between the Least and Greatest

!18

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Page 50: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Infinitary Trace!

L1(A) 2 P(⌃1)X

Finite Trace!

L(A) 2 P(⌃⇤)X

Between the Least and Greatest

!18

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

(No infinite word) (All infinite words)

Page 51: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Infinitary Trace!

L1(A) 2 P(⌃1)X

Finite Trace!

L(A) 2 P(⌃⇤)X

Between the Least and Greatest

!18

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

(No infinite word) (All infinite words)(Accepted infinite words)

Parity Language

Lp(A) 2 P(⌃!)X

Page 52: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Intermediate

==µ

Least Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

Infinitary Trace!

L1(A) 2 P(⌃1)X

Finite Trace!

L(A) 2 P(⌃⇤)X

Between the Least and Greatest

!18

=⌫

Greatest Homomorphism

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

(No infinite word) (All infinite words)(Accepted infinite words)

Parity Language

Lp(A) 2 P(⌃!)X

Page 53: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Modeling of Parity Automaton

!19

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2npartition

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n Xi := p�1(i)

Page 54: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Modeling of Parity Automaton

!19

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2npartition

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n Xi := p�1(i)

FX �F ([u1,...,un])

// F⌃!

X

_c

OO

�u // ⌃!

_⇣

OO

=

2

⇠ =

Page 55: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Modeling of Parity Automaton

!19

= = =

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2npartition

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n Xi := p�1(i)

FX �F ([u1,...,un])

// F⌃!

X

_c

OO

�u // ⌃!

_⇣

OO

=

2

⇠ =

, , . . . ,

⇠ =⇠ =⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OOFX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

Page 56: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Modeling of Parity Automaton

!19

= = =

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2npartition

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n Xi := p�1(i)

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

⇠ =

=⌫

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

⇠ =

FX �F ([u1,...,un])

// F⌃!

X

_c

OO

�u // ⌃!

_⇣

OO

=

2

⇠ =

, , . . . ,

⇠ =⇠ =⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OOFX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

Page 57: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Coalgebraic Modeling of Parity Automaton

!19

=⌫=µ =⌫

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2npartition

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n

c : X !p ⌃ ⇥ X K`(P)in

A = (X, ⌃, �, p )parity automaton

andX = X1 + · · · + X2n Xi := p�1(i)

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

⇠ =

=⌫

FX �F (u) // F⌃1

X

_c

OO

�u // ⌃1

_⇣

OO

⇠ =

FX �F ([u1,...,un])

// F⌃!

X

_c

OO

�u // ⌃!

_⇣

OO

=

2

⇠ =

, , . . . ,

⇠ =⇠ =⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OOFX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

Page 58: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

Solution of System of Diagrams

!20

⇠ = ⇠ =

Page 59: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

=⌘

FX �F ([u1,...,ui�1,ui,ui+1,...,u2n])

// F⌃!

Xi

_ci

OO

�ui // ⌃!

_⇣

OO

⇠ =

Solution of System of Diagrams

!20

⇠ = ⇠ =

Page 60: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

=⌘

FX �F ([u1,...,ui�1,ui,ui+1,...,u2n])

// F⌃!

Xi

_ci

OO

�ui // ⌃!

_⇣

OO

⇠ =

Solution of System of Diagrams

!20

• We solve from the left to the right

⇠ = ⇠ =

Page 61: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

=⌘

FX �F ([u1,...,ui�1,ui,ui+1,...,u2n])

// F⌃!

Xi

_ci

OO

�ui // ⌃!

_⇣

OO

⇠ =

Solution of System of Diagrams

!20

• We solve from the left to the right• To solve the i’th diagram,

⇠ = ⇠ =

Page 62: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

=⌘

FX �F ([u1,...,ui�1,ui,ui+1,...,u2n])

// F⌃!

Xi

_ci

OO

�ui // ⌃!

_⇣

OO

⇠ =

Solution of System of Diagrams

!20

• We solve from the left to the right• To solve the i’th diagram,

u1, . . . , ui�1- substitute by the solutions

⇠ = ⇠ =

Page 63: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

=⌘

FX �F ([u1,...,ui�1,ui,ui+1,...,u2n])

// F⌃!

Xi

_ci

OO

�ui // ⌃!

_⇣

OO

⇠ =

Solution of System of Diagrams

!20

• We solve from the left to the right• To solve the i’th diagram,

u1, . . . , ui�1- substitute by the solutionsui+1, . . . , u2n- regard   as parameters

⇠ = ⇠ =

Page 64: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

⇠ =

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

=⌘

FX �F ([u1,...,ui�1,ui,ui+1,...,u2n])

// F⌃!

Xi

_ci

OO

�ui // ⌃!

_⇣

OO

⇠ =

Solution of System of Diagrams

!20

• c.f. [Cleaveland et al., CAV ’92], [Arnold & Niwinski, ’01]

• We solve from the left to the right• To solve the i’th diagram,

u1, . . . , ui�1- substitute by the solutionsui+1, . . . , u2n- regard   as parameters

⇠ = ⇠ =

Page 65: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

“Sanity-check Result”

!21

Thm:For a parity automaton , we defineA = (X, ⌃, �, p )

byandc : X !p ⌃ ⇥ X in K`(P) X1 + · · · + X2n = X

Let be the solution of the following system.usol

1

, . . . , usol

n

Then we have:⇥usol

1

, . . . , usol

2n

⇤= Lp(A)

c = � and .Xi := p�1(i)

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫⇠ = ⇠ = ⇠ =

Page 66: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Function

!22

�c

�c :�f : X!p ⌃!

!

�f : X!p ⌃!

X �f // ⌃!

7!FX �Ff // F⌃!

_⇣�1

✏✏X

_c

OO

⌃!

⇠ =

Page 67: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Function

!22

�c

• is a homomorphism is a fixed point of �cf f,FX �Ff // F⌃!

X

_c

OO

�f // ⌃!

_⇠ = ⇣

OO

= f = �c(f)

�c :�f : X!p ⌃!

!

�f : X!p ⌃!

X �f // ⌃!

7!FX �Ff // F⌃!

_⇣�1

✏✏X

_c

OO

⌃!

⇠ =

Page 68: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Function

!22

�c

• is a homomorphism is a fixed point of �cf f,FX �Ff // F⌃!

X

_c

OO

�f // ⌃!

_⇠ = ⇣

OO

= f = �c(f)

L1 L2

x0

x1 x2

a

ZZ

b

DD f

�c :�f : X!p ⌃!

!

�f : X!p ⌃!

X �f // ⌃!

7!FX �Ff // F⌃!

_⇣�1

✏✏X

_c

OO

⌃!

⇠ =

Page 69: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Function

!22

�c

• is a homomorphism is a fixed point of �cf f,FX �Ff // F⌃!

X

_c

OO

�f // ⌃!

_⇠ = ⇣

OO

= f = �c(f)

aL1 [ bL2

L1 L2

x0

x1 x2

a

ZZ

b

DD f

�c(f)

�c :�f : X!p ⌃!

!

�f : X!p ⌃!

X �f // ⌃!

7!FX �Ff // F⌃!

_⇣�1

✏✏X

_c

OO

⌃!

⇠ =

Page 70: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Function

!22

�c

• is a homomorphism is a fixed point of �cf f,FX �Ff // F⌃!

X

_c

OO

�f // ⌃!

_⇠ = ⇣

OO

= f = �c(f)

aL1 [ bL2

• is the one often denoted by⌃� : P(⌃!)X ! P(⌃!)X�c

L1 L2

x0

x1 x2

a

ZZ

b

DD f

�c(f)

�c :�f : X!p ⌃!

!

�f : X!p ⌃!

X �f // ⌃!

7!FX �Ff // F⌃!

_⇣�1

✏✏X

_c

OO

⌃!

⇠ =

Page 71: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!23

Fixed Point Semantics for Parity Automaton

�c

⌃�

7!

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫⇠ = ⇠ = ⇠ =

Page 72: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!23

Fixed Point Semantics for Parity Automaton

�c

⌃�

7!

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫

u1 =µ ⌃�

�[u1, u2, . . . , u2n ]

��X1 2 P(⌃!)X1

u2 =⌫ ⌃�

�[u1, u2, . . . , u2n ]

��X2 2 P(⌃!)X2

...u2n =⌫ ⌃�

�[u1, u2, . . . , u2n ]

��X2n 2 P(⌃!)X2n

(

⇠ = ⇠ = ⇠ =

Page 73: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Equational System for Parity Automaton

!24

Thm:The solution of the following equational system characterizes parity language(

⌫u2.⇣µu1.

�⌃�u1 _ (F ^ ⌃�u2)

�⌘c.f.for Büchi

u1 =µ ⌃�

�[u1, u2, . . . , u2n ]

��X1 2 P(⌃!)X1

u2 =⌫ ⌃�

�[u1, u2, . . . , u2n ]

��X2 2 P(⌃!)X2

...u2n =⌫ ⌃�

�[u1, u2, . . . , u2n ]

��X2n 2 P(⌃!)X2n

Page 74: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Equational System for Parity Automaton

!24

Thm:The solution of the following equational system characterizes parity language(

⌫u2.⇣µu1.

�⌃�u1 _ (F ^ ⌃�u2)

�⌘c.f.for Büchi

⇥usol

1

, . . . , usol

2n

⇤= Lp(A)

u1 =µ ⌃�

�[u1, u2, . . . , u2n ]

��X1 2 P(⌃!)X1

u2 =⌫ ⌃�

�[u1, u2, . . . , u2n ]

��X2 2 P(⌃!)X2

...u2n =⌫ ⌃�

�[u1, u2, . . . , u2n ]

��X2n 2 P(⌃!)X2n

Page 75: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Extension to Various Systems

!25

F = ⌃ ⇥ ( )• ! (polynomial functor)!

- Words to Trees

F =`

i ⌃i ⇥ ( )i

• (the sub-Giry monad)!- Nondeterministic to (generative) ProbabilisticT = P T = G

FX �F ([u1,...,u2n])

// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫⇠ = ⇠ = ⇠ =

Page 76: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Overview

!26

• Preliminary I: ! Behavioral Domain via Final Coalgebra!

• Preliminary II: ! Coalgebraic Finite & Infinitary Trace Semantics!

• Main Result:! Coalgebraic Trace Semantics for Büchi & Parity Automata!

• Related Work, Conclusions & Future Work

Page 77: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Related Work

!27

• Deterministic Muller automaton as a coalgebra! [Ciancia & Venema, CMCS ’12]!

- Trick with lasso characterization!➡ Coalgebra on Sets2

Page 78: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Related Work

!27

• Deterministic Muller automaton as a coalgebra! [Ciancia & Venema, CMCS ’12]!

- Trick with lasso characterization!➡ Coalgebra on Sets2

Thm: Bisimilarity and language equivalence coincide

Page 79: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Related Work

!27

• Deterministic Muller automaton as a coalgebra! [Ciancia & Venema, CMCS ’12]!

- Trick with lasso characterization!➡ Coalgebra on Sets2

- Decision procedures for complementation, union, intersection, equivalence check

Thm: Bisimilarity and language equivalence coincide

Page 80: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Related Work

!27

• Deterministic Muller automaton as a coalgebra! [Ciancia & Venema, CMCS ’12]!

- Trick with lasso characterization!➡ Coalgebra on Sets2

- Compared to our characterization:!‣ Final coalgebra exists -> well-behaved!‣ Extension to probabilistic systems seems difficult!‣ Finite-state restriction

- Decision procedures for complementation, union, intersection, equivalence check

Thm: Bisimilarity and language equivalence coincide

Page 81: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28

Conclusions

• “sanity-check” proofs!• Applications !

- e.g. coalgebraic fair simulation [U., Shimizu, Hasuo, arXiv preprint, ’16]

!28

Future Work• Extension to 2-player setting!• Extension to reactive probabilistic system

X = X1 + · · · + X2n

• Coalgebraic modeling of Büchi / parity automata

Xi := p�1(i)

• Coalgebraic characterization of their languagesFX �

F ([u1,...,u2n])// F⌃!

X1

_c1

OO

�u1 // ⌃!

_⇣

OO FX �F ([u1,...,u2n])

// F⌃!

X2

_c2

OO

�u2 // ⌃!

_⇣

OO

, , . . . ,

FX �F ([u1,...,u2n])

// F⌃!

X2n

_c2n

OO

�u2n // ⌃!

_⇣

OO

=⌫=µ =⌫⇠ = ⇠ = ⇠ =

Page 82: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!29

Page 83: Coalgebraic Trace Semantics Büchi and Parity Automata ...group-mmm.org/~nurabe/slides/concur2016_trace.pdfNatsuki Urabe (U. Tokyo) / 28 Coalgebraic Trace Semantics! for! Büchi and

Natsuki Urabe (U. Tokyo) / 28!30