Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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])
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])
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])
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])
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])
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])
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
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
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) //
⇠ =
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) //
⇠ =
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) //
⇠ =
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) //
⇠ =
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) //
⇠ =
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) //
⇠ =
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) //
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
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
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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
⇠ =
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!
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
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
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
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>=
>;
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
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
= ⌃⇤
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
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
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
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
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
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)
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
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
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)
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
⇠ =
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
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
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
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
⇠ = ⇠ =
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
⇠ = ⇠ =
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
⇠ = ⇠ =
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,
⇠ = ⇠ =
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
⇠ = ⇠ =
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
⇠ = ⇠ =
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
⇠ = ⇠ =
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
=⌫=µ =⌫⇠ = ⇠ = ⇠ =
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
⌃!
⇠ =
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
⌃!
⇠ =
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
⌃!
⇠ =
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
⌃!
⇠ =
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
⌃!
⇠ =
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
=⌫=µ =⌫⇠ = ⇠ = ⇠ =
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
(
⇠ = ⇠ = ⇠ =
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
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
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
=⌫=µ =⌫⇠ = ⇠ = ⇠ =
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
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
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
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
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
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
=⌫=µ =⌫⇠ = ⇠ = ⇠ =
Natsuki Urabe (U. Tokyo) / 28!29
Natsuki Urabe (U. Tokyo) / 28!30