Presentation is loading. Please wait.

Presentation is loading. Please wait.

Georgiana Caltais - Damien Pous - Alexandra Silva

Similar presentations


Presentation on theme: "Georgiana Caltais - Damien Pous - Alexandra Silva"— Presentation transcript:

1 Georgiana Caltais - Damien Pous - Alexandra Silva
Three algorithms for must semantics Filippo Bonchi (ENS Lyon - CNRS) joint work with Georgiana Caltais - Damien Pous - Alexandra Silva (Un)invited speaker (Un)prepared speaker

2 Checking Language Equivalence of Deterministic Automata

3 Deterministic Automaton
Coinduction Deterministic Automaton (S,i,t,o) S set of states i:1-->S initial state t:S-->SA transition function o:S-->2 final states Bisimulation RÍSxS If xRy then o(x)=o(y) for all a ÎA, t(x)(a) R t(y)(a) cc Coinduction Proof Principle: two states are language equivalent iff there exists a bisimulation relating them

4 Partition Refinement Algorithm
(for Deterministic Automata - Hopcroft '71) Top-Down Compute the greatest bisimulation P0 = { {x | o(x)=0}, {y | o(y)=1} } Pn+1 = F(Pn) when Pn = Pn+1 return Pn

5 Hopcroft and Karp's Algorithm
(for Deterministic Automata - '71) Bottom-Up Construct the smallest bisimulation R containing the initial states Skip the pairs that already belong to R

6 Partition Refinement Algorithm
(for Deterministic Automata - Hopcroft '71) Top-Down Compute the greatest bisimulation P0 = { {x | o(x)=0}, {y | o(y)=1} } Pn+1 = F(Pn) when Pn = Pn+1 return Pn

7 Brzozowski's Algorithm
(for Deterministic Automata - '62) Filippo Bonchi, Marcello M. Bonsangue, Jan J. M. M. Rutten, Alexandra Silva: Brzozowski's Algorithm (Co)Algebraically. Logic and Program Semantics 2012

8 Checking Bisimilarity of Labeled Transition Systems

9 Labeled Transition Systems
Coinduction Labeled Transition Systems (S,i,t) S set of states i:1-->S initial state t:S-->P(S)A transition function Bisimulation If xRy then for all aÎA, " x' Ît(x)(a), $ y'Ît(y)(a) s.t. x' R y' " y'Ît(y)(a), $ x'Ît(x)(a) s.t. x' R y' Coinduction Proof Principle: two states are bisimilar iff there exists a bisimulation relating them

10 Partition Refinement Algorithm
(for LTSs – Kannelakis and Smolka '83) Top-Down Compute the greatest bisimulation P0 = { {x | xÎX} } Pn+1 = F(Pn) when Pn = Pn+1 return Pn

11 Hopcroft and Karp's Algorithm
(for LTSs – Fernandez and Mounier '92) Bottom-Up Construct the smallest bisimulation R containing the initial states a c less efficient: one needs some sort of backtracking... ...but it can be executed on the fly

12 Brzozowski's Algorithm
It is NOT possible for Labeled Transition Systems

13 The Linear Time – Branching Time Spectrum
The problem of checking one of these semantics is usually reduced to checking bisimilarity... ...then bisimilarity is checked via the partition refinement algorithm We propose instead of exploiting the algorithm for trace semantics!

14 Checking Language Equivalence of Non Deterministic Automata

15 Determinization Non Deterministic Automaton (S,i,t,o)
S set of states i:1-->P(S) set of initial states t:S-->P(S)A transition function o:S-->2 final states Determinized Automaton (P(S),i,t#,o#) P(S) set of states i:1-->P(S) initial state t#: P(S)-->P(S)A o#: P(S)-->2 final states

16 Determinization + Partition Refinement
The determinized automaton may be exponential

17 Brzozowski's Algorithm
(for Non Deterministic Automata - '62) Bruce Watson: Taxonomies and Toolkits of Regular Language Algorithms - Ph.D Thesis '95 Deian Tabakov, Moshe Y. Vardi: Experimental Evaluation of Classical Automata Constructions. LPAR 2005:

18 Antichains Algorithms
Exploit the “on the fly” nature of Hopcroft and Karp's algorithm They build just a small portion of the determinized automaton Martin De Wulf, Laurent Doyen, Thomas A. Henzinger, Jean-François Raskin: Antichains: A New Algorithm for Checking Universality of Finite Automata. CAV 2006 Parosh Aziz Abdulla, Yu-Fang Chen, Lukás Holík, Richard Mayr, Tomás Vojnar: When Simulation Meets Antichains. TACAS 2010 Filippo Bonchi, Damien Pous: Checking NFA equivalence with bisimulations up to congruence. POPL 2013

19 Coinduction Non Deterministic Automaton (S,i,t,o)
S set of states i:1-->P(S) initial states t:S-->P(S)A transition function o:S-->2 final states Bisimulation RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) R t#(Y)(a) Coinduction Proof Principle: two sets of states are language equivalent iff there exists a bisimulation relating them

20 Hopcroft and Karp's Algorithm
(for Non Deterministic Automata) Bottom-Up Construct the smallest bisimulation R containing the initial states Skip the pairs that already belong to R

21 Bisimulation up to Congruence
RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) c(R) t#(Y)(a) The congruence closure c(R) Theorem: any bisimulation up to congruence is contained in a bisimulation

22 Hopcroft and Karp up to Congruence
(Bonchi and Pous, 2013) Bottom-Up Construct a bisimulation up to congruence R containing the initial states Skip the pairs that already belong to c(R)

23 Checking Must Semantics of Labeled Transition Systems
Failure c

24 Failure Semantics iff they have the same failures pairs
Let (S,i,t) be a LTS and x,y,zÎS, ZÍA,wÎA* I(x)={aÎA | t(x)(a)¹0} Fail(x)={ZÍA | ZÇI(x)=0} (w,Z) is a failure pair of x iff x-w->z and ZÎFail(z) iff they have the same failures pairs { {c} {a} {a,c} } { {b} {a} {a,b} } { {a} }

25 Decoration & Determinization
iff

26 Coinduction Proof Principle
Bisimulation RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) R t#(Y)(a) Coinduction Proof Principle two sets of states are failure equivalent iff there exists a bisimulation relating them

27 Bisimulation up to Congruence
RÍP(S)xP(S) If X R Y then o#(X)=o#(Y) for all a, t#(X)(a) c(R) t#(Y)(a) Theorem: any bisimulation up to congruence is contained in a bisimulation

28 Hopcroft and Karp up to Congruence
(for Failure Equivalence) Bottom-Up Construct a bisimulation up to congruence R containing the initial states Skip the pairs that already belong to c(R) Like for NDA: one needs to modify only the output function o#

29 Determinization + Partition Refinement
(for Must semantics) (Cleveland and Hennessy '89) like for NDA: one needs to modify the output function o# the initial partition P0

30 Brzozowski's Algorithm
(for Failure Semantics) one needs to change reverse and determinize

31 Reverse and Determinize
(for Failure Semantics)

32 Brzozowski's Algorithm
(for Failure Semantics)

33 Exponential speed-up of HKC
After the determinization, we have exponentially many states Since all of them have different behaviour, then the minimal realization is exponentially large So both partition refinement and Brzozowski are very inefficient

34 Exponential speed-up of HKC
The smallest bisimulation has exponential size But HKC builds a linear bisimulation up to congruence

35 Exponential case After the determinization, we have exponentially many states Also HKC produce a bisimulation of the same size On the opposite, Brzozowski is very efficient

36 Experimental Evaluation
(on a multiway synchronization protocol – Parrow '96)

37 Conclusions Two novel algorithms to check must equivalence and preorder Algorithms adapted from language equivalence rather than bisimilarity Technology transfert by mean of coalgebras Since the problem is PSPACE, worst-case complexity is not really interesting Empirical evaluation is difficult: no randomized model, few meaningful examples An interactive applet is available at


Download ppt "Georgiana Caltais - Damien Pous - Alexandra Silva"

Similar presentations


Ads by Google