26.12.2013 Views

slides - University of Edinburgh

slides - University of Edinburgh

slides - University of Edinburgh

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Checking Equivalences and Partial Orders<br />

<strong>of</strong> One-Counter Processes<br />

Patrick Totzke<br />

LFCS, <strong>University</strong> <strong>of</strong> <strong>Edinburgh</strong><br />

March 27, 2013


Background Monotonicity Infinite Branching bib<br />

Equivalences<br />

van Glabbeek’s Spectrum [Gla01]


Background Monotonicity Infinite Branching bib<br />

Equivalences<br />

van Glabbeek’s Spectrum [Gla01]


Background Monotonicity Infinite Branching bib<br />

Bisimulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.


Background Monotonicity Infinite Branching bib<br />

Bisimulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.<br />

In each round<br />

α vs.<br />

β<br />

1 Spoiler moves<br />

2 Duplicator responds<br />

a<br />

−→ from one process<br />

a<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .


Background Monotonicity Infinite Branching bib<br />

Bisimulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.<br />

In each round<br />

α vs.<br />

a<br />

α ′<br />

β<br />

1 Spoiler moves<br />

2 Duplicator responds<br />

a<br />

−→ from one process<br />

a<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .


Background Monotonicity Infinite Branching bib<br />

Bisimulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.<br />

In each round<br />

α vs. β<br />

a a<br />

α ′ β ′<br />

1 Spoiler moves<br />

2 Duplicator responds<br />

a<br />

−→ from one process<br />

a<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .


Background Monotonicity Infinite Branching bib<br />

Bisimulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.<br />

In each round<br />

α vs. β<br />

a a<br />

α ′<br />

vs.<br />

β ′<br />

1 Spoiler moves<br />

2 Duplicator responds<br />

a<br />

−→ from one process<br />

a<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .


Background Monotonicity Infinite Branching bib<br />

Bisimulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.<br />

In each round<br />

α vs. β<br />

a a<br />

α ′<br />

vs.<br />

β ′<br />

1 Spoiler moves<br />

2 Duplicator responds<br />

a<br />

−→ from one process<br />

a<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .<br />

Def:<br />

Bisimulation (∼)<br />

α ∼ β iff Duplicator has a strategy to win the game from α vs. β.


Background Monotonicity Infinite Branching bib<br />

Simulation Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins. Infinite plays are won by Duplicator.<br />

In each round<br />

α vs. β<br />

a a<br />

α ′<br />

vs.<br />

β ′<br />

1 Spoiler moves<br />

2 Duplicator responds<br />

a<br />

−→ from process α<br />

a<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .<br />

Def: Simulation ( ≼ )<br />

α ≼ β iff Duplicator has a strategy to win the game from α vs. β.


Background Monotonicity Infinite Branching bib<br />

Trace Inclusion Games<br />

. . . are played in rounds between Spoiler and Duplicator. If a player<br />

cannot move the other wins.<br />

At the beginning Spoiler announces a word a 0 a 1 . . . a k .<br />

In round i<br />

α vs.<br />

β<br />

1 Spoiler moves<br />

a i<br />

−→ from process α<br />

a i a i<br />

vs. β ′<br />

α ′<br />

2 Duplicator responds<br />

a i<br />

−→ from the other<br />

3 the game continues from α ′ vs. β ′ .<br />

Def:<br />

Trace Inclusion (⊆)<br />

α ⊆ β iff Duplicator has a strategy to win the game from α vs. β.


Background Monotonicity Infinite Branching bib<br />

One-Counter Automata<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1, = 0} × Q)<br />

a, +1<br />

p<br />

q


Background Monotonicity Infinite Branching bib<br />

One-Counter Automata<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1, = 0} × Q)<br />

a, +1<br />

p<br />

q<br />

Induced LTS over Q × N<br />

q0<br />

p0<br />

a<br />

q1 q2 q3<br />

a a<br />

p1 p2 p3


Background Monotonicity Infinite Branching bib<br />

One-Counter Automata<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1, = 0} × Q)<br />

a, +1<br />

b, −1<br />

p<br />

q<br />

Induced LTS over Q × N<br />

b b b<br />

q0 q1 q2 q3<br />

p0<br />

a<br />

a a<br />

p1 p2 p3


Background Monotonicity Infinite Branching bib<br />

One-Counter Automata<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1, = 0} × Q)<br />

a, +1<br />

b, −1<br />

p<br />

q<br />

c, 0<br />

Induced LTS over Q × N<br />

b b b<br />

q0 q1 q2 q3<br />

p0<br />

c<br />

a<br />

c<br />

a<br />

c<br />

a<br />

c<br />

p1 p2 p3


Background Monotonicity Infinite Branching bib<br />

One-Counter Automata<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1, = 0} × Q)<br />

d, = 0<br />

p<br />

a, +1<br />

b, −1<br />

q<br />

c, 0<br />

Induced LTS over Q × N<br />

b b b<br />

q0 q1 q2 q3<br />

d<br />

p0<br />

c<br />

a<br />

c<br />

a<br />

c<br />

a<br />

c<br />

p1 p2 p3


Background Monotonicity Infinite Branching bib<br />

One-Counter Nets<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1, = 0} × Q)<br />

d, = 0<br />

p<br />

a, +1<br />

b, −1<br />

q<br />

c, 0<br />

Induced LTS over Q × N<br />

b b b<br />

q0 q1 q2 q3<br />

d<br />

p0<br />

c<br />

a<br />

c<br />

a<br />

c<br />

a<br />

c<br />

p1 p2 p3


Background Monotonicity Infinite Branching bib<br />

One-Counter Nets<br />

(Q, Act, δ) δ ⊆ (Q × Act × {−1, 0, +1} × Q)<br />

a, +1<br />

b, −1<br />

p<br />

q<br />

c, 0<br />

Induced LTS over Q × N<br />

b b b<br />

q0 q1 q2 q3<br />

p0<br />

c<br />

a<br />

c<br />

a<br />

c<br />

a<br />

c<br />

p1 p2 p3


Background Monotonicity Infinite Branching bib<br />

Some Results<br />

PDA<br />

OCA<br />

OCN<br />

NFA


Background Monotonicity Infinite Branching bib<br />

Some Results<br />

⊆<br />

≼<br />

∼<br />

undecidable<br />

undecidable<br />

decidable [Sén98]<br />

PDA<br />

OCA<br />

OCN<br />

NFA


Background Monotonicity Infinite Branching bib<br />

Some Results<br />

⊆<br />

≼<br />

∼<br />

undecidable<br />

undecidable<br />

decidable [Sén98]<br />

PDA<br />

⊆ undecidable [?]<br />

≼ undecidable [JMS99]<br />

∼ PSPACE-c [Srb09, BGJ10]<br />

OCA<br />

OCN<br />

NFA


Background Monotonicity Infinite Branching bib<br />

Some Results<br />

⊆<br />

≼<br />

∼<br />

undecidable<br />

undecidable<br />

decidable [Sén98]<br />

PDA<br />

⊆ undecidable [?]<br />

≼ undecidable [JMS99]<br />

∼ PSPACE-c [Srb09, BGJ10]<br />

OCA<br />

⊆<br />

≼<br />

∼<br />

undecidable [HMT13]<br />

decidable, [AC98, JKM00],<br />

PSPACE-hard [Srb09]<br />

PSPACE-c [Srb09, BGJ10]<br />

OCN<br />

NFA


Background Monotonicity Infinite Branching bib<br />

Some Results<br />

⊆<br />

≼<br />

∼<br />

undecidable<br />

undecidable<br />

decidable [Sén98]<br />

PDA<br />

⊆ undecidable [?]<br />

≼ undecidable [JMS99]<br />

∼ PSPACE-c [Srb09, BGJ10]<br />

OCA<br />

⊆<br />

≼<br />

∼<br />

undecidable [HMT13]<br />

decidable, [AC98, JKM00],<br />

PSPACE-hard [Srb09]<br />

PSPACE-c [Srb09, BGJ10]<br />

OCN<br />

⊆<br />

≼<br />

∼<br />

PSPACE-comp.<br />

P-comp.<br />

P-comp.<br />

NFA


Background Monotonicity Infinite Branching bib<br />

Some Results<br />

⊆<br />

≼<br />

∼<br />

undecidable<br />

undecidable<br />

decidable [Sén98]<br />

PDA<br />

DPDA<br />

= decidable [Sén97], P-hard,<br />

primitive recursive [Sti02]<br />

⊆<br />

undecidable<br />

⊆ undecidable [?]<br />

≼<br />

∼<br />

⊆<br />

≼<br />

∼<br />

⊆<br />

≼<br />

∼<br />

undecidable [JMS99]<br />

PSPACE-c [Srb09, BGJ10]<br />

undecidable [HMT13]<br />

decidable, [AC98, JKM00],<br />

PSPACE-hard [Srb09]<br />

PSPACE-c [Srb09, BGJ10]<br />

PSPACE-comp.<br />

P-comp.<br />

P-comp.<br />

OCA<br />

OCN<br />

NFA<br />

DOCA<br />

DOCN<br />

= decidable [VP75]<br />

NL-complete, [BG11]<br />

⊆<br />

undecidable [VP75]<br />

= NL-complete<br />

⊆<br />

decidable, NL-hard<br />

DFA<br />

=, ⊆ NL-complete


Background Monotonicity Infinite Branching bib<br />

Simulation on One-Counter Nets<br />

Example?<br />

Safe assumption: No deadlocks, Spoiler wins only by<br />

exhausting Duplicators counter. Energy Game with two<br />

energy levels. . .<br />

Two pro<strong>of</strong>s for its decidability: [AC98, JM99]


Background Monotonicity Infinite Branching bib<br />

Monotonicity in Nets<br />

a<br />

If p(m) −→q(n) Then p(m + 1) −→q(n + 1).<br />

a


Background Monotonicity Infinite Branching bib<br />

Monotonicity in Nets<br />

a<br />

If p(m) −→q(n) Then p(m + 1) −→q(n + 1).<br />

If m ′ ≥ m Then p(m) ≼ p(m ′ ).<br />

a


Background Monotonicity Infinite Branching bib<br />

Monotonicity in Nets<br />

a<br />

If p(m) −→q(n) Then p(m + 1) −→q(n + 1).<br />

If m ′ ≥ m Then p(m) ≼ p(m ′ ).<br />

If p(m) ≼ q(n) Then p(m ′ ) ≼ q(n ′ ) for all n ′ ≥ n, m ′ ≤ m.<br />

a


Background Monotonicity Infinite Branching bib<br />

Monotonicity illustrated<br />

(m, n) is black iff pm ≼ qn<br />

n<br />

10<br />

5<br />

0<br />

q<br />

p<br />

0 5 10 15 20<br />

m


Background Monotonicity Infinite Branching bib<br />

Monotonicity illustrated<br />

(m, n) is black iff pm ≼ qn<br />

n<br />

10<br />

5<br />

0<br />

q<br />

p<br />

0 5 10 15 20<br />

m


Background Monotonicity Infinite Branching bib<br />

Monotonicity illustrated<br />

(m, n) is black iff pm ≼ qn<br />

n<br />

10<br />

5<br />

0<br />

q<br />

p<br />

0 5 10 15 20<br />

m


Background Monotonicity Infinite Branching bib<br />

Frontiers and Belts<br />

n<br />

10<br />

5<br />

0<br />

q<br />

p<br />

0 5 10 15 20<br />

m


Background Monotonicity Infinite Branching bib<br />

Frontiers and Belts<br />

Belt Theorem<br />

n<br />

Every frontier lies in a belt with rational slope.<br />

10<br />

5<br />

0<br />

q<br />

p<br />

0 5 10 15 20<br />

m


Background Monotonicity Infinite Branching bib<br />

Frontiers and Belts<br />

Belt Theorem<br />

Every frontier lies in a belt with rational slope.<br />

Observation<br />

Colour <strong>of</strong> a point is completely determined by its 1-neighbourhood.


Background Monotonicity Infinite Branching bib<br />

Frontiers and Belts<br />

Belt Theorem<br />

Every frontier lies in a belt with rational slope.<br />

Observation<br />

Colour <strong>of</strong> a point is completely determined by its 1-neighbourhood.<br />

implies<br />

Theorem<br />

For any given OCN, ≼ is an effectively semilinear set.


Background Monotonicity Infinite Branching bib<br />

Frontiers and Belts<br />

n<br />

c 2<br />

c 3<br />

c 4<br />

q<br />

p<br />

c 1<br />

m


Background Monotonicity Infinite Branching bib<br />

Infinite Branching<br />

Modeling may require infinite branching:<br />

randomness: ”guess number”<br />

inherently ∞-branching model, e.g. PA evolutions <strong>of</strong> vectors<br />

in N n ..<br />

abstraction from internal steps.


Background Monotonicity Infinite Branching bib<br />

Weak Notions<br />

Weak Steps (a ≠ τ ∈ A)<br />

τ<br />

=⇒ := −→ τ ∗<br />

a<br />

=⇒ := −→ τ ∗<br />

a<br />

τ<br />

−→ −→ ∗


Background Monotonicity Infinite Branching bib<br />

Weak Notions<br />

Weak Steps (a ≠ τ ∈ A)<br />

τ<br />

=⇒ := −→ τ ∗<br />

a<br />

=⇒ := −→ τ ∗<br />

a<br />

τ<br />

−→ −→ ∗<br />

Definition (Weak Bismulation, Simulation and Trace Inclusion)<br />

Defined by 2-player games as before and let Duplicator move along<br />

weak steps. . . Write: ≈, ≦, .


Background Monotonicity Infinite Branching bib<br />

Some Results - Strong Case<br />

⊆<br />

≼<br />

∼<br />

undecidable<br />

undecidable<br />

decidable [Sén98]<br />

PDA<br />

DPDA<br />

= decidable [Sén97], P-hard,<br />

primitive recursive [Sti02]<br />

⊆ undecidable<br />

⊆ undecidable [?]<br />

≼<br />

∼<br />

⊆<br />

≼<br />

∼<br />

⊆<br />

≼<br />

∼<br />

undecidable [JMS99]<br />

PSPACE-c [Srb09, BGJ10]<br />

undecidable [HMT13]<br />

decidable, [AC98, JKM00],<br />

PSPACE-hard [Srb09]<br />

PSPACE-c [Srb09, BGJ10]<br />

PSPACE-comp.<br />

P-comp.<br />

P-comp.<br />

OCA<br />

OCN<br />

NFA<br />

DOCA<br />

DOCN<br />

= decidable [VP75]<br />

NL-complete, [BG11]<br />

⊆<br />

undecidable [VP75]<br />

= NL-complete<br />

⊆<br />

decidable, NL-hard<br />

DFA<br />

=, ⊆ NL-complete


Background Monotonicity Infinite Branching bib<br />

Some Results - Weak Case<br />

<br />

≦<br />

≈<br />

undecidable<br />

undecidable<br />

undecidable<br />

PDA<br />

DPDA<br />

≡<br />

<br />

decidable [Sén97], P-hard,<br />

primitive recursive [Sti02]<br />

undecidable<br />

<br />

≦<br />

≈<br />

undecidable<br />

undecidable [JMS99]<br />

undecidable<br />

OCA<br />

DOCA<br />

≡<br />

<br />

decidable<br />

undecidable [VP75]<br />

<br />

≦<br />

≈<br />

undecidable [HMT13]<br />

decidable [HMT13]<br />

PSPACE-hard [Srb09]<br />

undecidable [May03]<br />

OCN<br />

<br />

≦<br />

≈<br />

PSPACE-comp.<br />

P-comp.<br />

P-comp.<br />

NFA<br />

DOCN<br />

≡ decidable<br />

decidable, NL-hard<br />

DFA ≡, NL-complete


Background Monotonicity Infinite Branching bib<br />

Deciding ≦ on OCN-Processes [HMT13]<br />

1 reduce OCN ? ≦ OCN to OCN ? ≼ ωOCN.


Background Monotonicity Infinite Branching bib<br />

Deciding ≦ on OCN-Processes [HMT13]<br />

1 reduce OCN ? ≦ OCN to OCN ? ≼ ωOCN.<br />

2 Definte sequence ≼ 0 ⊇ ≼ 1 ⊇ . . . <strong>of</strong> approximants using<br />

syntactic peculiarity <strong>of</strong> the ωOCN.


Background Monotonicity Infinite Branching bib<br />

Deciding ≦ on OCN-Processes [HMT13]<br />

1 reduce OCN ? ≦ OCN to OCN ? ≼ ωOCN.<br />

2 Definte sequence ≼ 0 ⊇ ≼ 1 ⊇ . . . <strong>of</strong> approximants using<br />

syntactic peculiarity <strong>of</strong> the ωOCN.<br />

3 Show finite convergence: ∃k ∈ N. ≼ k<br />

= ≼ k+1<br />

.


Background Monotonicity Infinite Branching bib<br />

Deciding ≦ on OCN-Processes [HMT13]<br />

1 reduce OCN ? ≦ OCN to OCN ? ≼ ωOCN.<br />

2 Definte sequence ≼ 0 ⊇ ≼ 1 ⊇ . . . <strong>of</strong> approximants using<br />

syntactic peculiarity <strong>of</strong> the ωOCN.<br />

3 Show finite convergence: ∃k ∈ N. ≼ k<br />

= ≼ k+1<br />

.<br />

4 Show that ≼ k<br />

is semilinear for finite k. (effectively reduce<br />

≼ k+1<br />

to ≼ k<br />

)


Background Monotonicity Infinite Branching bib<br />

Bibliography<br />

Parosh Aziz Abdulla and Karlis Cerans. Simulation is decidable for one-counter<br />

nets (extended abstract). In CONCUR, pages 253–268, 1998.<br />

Stanislav Böhm and Stefan Göller. Language equivalence <strong>of</strong> deterministic<br />

real-time one-counter automata is nl-complete. In MFCS, pages 194–205, 2011.<br />

Stanislav Böhm, Stefan Göller, and Petr Jančar. Bisimilarity <strong>of</strong> one-counter<br />

processes is pspace-complete. In CONCUR, pages 177–191, 2010.<br />

R.J. van Glabbeek. The linear time – branching time spectrum I; the semantics<br />

<strong>of</strong> concrete, sequential processes. In Handbook <strong>of</strong> Process Algebra, chapter 1,<br />

pages 3–99. Elsevier, 2001.<br />

Piotr H<strong>of</strong>mann, Richard Mayr, and Patrick Totzke. Decidability <strong>of</strong> weak<br />

simulation for one-counter nets. 2013.<br />

Petr Jančar, Antonín Kučera, and Faron Moller. Simulation and bisimulation<br />

over one-counter processes. In STACS, STACS ’00, pages 334–345, London,<br />

UK, 2000. Springer-Verlag.<br />

Petr Jančar and Faron Moller. Simulation <strong>of</strong> one-counter nets via colouring.<br />

Technical report, Uppsala Computing Science, February 1999.<br />

Petr Jancar, Faron Moller, and Zdenek Sawa. Simulation problems for<br />

one-counter machines. In SOFSEM, pages 404–413, 1999.<br />

Richard Mayr. Undecidability <strong>of</strong> weak bisimulation equivalence for 1-counter<br />

processes. In ICALP’3, ICALP’03, pages 570–583, Berlin, Heidelberg, 2003.<br />

Springer-Verlag.<br />

Géraud Sénizergues. L(a) = l(b)? Electr. Notes Theor. Comput. Sci., 9:43,<br />

1997.<br />

Géraud Sénizergues. Decidability <strong>of</strong> bisimulation equivalence for equational<br />

graphs <strong>of</strong> finite out-degree. In FOCS, pages 120–129, 1998.<br />

Jirí Srba. Beyond language equivalence on visibly pushdown automata. Logical<br />

Methods in Computer Science, 5(1):1–22, 2009.<br />

Colin Stirling. Deciding dpda equivalence is primitive recursive. In ICALP, pages<br />

821–832, 2002.<br />

Leslie G. Valiant and Michael S. Paterson. Deterministic one-counter automata.<br />

Journal <strong>of</strong> Computer and System Sciences, 10(3):340 – 350, 1975.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!