slides - University of Edinburgh
slides - University of Edinburgh
slides - University of Edinburgh
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.