a decision procedure for bisimilarity of generalized ... · a decision procedure for bisimilarity...
TRANSCRIPT
A decision procedure for bisimilarity of generalizedregular expressions
M. Bonsangue1,2 G. Caltais5 E. Goriac5 D. Lucanu4
J. Rutten1,3 A. Silva1
1Centrum Wiskunde & Informatica, The Netherlands2LIACS - Leiden University, The Netherlands
3Radboud Universiteit Nijmegen, The Netherlands4Faculty of Computer Science - Alexandru Ioan Cuza University, Romania
5School of Computer Science - Reykjavik University, Iceland
SBMF’10, November 2010
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 1 / 23
Motivation
Deterministic automata (DA)Widely used model inComputer Science.Acceptors of languages
Regular expressionsUser-friendly alternative to DAnotation.Many applications: patternmatching (grep), specificationof circuits, . . .
Kleene’s TheoremLet A ⊆ Σ∗. The following are equivalent.
1 A = L(A), for some finite automaton A.2 A = L(r), for some regular expression r .
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 2 / 23
Motivation
Deterministic automata (DA)Widely used model inComputer Science.Acceptors of languages
Regular expressionsUser-friendly alternative to DAnotation.Many applications: patternmatching (grep), specificationof circuits, . . .
Kleene’s TheoremLet A ⊆ Σ∗. The following are equivalent.
1 A = L(A), for some finite automaton A.2 A = L(r), for some regular expression r .
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 2 / 23
Motivation
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 3 / 23
Motivation
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 3 / 23
Motivation
Can we fill the ? in the diagram?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 3 / 23
In previous work . . .
We presented:a generalized notion of regular expressions;an analogue of Kleene’s theorem;and sound and complete axiomatizations with respect tobisimilarity
for a large class of systems (labelled transition systems, Mealymachines, probabilistic automata).
All the above was derived modularly from the type of each system.
Question: Can we automate the reasoning on equivalence ofexpressions, also in a modular way?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 4 / 23
In previous work . . .
We presented:a generalized notion of regular expressions;an analogue of Kleene’s theorem;and sound and complete axiomatizations with respect tobisimilarity
for a large class of systems (labelled transition systems, Mealymachines, probabilistic automata).
All the above was derived modularly from the type of each system.
Question: Can we automate the reasoning on equivalence ofexpressions, also in a modular way?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 4 / 23
In previous work . . .
We presented:a generalized notion of regular expressions;an analogue of Kleene’s theorem;and sound and complete axiomatizations with respect tobisimilarity
for a large class of systems (labelled transition systems, Mealymachines, probabilistic automata).
All the above was derived modularly from the type of each system.
Question: Can we automate the reasoning on equivalence ofexpressions, also in a modular way?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 4 / 23
The ultimate goal. . .
TOOLType of the system
1) Specification language & axioms
2) Algorithms to convert expressions to systems and back
3) Integrated environment to automatically decide whether two expressions are
equivalent
In this talk, we will be focusing on 1) and 3).
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 5 / 23
The ultimate goal. . .
TOOLType of the system
1) Specification language & axioms
2) Algorithms to convert expressions to systems and back
3) Integrated environment to automatically decide whether two expressions are
equivalent
In this talk, we will be focusing on 1) and 3).
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 5 / 23
Outline
Generalized regular expressionsEquivalence of expressionsSnapshot of the tool
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 6 / 23
What do these things have in common?
(S, δ : S → 2× SA)
(S, δ : S → (B × S)A)
(S, δ : S → 1 + (PS)A)
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 7 / 23
What do these things have in common?
(S, δ : S → 2× SA)
(S, δ : S → (B × S)A)
(S, δ : S → 1 + (PS)A)
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 7 / 23
What do these things have in common?
(S, δ : S → 2× SA)
(S, δ : S → (B × S)A)
(S, δ : S → 1 + (PS)A)
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 7 / 23
What do these things have in common?
(S, δ : S → 2× SA)
(S, δ : S → (B × S)A)
(S, δ : S → 1 + (PS)A)
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 7 / 23
What do these things have in common?
(S, δ : S → 2×SA)
(S, δ : S → (B×S)A)
(S, δ : S → 1 + (PS)A)
(S, δ : S → GS)
G-coalgebras
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 8 / 23
What do these things have in common?
(S, δ : S → 2×SA)
(S, δ : S → (B×S)A)
(S, δ : S → 1 + (PS)A)
(S, δ : S → GS)
G-coalgebras
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 8 / 23
What do these things have in common?
(S, δ : S → 2×SA)
(S, δ : S → (B×S)A)
(S, δ : S → 1 + (PS)A)
(S, δ : S → GS) G-coalgebras
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 8 / 23
Coalgebras
Generalizations of deterministic automataSet of states S and a transition function t : S → GS where G
encodes the type of the system:
G:: = Id | B | G× G | G + G | GA | PG
P finite
Examples
G = 2× IdA Deterministic automataG = (B × Id)A Mealy machinesG = 1 + (PId)A LTS (with explicit termination). . .
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 9 / 23
Coalgebras
Generalizations of deterministic automataSet of states S and a transition function t : S → GS where G
encodes the type of the system:
G:: = Id | B | G× G | G + G | GA | PG
P finite
Examples
G = 2× IdA Deterministic automataG = (B × Id)A Mealy machinesG = 1 + (PId)A LTS (with explicit termination). . .
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 9 / 23
The power of G
The functor G determines:
1 notion of observational equivalence (coalg. bisimulation)2 behaviour (final coalgebra)3 set of expressions describing finite systems4 axioms to prove bisimulation equivalence of expressions
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 10 / 23
The power of G
The functor G determines:
1 notion of observational equivalence (coalg. bisimulation)2 behaviour (final coalgebra)3 set of expressions describing finite systems4 axioms to prove bisimulation equivalence of expressions
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 10 / 23
The power of G
The functor G determines:
1 notion of observational equivalence (coalg. bisimulation)2 behaviour (final coalgebra)3 set of expressions describing finite systems4 axioms to prove bisimulation equivalence of expressions
1 + 2 are standard universal coalgebra; 3 + 4 are [BRS10]
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 10 / 23
In a nutshell — beyond deterministic automata
Deterministic automata G-coalgebrasQ → 2×QΣ Q → GQ
m m
Regular Expressions G-expressions
m m
Formal Languages Final coalgebra
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 11 / 23
G-expressions
E :: = ∅ | ε | E · E | E + E | E∗
EG :: = ?
How do we define EG?
Untyped expressions
G-typed expressions
Type system parametrized with G
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 12 / 23
G-expressions
E :: = ∅ | ε | E · E | E + E | E∗
EG :: = ?
How do we define EG?
Untyped expressions
G-typed expressions
Type system parametrized with G
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 12 / 23
Examples
Deterministic automata expressions – G = 2× IdA
ε :: = ∅ | ε⊕ ε | µx .γ︸ ︷︷ ︸G
|
1︸︷︷︸2
|
0︸︷︷︸2
|
a(ε)︸︷︷︸IdA
︸ ︷︷ ︸×
LTS expressions – G = 1 + (PId)A
ε :: = ∅ | ε⊕ ε | µx .γ
|√︸︷︷︸1
| ∂︸︷︷︸(PId)A
| a.ε︸︷︷︸(PId)A
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 13 / 23
Examples
Deterministic automata expressions – G = 2× IdA
ε :: = ∅ | ε⊕ ε | µx .γ︸ ︷︷ ︸G
|
1︸︷︷︸2
|
0︸︷︷︸2
|
a(ε)︸︷︷︸IdA
︸ ︷︷ ︸×
LTS expressions – G = 1 + (PId)A
ε :: = ∅ | ε⊕ ε | µx .γ
|√︸︷︷︸1
| ∂︸︷︷︸(PId)A
| a.ε︸︷︷︸(PId)A
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 13 / 23
Examples
Deterministic automata expressions – G = 2× IdA
ε :: = ∅ | ε⊕ ε | µx .γ︸ ︷︷ ︸G
| 1︸︷︷︸2
| 0︸︷︷︸2
| a(ε)︸︷︷︸IdA︸ ︷︷ ︸
×
LTS expressions – G = 1 + (PId)A
ε :: = ∅ | ε⊕ ε | µx .γ
|√︸︷︷︸1
| ∂︸︷︷︸(PId)A
| a.ε︸︷︷︸(PId)A
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 13 / 23
Examples
Deterministic automata expressions – G = 2× IdA
ε :: = ∅ | ε⊕ ε | µx .γ︸ ︷︷ ︸G
| 1︸︷︷︸2
| 0︸︷︷︸2
| a(ε)︸︷︷︸IdA︸ ︷︷ ︸
×
LTS expressions – G = 1 + (PId)A
ε :: = ∅ | ε⊕ ε | µx .γ
|√︸︷︷︸1
| ∂︸︷︷︸(PId)A
| a.ε︸︷︷︸(PId)A
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 13 / 23
Examples
Deterministic automata expressions – G = 2× IdA
ε :: = ∅ | ε⊕ ε | µx .γ︸ ︷︷ ︸G
| 1︸︷︷︸2
| 0︸︷︷︸2
| a(ε)︸︷︷︸IdA︸ ︷︷ ︸
×
LTS expressions – G = 1 + (PId)A
ε :: = ∅ | ε⊕ ε | µx .γ |√︸︷︷︸1
| ∂︸︷︷︸(PId)A
| a.ε︸︷︷︸(PId)A
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 13 / 23
Operational semantics
The set of G-expressions has a coalgebraic structure given by
δG : ExpG → G(ExpG)
δG . . .. . . provides an operational semantics for the set of expressions. . . defines the dynamics of the system. . . is used for observing the behaviour of the system
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 14 / 23
Operational semantics
The set of G-expressions has a coalgebraic structure given by
δG : ExpG → G(ExpG)
δG . . .. . . provides an operational semantics for the set of expressions. . . defines the dynamics of the system. . . is used for observing the behaviour of the system
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 14 / 23
Operational semantics
The set of G-expressions has a coalgebraic structure given by
δG : ExpG → G(ExpG)
δG . . .. . . provides an operational semantics for the set of expressions. . . defines the dynamics of the system. . . is used for observing the behaviour of the system
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 14 / 23
Operational semantics
The set of G-expressions has a coalgebraic structure given by
δG : ExpG → G(ExpG)
δG . . .. . . provides an operational semantics for the set of expressions. . . defines the dynamics of the system. . . is used for observing the behaviour of the system
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 14 / 23
The goal: proving equivalence
Automatically proving equivalence (bisimilarity) of expressions;Tool: Circ
Meta-language implemented in Maude
Input: Algebraic specification + coalgebraic structure (dynamics)
Engine: circular coinduction – constructing bisimulation
Output: Yes / No / ?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 15 / 23
The goal: proving equivalence
Automatically proving equivalence (bisimilarity) of expressions;Tool: Circ
Meta-language implemented in Maude
Input: Algebraic specification + coalgebraic structure (dynamics)
Engine: circular coinduction – constructing bisimulation
Output: Yes / No / ?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 15 / 23
The goal: proving equivalence
Automatically proving equivalence (bisimilarity) of expressions;Tool: Circ
Meta-language implemented in Maude
Input: Algebraic specification + coalgebraic structure (dynamics)
Engine: circular coinduction – constructing bisimulation
Output: Yes / No / ?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 15 / 23
Our challenge
ExpG
'/WWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWW
coalgebraic structure(δG) +3 algebraic specification // CIRC
ε1∼Gε2
��
G− bisimilarity +3 deduction relation
44jjjjjjjjjjjjjjjj
YES/NO
How to guarantee that the prover always says YES/NO?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 16 / 23
Our challenge
ExpG
'/WWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWW
coalgebraic structure(δG) +3 algebraic specification // CIRC
ε1∼Gε2
��
G− bisimilarity +3 deduction relation
44jjjjjjjjjjjjjjjj
YES/NO
How to guarantee that the prover always says YES/NO?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 16 / 23
Unraveling can be infinite
ε = µx .a(b(x))⊕ 1
εδa // 〈1,b(ε)〉 δb // 〈1, ε〉
µx .a(b(x))⊕ 1 b(ε)
∅
a
b
b
a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 17 / 23
Unraveling can be infinite
ε = µx .a(b(x))⊕ 1
εδa //
δb
""FFFFFFFFFF 〈1,b(ε)〉 δb //
δa��
〈1, ε〉
〈0, ∅〉
µx .a(b(x))⊕ 1 b(ε)
∅
a
b
b
a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 17 / 23
Unraveling can be infinite
ε = µx .a(b(x))⊕ 1
εδa //
δb
""FFFFFFFFFF 〈1,b(ε)〉 δb //
δa��
〈1, ε〉
〈0, ∅〉
µx .a(b(x))⊕ 1 b(ε)
∅
a
b
b
a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 17 / 23
Unraveling can be infinite
But . . .ε = µx .a(x ⊕ x)
εδ7−→ 〈0, ε⊕ε〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)⊕(ε⊕ε)〉 . . .
We need ACI!
µx .a(x ⊕ x) a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 18 / 23
Unraveling can be infinite
But . . .ε = µx .a(x ⊕ x)
εδ7−→ 〈0, ε⊕ε〉
δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)⊕(ε⊕ε)〉 . . .
We need ACI!
µx .a(x ⊕ x) a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 18 / 23
Unraveling can be infinite
But . . .ε = µx .a(x ⊕ x)
εδ7−→ 〈0, ε⊕ε〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)⊕(ε⊕ε)〉 . . .
We need ACI!
µx .a(x ⊕ x) a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 18 / 23
Unraveling can be infinite
But . . .ε = µx .a(x ⊕ x)
εδ7−→ 〈0, ε⊕ε〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)⊕(ε⊕ε)〉 . . .
We need ACI!
µx .a(x ⊕ x) a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 18 / 23
Unraveling can be infinite
But . . .ε = µx .a(x ⊕ x)
εδ7−→ 〈0, ε⊕ε〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)〉 δ7−→ 〈0, (ε⊕ε)⊕(ε⊕ε)⊕(ε⊕ε)〉 . . .
We need ACI!
µx .a(x ⊕ x) a
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 18 / 23
A decision procedure for bisimilarity
ExpG
'/WWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWW
coalgebraic structure(δG) +3 algebraic specification // CIRC
ε1∼Gε2
��
G− bisimilarity +3 deduction relation
44jjjjjjjjjjjjjjjj
ACI
/7ggggggggggggggggggggg
ggggggggggggggggggggg YES/NO
Adding equations is possible because Circ is an extension ofMaude
With ACI, the bisimulation game is decidable!Algebra meets coalgebra
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 19 / 23
A decision procedure for bisimilarity
ExpG
'/WWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWW
coalgebraic structure(δG) +3 algebraic specification // CIRC
ε1∼Gε2
��
G− bisimilarity +3 deduction relation
44jjjjjjjjjjjjjjjj
ACI
/7ggggggggggggggggggggg
ggggggggggggggggggggg YES/NO
Adding equations is possible because Circ is an extension ofMaude
With ACI, the bisimulation game is decidable!Algebra meets coalgebra
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 19 / 23
Example
εX = µx .a.x ⊕ b.∅ ⊕ a.(µy .a.y ⊕ b.∅ ⊕ b.b.√
)⊕ b.b.√
εZ = µz.a.z ⊕ b.∅ ⊕ b.b.√
76540123Xa&& b //
a��
b
��========76540123∅ /.-,()*+Z a
xx
b��
b
��<<<<<<<<
76540123∅ 76540123Y awwboo
b
����������/.-,()*+
b��
/.-,()*+b
��
76540123∅
/.-,()*+ b //?>=<89:;√ ?>=<89:;√ ?>=<89:;√
Question Are εX and εZ equivalent?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 20 / 23
Example
εX = µx .a.x ⊕ b.∅ ⊕ a.(µy .a.y ⊕ b.∅ ⊕ b.b.√
)⊕ b.b.√
εZ = µz.a.z ⊕ b.∅ ⊕ b.b.√
76540123Xa&& b //
a��
b
��========76540123∅ /.-,()*+Z a
xx
b��
b
��<<<<<<<<
76540123∅ 76540123Y awwboo
b
����������/.-,()*+
b��
/.-,()*+b
��
76540123∅
/.-,()*+ b //?>=<89:;√ ?>=<89:;√ ?>=<89:;√
Question Are εX and εZ equivalent?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 20 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Tool Snapshot
Maude> in protofunctorizer.maude
(alph A is a b endalph)
(alph B is tick endalph)
(functor B + P(Id)A .)
(E1 = mu X. ... )
(E2 = mu Z. ... )
(set goal E1 = E2 .)
(generate coalgebra .)
296 lines of CIRC specification!
Maude> in circ.maude XandZ.maude
(coinduction .)
Proof succeeded.
G = B + P(Id)A,A = {a,b},B = {√}
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 21 / 23
Conclusions and Future work
ConclusionsGeneric framework to uniformly derive language and axioms for alarge class of systemsGeneralization of Kleene theorem and Kleene algebra, parametricon the functor.Automation in Circ: decision procedure for equivalence ofexpressions.
Future workMaking the tool more user friendly;Extending the class of systems to include quantitative systems(probabilistic automata, etc)Apply it to a serious case study (circuit design, compileroptimization, . . . )
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 22 / 23
Conclusions and Future work
ConclusionsGeneric framework to uniformly derive language and axioms for alarge class of systemsGeneralization of Kleene theorem and Kleene algebra, parametricon the functor.Automation in Circ: decision procedure for equivalence ofexpressions.
Future workMaking the tool more user friendly;Extending the class of systems to include quantitative systems(probabilistic automata, etc)Apply it to a serious case study (circuit design, compileroptimization, . . . )
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 22 / 23
Thank you!
for more details see:“Non-deterministic Kleene coalgebras"
A.Silva, M. Bonsangue, J. Rutten“Circular coinduction - A proof theoretical foundation"
G. Rosu, D. Lucanu
QUESTIONS?
Alexandra Silva (CWI) Decision procedure for bisimilarity SBMF’10 23 / 23