Sławomir Lasota
Timed pushdown automata and branching vector addition systems
joint work with Lorenzo Clemente, Filip Mazowiecki and Ranko Lazic University of Warsaw
AVERTS 2016, Chennai
1
Timed pushdown automata and branching vector addition systems S - - PowerPoint PPT Presentation
Timed pushdown automata and branching vector addition systems S awomir Lasota University of Warsaw joint work with Lorenzo Clemente, Filip Mazowiecki and Ranko Lazic AVERTS 2016, Chennai 1 Definable sets offer a right setting for timed
Sławomir Lasota
joint work with Lorenzo Clemente, Filip Mazowiecki and Ranko Lazic University of Warsaw
1
timed automata, or timed pushdown automata.
2
timed automata, or timed pushdown automata.
2
have decidable non-emptiness problem, by reduction to an extension of BVASS in dimension 1.
3
dense time discrete time
any choice of time domain is fine
4
dense time discrete time
any choice of time domain is fine
4
dense time discrete time
any choice of time domain is fine No restriction to non-negative!
4
Let input alphabet be reals
dense time discrete time
any choice of time domain is fine No restriction to non-negative!
4
Let input alphabet be reals Timed automata assume monotonic input words :
dense time discrete time
any choice of time domain is fine No restriction to non-negative!
4
with uninitialized clocks [Alur, Dill 1990]
5
with uninitialized clocks [Alur, Dill 1990]
5
with uninitialized clocks
input alphabet = reals
[Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 input alphabet = reals
[Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 0 < c₁ < 2 c₂ := 0 input alphabet = reals
[Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2) input alphabet = reals
[Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2) input alphabet = reals
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that t₁ t₂ t₃ [Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2) input alphabet = reals
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that t₁ t₂ t₃
0..2 [Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2) input alphabet = reals
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that t₁ t₂ t₃
0..2
2..3 [Alur, Dill 1990]
5
with uninitialized clocks
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2) input alphabet = reals
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that t₁ t₂ t₃
1 or 2
0..2
2..3 [Alur, Dill 1990]
5
t₁ t₂ t₃
1 or 2
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
6
⅓ 2⅓ 2⅓ 1⅓
t₁ t₂ t₃
1 or 2
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
6
⅓ 2⅓ 2⅓ 1⅓
t₁ t₂ t₃
1 or 2
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2) (c₁=0, c₂=⅓) ≡ (c₁=0, c₂=1⅓)
6
7
7
finite stack alphabet
7
finite stack alphabet
7
[Trivedi, Wojtczak 2010], [Benerecetti, Minopoli, Peron 2010]
finite stack alphabet
7
[Trivedi, Wojtczak 2010], [Benerecetti, Minopoli, Peron 2010]
finite stack alphabet
7
Theorem 1: [Clemente, L. 2015] Dense-timed pushdown automata are expressively equivalent to pushdown timed automata.
[Trivedi, Wojtczak 2010], [Benerecetti, Minopoli, Peron 2010]
finite stack alphabet
7
Theorem 1: [Clemente, L. 2015] Dense-timed pushdown automata are expressively equivalent to pushdown timed automata. An accidental combination of
8
8
with finiteness relaxed to orbit-finiteness
8
with finiteness relaxed to orbit-finiteness
8
with finiteness relaxed to orbit-finiteness
8
definable
with finiteness relaxed to orbit-finiteness
8
definable
9
NFA re-interpreted in definable sets
9
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
0 < t-c₁ < 2 c₂ := t
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
the guards use the structure (R, <, +1)
e.g. 0 < t-c₁ <2 iff c₁ < t < c₁+2
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
c₁ 0 < c₂-c₁ < 2 the guards use the structure (R, <, +1)
e.g. 0 < t-c₁ <2 iff c₁ < t < c₁+2
[Bojańczyk, L. 2012]
10
with uninitialized clocks
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
c₁ := 0 0 < c₁ < 2 c₂ := 0 (2 < c₁ < 3) ∧ (c₂ = 1 ∨ c₂ = 2)
c₁ 0 < c₂-c₁ < 2 the guards use the structure (R, <, +1)
e.g. 0 < t-c₁ <2 iff c₁ < t < c₁+2
[Bojańczyk, L. 2012]
10
the only modifications of a clock: c:= t
with uninitialized clocks
FO(<, +1) formula defines a subset of n-tuples of reals, for instance φ(x1, x2) ≡ ∃x3 (x1 < x3 ∧ x2 = x3 + 3)
dimension
11
FO(<, +1) formula defines a subset of n-tuples of reals, for instance φ(x1, x2) ≡ ∃x3 (x1 < x3 ∧ x2 = x3 + 3)
dimension
11
FO(<, +1) formula defines a subset of n-tuples of reals, for instance FO(<, +1) = QF(<, +1) = φ(x1, x2) ≡ ∃x3 (x1 < x3 ∧ x2 = x3 + 3)
dimension
11
FO(<, +1) formula defines a subset of n-tuples of reals, for instance FO(<, +1) = QF(<, +1) =
finite
finite
zone
φ(x1, x2) ≡ ∃x3 (x1 < x3 ∧ x2 = x3 + 3)
dimension
11
ij
FO(<, +1) formula defines a subset of n-tuples of reals, for instance FO(<, +1) = QF(<, +1) =
finite
finite
zone
φ(x1, x2) ≡ ∃x3 (x1 < x3 ∧ x2 = x3 + 3) for instance: φ(x1, x2) ≡ x1 + 3 < x2 ≡ x2 − x1 ∈ (3, ∞)
dimension
11
ij
π π π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
12
π π π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
12
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
π π π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
x1 + 3 < x2 ≡ x2 − x1 ∈ (3, ∞)
Example:
12
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
π π π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
x1 + 3 < x2 ≡ x2 − x1 ∈ (3, ∞)
x1 + 3 < x2 ≤ x1 + 7 ≡ x2 − x1 ∈ (3, 7]
Example:
12
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
π π π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
x1 + 3 < x2 ≡ x2 − x1 ∈ (3, ∞)
x1 + 3 < x2 ≤ x1 + 7 ≡ x2 − x1 ∈ (3, 7] A definable set is orbit-finite iff it is defined using bounded intervals only
Example:
12
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
13
(<, +1)-definable
13
13
φA(x1, . . . , xn) φQ(x1, . . . , xm) φδ(x1, . . . , xm+n+m) φI(x1, . . . , xm), φF (x1, . . . , xm)
(<, +1)-definable
13
Runs, acceptance, language recognized, etc. are defined exactly as for classical NFA!
φA(x1, . . . , xn) φQ(x1, . . . , xm) φδ(x1, . . . , xm+n+m) φI(x1, . . . , xm), φF (x1, . . . , xm)
(<, +1)-definable
13
Runs, acceptance, language recognized, etc. are defined exactly as for classical NFA!
φA(x1, . . . , xn) φQ(x1, . . . , xm) φδ(x1, . . . , xm+n+m) φI(x1, . . . , xm), φF (x1, . . . , xm)
(<, +1)-definable
13
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
⊥
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
states:
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
⊥
Q = {⊥} ∪ R ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤}
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
states:
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
⊥
Q = {⊥} ∪ R ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤} 𝜚Q(c0, c₁, c₂) ≡ c0 = c₁ = c₂ ∨ c0+1 = c₁ = c₂ ∨ c0+2 = c₁ < c₂ < c₁+2 ∨ c0+3 = c₁ = c₂
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
states:
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
transitions: ⊥
Q = {⊥} ∪ R ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤} 𝜀 = { (⊥, t, c₁’) : c₁’ = t } ∪ 𝜚Q(c0, c₁, c₂) ≡ c0 = c₁ = c₂ ∨ c0+1 = c₁ = c₂ ∨ c0+2 = c₁ < c₂ < c₁+2 ∨ c0+3 = c₁ = c₂
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
states:
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
transitions: ⊥
Q = {⊥} ∪ R ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤} 𝜀 = { (⊥, t, c₁’) : c₁’ = t } ∪ { (c₁, t, (c₁’, c₂’)) : 0 < t-c₁ < 2 ∧ c₁ = c₁’ ∧ c₂’ = t } ∪ 𝜚Q(c0, c₁, c₂) ≡ c0 = c₁ = c₂ ∨ c0+1 = c₁ = c₂ ∨ c0+2 = c₁ < c₂ < c₁+2 ∨ c0+3 = c₁ = c₂
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
states:
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
transitions: ⊥
Q = {⊥} ∪ R ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤} 𝜀 = { (⊥, t, c₁’) : c₁’ = t } ∪ { (c₁, t, (c₁’, c₂’)) : 0 < t-c₁ < 2 ∧ c₁ = c₁’ ∧ c₂’ = t } ∪ { ((c₁, c₂), t, ⊤) : (2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2) } 𝜚Q(c0, c₁, c₂) ≡ c0 = c₁ = c₂ ∨ c0+1 = c₁ = c₂ ∨ c0+2 = c₁ < c₂ < c₁+2 ∨ c0+3 = c₁ = c₂
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
states:
c₁ := t
0 < t-c₁ < 2 c₂ := t
(2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2)
transitions: ⊥
Q = {⊥} ∪ R ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤} 𝜀 = { (⊥, t, c₁’) : c₁’ = t } ∪ { (c₁, t, (c₁’, c₂’)) : 0 < t-c₁ < 2 ∧ c₁ = c₁’ ∧ c₂’ = t } ∪ { ((c₁, c₂), t, ⊤) : (2 < t-c₁ < 3) ∧ (t-c₂ = 1 ∨ t-c₂ = 2) } 𝜚Q(c0, c₁, c₂) ≡ c0 = c₁ = c₂ ∨ c0+1 = c₁ = c₂ ∨ c0+2 = c₁ < c₂ < c₁+2 ∨ c0+3 = c₁ = c₂ 𝜚𝜀(c0, c₁, c₂, t, c0’, c₁’, c₂’) ≡ ...
14
⊥ c₁ 0 < c₂-c₁ < 2 ⊤
Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
15
constraint (invariant) Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
15
constraint (invariant)
Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
15
constraint (invariant)
non-negative Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
15
constraint (invariant)
non-negative
Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
15
definable NFA timed automata
with uninitialized clocks
16
definable NFA timed automata
with uninitialized clocks
deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
integer deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
integer
< 2
deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
integer
< 2
< 2
deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
integer
< 2
< 2
deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
minimal automata for languages
with uninitialized clocks
integer
< 2
< 2
deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
closed under minimization minimal automata for languages
with uninitialized clocks
integer
< 2
< 2
deterministic deterministic
16
definable NFA timed automata
with uninitialized clocks
closed under minimization minimal automata for languages
with uninitialized clocks
integer
< 2
< 2
deterministic deterministic
16
Theorem: [Bojańczyk, L. 2012] Deterministic definable NFA do minimize.
definable NFA timed automata
with uninitialized clocks
closed under minimization minimal automata for languages
with uninitialized clocks
integer
< 2
< 2
deterministic deterministic
16
Likewise, if FO(<, +1) is replaced by FO(<, +). Theorem: [Bojańczyk, L. 2012] Deterministic definable NFA do minimize.
17
PDA re-interpreted in definable sets
17
(<, +1)definable
18
18
Acceptance defined as for classical PDA.
φA(x1, . . . , xn) φQ(x1, . . . , xm) φS(x1, . . . , xk) φpush(x1, . . . , xm+n+m+k) φpop(x1, . . . , xm+k+n+m) φI(x1, . . . , xm), φF (x1, . . . , xm)
(<, +1)-definable
18
language: "ordered palindromes of even length over reals" input alphabet: A = R ⨄ {ε} states: stack alphabet: transitions: accepting state: initial state:
19
language: Q = R ⨄ {init, finish, acc} "ordered palindromes of even length over reals" input alphabet: A = R ⨄ {ε} states: stack alphabet: transitions: accepting state: initial state: init acc
19
language: Q = R ⨄ {init, finish, acc} "ordered palindromes of even length over reals" input alphabet: A = R ⨄ {ε} states: stack alphabet: transitions: accepting state: initial state: init acc S = R ⨄ {⊥}
19
language: Q = R ⨄ {init, finish, acc} "ordered palindromes of even length over reals" input alphabet: A = R ⨄ {ε} push ⊆ Q × A × Q × S states: stack alphabet: transitions: accepting state: initial state: init acc S = R ⨄ {⊥} in state init, without reading input, change state to an arbitrary real t, and push ⊥ on
stack
(init, ε, t, ⊥) (t, u, u, u) t < u (t, u, finish, u) t < u
19
language: Q = R ⨄ {init, finish, acc} "ordered palindromes of even length over reals" input alphabet: A = R ⨄ {ε} push ⊆ Q × A × Q × S states: stack alphabet: transitions: accepting state: initial state: init acc S = R ⨄ {⊥}
(finish, t, t, finish) (finish, ⊥, ε, acc)
pop ⊆ Q × S × A × Q
(init, ε, t, ⊥) (t, u, u, u) t < u (t, u, finish, u) t < u
in state finish, pop a real t from stack, read the same t from input, and stay in the same state
19
(<, +1)-definable
20
(<, +1)-definable
≤n ≤m
20
(<, +1)-definable
Acceptance defined as for classical prefix rewriting.
≤n ≤m
20
definable in FO(<, +1)
21
definable in FO(<, +1)
Generated language defined as for classical PDA.
21
≤n
prefix rewriting CFG
dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack (finite stack alphabet) PDA
22
[Clemente, L. 2015]
prefix rewriting CFG
palindromes
dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack (finite stack alphabet) PDA
22
[Clemente, L. 2015]
prefix rewriting CFG
palindromes
dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack (finite stack alphabet) PDA constrained PDA
22
[Clemente, L. 2015]
prefix rewriting CFG
palindromes
dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack (finite stack alphabet) PDA constrained PDA
palindromes over {a,b}×reals with the same number of a’s and b’s
22
[Clemente, L. 2015]
(<, +1)-definable
23
23
Span of transitions is bounded. Too strong restriction!
23
Span of transitions is bounded. Too strong restriction! For instance, such PDA do not recognize palindromes over reals.
23
(<, +1)-definable
24
(<, +1)-definable
24
(<, +1)-definable
Theorem 2: [Clemente, L. 2015] The non-emptiness problem is in NEXPTIME. For finite stack alphabet, EXPTIME-complete.
24
(<, +1)-definable
Theorem 2: [Clemente, L. 2015] The non-emptiness problem is in NEXPTIME. For finite stack alphabet, EXPTIME-complete. Fact: The model subsumes dense-timed PDA with uninitialized clocks.
24
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
25
[Clemente, L. 2015]
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
in NEXPTIME
25
[Clemente, L. 2015]
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME
25
[Clemente, L. 2015]
u n d e c i d a b l e
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME
25
[Clemente, L. 2015]
u n d e c i d a b l e
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME EXPTIME-c.
25
[Clemente, L. 2015]
u n d e c i d a b l e
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME EXPTIME-c.
25
[Clemente, L. 2015]
in 2-EXPTIME
26
u n d e c i d a b l e
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME EXPTIME-c. in 2-EXPTIME
26
u n d e c i d a b l e
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME EXPTIME-c. in 2-EXPTIME
Theorem 3: The non-emptiness problem of definable PDA is in 2-EXPTIME.
26
u n d e c i d a b l e
prefix rewriting CFG dense-timed PDA
with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet PDA constrained PDA
EXPTIME-c. in NEXPTIME EXPTIME-c. in 2-EXPTIME
Theorem 3: The non-emptiness problem of definable PDA is in 2-EXPTIME. Complexity gap: EXPTIME … 2-EXPTIME
27
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack x ⤑ x (base)
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity)
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop) if push(x’, x, s) and pop(y, s, y’) for some stack symbol s
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop) if push(x’, x, s) and pop(y, s, y’) for some stack symbol s
Problem: how to make this work for orbit-finite state space?
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop) if push(x’, x, s) and pop(y, s, y’) for some stack symbol s
Problem: how to make this work for orbit-finite state space? Guideline: think like state = an integer
27
Notation: q ⤑ p — there is a run from state p to state q that starts and ends with the empty stack x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop) if push(x’, x, s) and pop(y, s, y’) for some stack symbol s
Problem: how to make this work for orbit-finite state space? Guideline: think like state = an integer capture all differences y - x, for x ⤑ y
28
Given a systems of equations
x1 = t1 x2 = t2 . . . xn = tn
29
Given a systems of equations
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
Given a systems of equations
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
Given a systems of equations
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
Given a systems of equations
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
Given a systems of equations
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
for instance: x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = x1 + {1} ∪ x1 + {−1}
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
29
where right-hand sides use:
for instance: x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = x1 + {1} ∪ x1 + {−1}
What is the least solution with respect to inclusion?
30
exponential blowup
definable PDA systems of equations
30
x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop)
exponential blowup
definable PDA systems of equations
30
x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop)
exponential blowup
definable PDA systems of equations
Guideline: think like state = an integer, capture all differences y - x, for x ⤑ y
30
x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop)
exponential blowup
definable PDA systems of equations
Xpp ⊇ {0} Guideline: think like state = an integer, capture all differences y - x, for x ⤑ y
30
x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop)
exponential blowup
definable PDA systems of equations
Xpp ⊇ {0} Xpr ⊇ Xpq + Xqr Guideline: think like state = an integer, capture all differences y - x, for x ⤑ y
30
x ⤑ x (base) x ⤑ y y ⤑ z x ⤑ z (transitivity) x ⤑ y x’ ⤑ y’ (push-pop)
exponential blowup
definable PDA systems of equations
Xpp ⊇ {0} Xpr ⊇ Xpq + Xqr Xpq ⊇ (I + (Xrs ∩ (J+N)) + L) ∩ -(M+K) Guideline: think like state = an integer, capture all differences y - x, for x ⤑ y
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
31
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
How to solve the problem in absence of intersections?
31
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
How to solve the problem in absence of intersections? x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = x1 + {1} ∪ x1 + {−1}
31
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
How to solve the problem in absence of intersections? x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = x1 + {1} ∪ x1 + {−1}
Decidable in P
31
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
32
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
The problem is undecidable for unlimited intersections. [Jeż, Okhotin 2010]
32
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
33
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
33
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = (x1 + {1} ∪ x1 + {−1}) ∩ {1}
33
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = x1 + {1} ∪ x1 + {−1}
membership problem
33
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
x1 = {0} ∪ x2 + {1} ∪ x2 + {−1} x2 = {1}
33
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
34
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
34
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about limited intersections: _ ∩ I, for I a finite interval?
the core problem (with exponential blow-up)
34
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
35
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about _ ∩ I, for I an arbitrary interval?
35
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about _ ∩ I, for I an arbitrary interval?
35
Given a systems of equations decide, whether its least solution assigns a non-empty set to ? x1
x1 = t1 x2 = t2 . . . xn = tn
What about _ ∩ I, for I an arbitrary interval?
(with exponential blow-up)
35
36
definable PDA systems of equations
exponential blowup
36
definable PDA systems of equations
exponential blowup
36
definable PDA
poly
systems of equations
exponential blowup
36
definable PDA
poly
systems of equations
poly
1-BVASS(+ -)
exponential blowup
36
definable PDA
poly
systems of equations
poly
1-BVASS(+ -)
effective
exponential blowup
36
definable PDA
poly
systems of equations
poly
1-BVASS(+ -)
effective non-emptiness in EXPTIME
37
38
38
38
38
38
q l r
q l r
with a final state in the root?
38
q l r
q l r
39
39
Theorem 4: The non-emptiness problem of 1-BVASS(+ -) is in EXPTIME.
39
Theorem 4: The non-emptiness problem of 1-BVASS(+ -) is in EXPTIME. Proof idea: Exponentially bounded witness.
39
Theorem 4: The non-emptiness problem of 1-BVASS(+ -) is in EXPTIME. Proof idea: Exponentially bounded witness. Complexity gap: PSPACE … EXPTIME
39
Theorem 4: The non-emptiness problem of 1-BVASS(+ -) is in EXPTIME. Theorem: [Goeller, Haase, Lazic, Totzke 2016] The non-emptiness problem of 1-BVASS(+) is in P (unary encoding). Proof idea: Exponentially bounded witness. Complexity gap: PSPACE … EXPTIME
timed automata, or timed pushdown automata.
40
have decidable non-emptiness problem, by reduction to an extension of BVASS in dimension 1.
timed automata, or timed pushdown automata.
40
have decidable non-emptiness problem, by reduction to an extension of BVASS in dimension 1.