Coinduction up-to from concurrency to coalgebra and back Filippo - - PowerPoint PPT Presentation

coinduction up to
SMART_READER_LITE
LIVE PREVIEW

Coinduction up-to from concurrency to coalgebra and back Filippo - - PowerPoint PPT Presentation

Coinduction up-to from concurrency to coalgebra and back Filippo Bonchi and Alexandra Silva ENS Lyon (FR) and Radboud University Nijmegen (NL) June 18, 2014 OPCT 2014 Bertinoro, Italy Context Automata are basic structures in Computer


slide-1
SLIDE 1

Coinduction up-to

from concurrency to coalgebra and back Filippo Bonchi and Alexandra Silva

ENS Lyon (FR) and Radboud University Nijmegen (NL)

June 18, 2014 OPCT 2014 Bertinoro, Italy

slide-2
SLIDE 2

Context

  • Automata are basic structures in Computer Science.
  • Language equivalence: well-studied, several algorithms.
  • Renewed attention (POPL

’11, ’13, ’14).

slide-3
SLIDE 3

Context

  • Concurrency: a spectrum of equivalences.
  • Checking usually done by reducing to bisimilarity.
slide-4
SLIDE 4

An alternative road

  • Many efficient algorithms for equivalence of automata.
  • Applications in concurrency?
slide-5
SLIDE 5

From automata to concurrency

Various spectrum equivalences = Language equivalence of a transformed system = Automaton with outputs and structured state space (Moore automata).

Bonsangue, Bonchi, Caltais, Rutten, S. MFPS 12

slide-6
SLIDE 6

From automata to concurrency

  • Generalization of existing algorithms to Moore automata.
  • Brzozowski’s and Hopcroft/Karp algorithms for van

Glabbeek’s spectrum.

  • Cleaveland and Hennessy’s acceptance graphs for

must/may testing = Moore automata.

  • Brzozowski’s and Hopcroft/Karp algorithms algorithm for

must/may testing.

Bonchi, Caltais, Pous, Silva. APLAS 2013

slide-7
SLIDE 7

From automata to concurrency

  • Generalization of existing algorithms to Moore automata.
  • Brzozowski’s and Hopcroft/Karp algorithms for van

Glabbeek’s spectrum.

  • Cleaveland and Hennessy’s acceptance graphs for

must/may testing = Moore automata.

  • Brzozowski’s and Hopcroft/Karp algorithms algorithm for

must/may testing.

Bonchi, Caltais, Pous, Silva. APLAS 2013

slide-8
SLIDE 8

The approach

slide-9
SLIDE 9

Roadmap

  • 1. Automata algorithms applied to concurrency.
  • 2. For the rest of the talk: up-to techniques applied to

automata. Compositionality Coinduction [ [X + Y] ] = [ [X] ] + [ [Y] ] Proof principle for infinite structures

slide-10
SLIDE 10

Roadmap

  • 1. Automata algorithms applied to concurrency.
  • 2. For the rest of the talk: up-to techniques applied to

automata. Compositionality Coinduction [ [X + Y] ] = [ [X] ] + [ [Y] ] Proof principle for infinite structures

slide-11
SLIDE 11

The rest of the talk

  • Deterministic Automata

– Naive algorithm (for language equivalence) – Hopcroft & Karp's algorithm

  • Non-Deterministic Automata

– Powerset Construction – On the fly algorithm – H&K-up-to-congruence algorithm

  • Discussion and Future Work
slide-12
SLIDE 12

The rest of the talk

  • Deterministic Automata

– Naive algorithm (for language equivalence) – Hopcroft & Karp's algorithm

  • Non-Deterministic Automata

– Powerset Construction – On the fly algorithm – H&K-up-to-congruence algorithm

  • Discussion and Future Work
slide-13
SLIDE 13

Deterministic Automata

(S,o,t)

set of states S

  • utput function o: S-->2

transition function t: S-->S

A

Language Equivalence

Accepted Language

slide-14
SLIDE 14
slide-15
SLIDE 15

Language Equivalence via Bisimulations

Given an automaton <o,t>:S-->2xSA, B:Rel_S-->Rel_S is defined

for all R⊆S×S as B(R)= {(x,y) | o(x)=o(y) & ∀a∈A, (t(x)(a),t(y)(a))∈R } νΒ νΒ is language equivalence Def: A bisimulation is a relation R such that R⊆B(R) Coinduction Proof Principle: L(x)=L(y) iff (x,y)∈R, for some bisimulation R

slide-16
SLIDE 16

R⊆B(R∪todo)

After (3), R⊆B(R)

slide-17
SLIDE 17

Hopcroft and Karp's Algorithm (1971)

slide-18
SLIDE 18

Hopcroft and Karp's Algorithm (1971)

slide-19
SLIDE 19

E

At most n times! The complexity is n log(n)

R⊆B(E(R)∪todo)

After (3), R⊆B(E(R)) i.e, R is a bisimulation up-to equivalence

slide-20
SLIDE 20

Mistakes in Milner's book

Weak Bisimulation up-to Equivalence Weak Bisimulation up-to Weak Bisimilarity

slide-21
SLIDE 21

Plan of the Talk

  • Deterministic Automata

– Naive algorithm (for language equivalence) – Hopcroft & Karp's algorithm

  • Non-Deterministic Automata

– Powerset Construction – On the fly algorithm – H&K-up-to-congruence algorithm

  • Discussion and Future Work
slide-22
SLIDE 22

Semi-Lattices

a set

Associative-Commutative-Idempotent the identity element

Examples

slide-23
SLIDE 23

Semi-Lattices

a set

Associative-Commutative-Idempotent the identity element

Homomorphisms

slide-24
SLIDE 24

Non-Deterministic Automata

(S,o,δ)

S set of states

  • : S-->2 output function

δ: S-->P(S)

A transition relation

slide-25
SLIDE 25

Determinization

slide-26
SLIDE 26

Accepted Language

(S,o,δ) (P(S),o

#,δ #)

A bisimulation is a relation R⊆P(S)×P(S) such that R⊆B(R) where B:Rel_P(S)-->Rel_P(S) is defined as For all R⊆P(S)×P(S), B(R)= {(X,Y) | o#(X)=o#(Y) & a A, ( ∀ ∈ δ#(X)(a),δ#(Y)(a)) R } ∈

Coinduction Proof Principle: iff (X,Y) R ∈ , for some bisimulation R

slide-27
SLIDE 27

E

slide-28
SLIDE 28

Our Idea...

slide-29
SLIDE 29

R⊆B(C(R)∪todo)

After (3), R⊆B(C(R)) namely, R is a bisimulation up-to congruence

C

slide-30
SLIDE 30

Conclusions

  • Implementation is available online

(Googling HKC automata) and more and more used (already 24 citations, see e.g., www.languageinclusion.org)

  • Interactive Applet & COQ proof scripts
  • A follow-up will appear in LICS 2014
  • Weighted Automata, Nominal Automata, Process Calculi
  • Different sort of Coinductive Predicates like

Termination, Similarity, Weak Bisimilarity

slide-31
SLIDE 31

Antichain Approach

AC M. D. Wulf, L. Doyen, T. A. Henzinger, and J.-F. Raskin. Antichains: A new algorithm for checking universality of finite automata. In Proc. CAV 2006. AC' P. A. Abdulla, Y.-F. Chen, L. Holik, R. Mayr, and T. Vojnar. When simulation meets antichains. In Proc. TACAS 2010.

Following AC', we developed another algorithm called HKC'

slide-32
SLIDE 32

Experimental Assessment