Sławomir Lasota
Automata with timed atoms
joint work with Mikołaj Bojańczyk and Lorenzo Clemente
University of Warsaw
Infinity 2015, Bengaluru1
Sławomir Lasota
joint work with Mikołaj Bojańczyk and Lorenzo Clemente
University of Warsaw
Infinity 2015, Bengaluru
FO-definable automata
1
FO-definable sets offer a right setting for timed models of computation, like timed automata, or timed pushdown automata.
2
Plan
3
Plan
• Motivation
3
Plan
• Motivation
• FO-definable NFA
3
Plan
• Motivation
• FO-definable NFA
• FO-definable PDA
3
Plan
• Motivation
• FO-definable NFA
• FO-definable PDA
• The core problem: equations over sets of integers
3
• reals
• rationals
• integers
}dense time
discrete time
Time domain
any choice of time domain is fine
4
• reals
• rationals
• integers
}dense time
discrete time
Time domain
any choice of time domain is fine
4
• reals
• rationals
• integers
}dense time
discrete time
Time domain
any choice of time domain is fine
No restriction to non-negative!
4
Let input alphabet be reals
• reals
• rationals
• integers
}dense time
discrete time
Time domain
any choice of time domain is fine
No restriction to non-negative!
4
Let input alphabet be reals
Monotonic input words :
• reals
• rationals
• integers
}dense time
discrete time
Time domain
any choice of time domain is fine
No restriction to non-negative!
4
Timed automatawith uninitialized clocks
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
[Alur, Dill 1990]
5
?
Timed automatawith uninitialized clocks
t realnumber
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t realnumber
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t
0 < c₁ < 2c₂ := 0
t realnumber
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
trealnumber
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
trealnumber
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that
t₁ t₂ t₃
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
trealnumber
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that
t₁ t₂ t₃
{ 0..2
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
trealnumber
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that
t₁ t₂ t₃
{ 0..2
{2..3
[Alur, Dill 1990]
5
Timed automatawith uninitialized clocks
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
trealnumber
the automaton accepts words t₁ t₂ t₃ ∈ R³ such that
t₁ t₂ t₃{1 or 2
{ 0..2
{2..3
[Alur, Dill 1990]
5
Deterministic timed automata don’t minimize
t₁ t₂ t₃{1 or 2
{ 0..2
{2..3
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
6
Deterministic timed automata don’t minimize
⅓0 2⅓
0 2⅓1⅓t₁ t₂ t₃{1 or 2
{ 0..2
{2..3
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
6
Deterministic timed automata don’t minimize
⅓0 2⅓
0 2⅓1⅓t₁ t₂ t₃{1 or 2
{ 0..2
{2..3
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
(c₁=0, c₂=⅓) ≡ (c₁=0, c₂=1⅓)
6
Towards timed pushdown automata
7
Towards timed pushdown automata
• timed automata [Alur, Dill 1990]
7
Towards timed pushdown automata
• timed automata [Alur, Dill 1990]
• pushdown timed automata [Bouajjani, Echahed, Robbana 1994]
finite stack alphabet
7
Towards timed pushdown automata
• timed automata [Alur, Dill 1990]
• pushdown timed automata [Bouajjani, Echahed, Robbana 1994]
• dense-timed pushdown automata [Abdulla, Atig, Stenman 2012]
finite stack alphabet
• clocks can be pushed onto stack• the emptiness problem EXPTIME-complete
7
Towards timed pushdown automata
• timed automata [Alur, Dill 1990]
• pushdown timed automata [Bouajjani, Echahed, Robbana 1994]
• dense-timed pushdown automata [Abdulla, Atig, Stenman 2012]
• recursive timed automata [Trivedi, Wojtczak 2010], [Benerecetti, Minopoli, Peron 2010]
finite stack alphabet
• clocks can be pushed onto stack• the emptiness problem EXPTIME-complete
7
Dense-timed PDA collapse
Theorem 1: [Clemente, L. 2015]Dense-timed pushdown automata are expressively equivalent to pushdown timed automata.
8
Dense-timed PDA collapse
Theorem 1: [Clemente, L. 2015]Dense-timed pushdown automata are expressively equivalent to pushdown timed automata.
An accidental combination of • stack discipline• monotonicity of time• syntactic restrictions
8
9
FO-definable sets offer a right setting for timed models of computation, like timed automata, or timed pushdown automata.
• do not invent a new definition
9
FO-definable sets offer a right setting for timed models of computation, like timed automata, or timed pushdown automata.
• do not invent a new definition
• re-interpret a classical definition in FO-definable sets, with
finiteness relaxed to orbit-finiteness
9
FO-definable sets offer a right setting for timed models of computation, like timed automata, or timed pushdown automata.
In search of lost definition
• Motivation
• FO-definable NFA
• FO-definable PDA
• The core problem: equations over sets of integers
10
In search of lost definition
NFA re-interpreted in FO-definable sets
• Motivation
• FO-definable NFA
• FO-definable PDA
• The core problem: equations over sets of integers
10
Timed automata are register automata
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
[Bojańczyk, L. 2012]
11
Timed automata are register automata
c₁ := tt
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
[Bojańczyk, L. 2012]
11
Timed automata are register automata
c₁ := tt
0 < t-c₁ < 2c₂ := t
t
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
[Bojańczyk, L. 2012]
11
Timed automata are register automata
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
t
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
[Bojańczyk, L. 2012]
11
Timed automata are register automata
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
[Bojańczyk, L. 2012]
11
Timed automata are register automata
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
the guards use the structure (R, <, +1)e.g. 0 < t-c₁ <2 iff c₁ < t < c₁+2
[Bojańczyk, L. 2012]
11
Timed automata are register automata
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
⊥ 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]
11
Timed automata are register automata
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
c₁ := 0t
0 < c₁ < 2c₂ := 0
t(2 < c₁ < 3) ∧
(c₂ = 1 ∨ c₂ = 2)
t
⊥ 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]
11
the only modifications of a clock: c:= t
FO(<, +1)-definable sets
�(x1, . . . , xn)FO(<, +1) formula defines a subset of n-tuples of reals, for instance
�(x1, x2) ⌘ 9x3 (x1 < x3 ^ x2 = x3 + 3)
dimension
12
�(x1, . . . , xn)FO(<, +1) formula defines a subset of n-tuples of reals, for instance
�(x1, x2) ⌘ 9x3 (x1 < x3 ^ x2 = x3 + 3)
dimension
12
FO-definable sets
�(x1, . . . , xn)FO(<, +1) formula defines a subset of n-tuples of reals, for instance
FO(<, +1) = QF(<, +1) =
�(x1, x2) ⌘ 9x3 (x1 < x3 ^ x2 = x3 + 3)
dimension
12
FO-definable sets
�(x1, . . . , xn)FO(<, +1) formula defines a subset of n-tuples of reals, for instance
FO(<, +1) = QF(<, +1) = _
finite
^
finite
xi � xj 2 I
| {z }zone
�(x1, x2) ⌘ 9x3 (x1 < x3 ^ x2 = x3 + 3)
dimension
12
FO-definable sets
�(x1, . . . , xn)FO(<, +1) formula defines a subset of n-tuples of reals, for instance
FO(<, +1) = QF(<, +1) = _
finite
^
finite
xi � xj 2 I
| {z }zone
�(x1, x2) ⌘ 9x3 (x1 < x3 ^ x2 = x3 + 3)
for instance
�(x1, x2) ⌘ x1 + 3 < x2 ⌘ x2 � x1 2 (3,1)
dimension
12
FO-definable sets
FO-definable NFA
• alphabet A
• states Q
• transitions δ ⊆ Q × A × Q
• I, F ⊆ Q
13
FO-definable NFA
• alphabet A
• states Q
• transitions δ ⊆ Q × A × Q
• I, F ⊆ Q}definable in FO(<, +1)
13
FO-definable NFA
• alphabet A
• states Q
• transitions δ ⊆ Q × A × Q
• I, F ⊆ Q
�A(x1, . . . , xn)
�Q(x1, . . . , xm)
��(x1, . . . , xm+n+m)
�I(x1, . . . , xm), �F (x1, . . . , xm)
13
FO-definable NFA
• alphabet A
• states Q
• transitions δ ⊆ Q × A × Q
• I, F ⊆ Q�A(x1, . . . , xn)
�Q(x1, . . . , xm)
��(x1, . . . , xm+n+m)
�I(x1, . . . , xm), �F (x1, . . . , xm)
}definable in FO(<, +1)
13
FO-definable NFA
• alphabet A
• states Q
• transitions δ ⊆ Q × A × Q
• I, F ⊆ Q
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)
}definable in FO(<, +1)
13
FO-definable NFA
• alphabet A
• states Q
• transitions δ ⊆ Q × A × Q
• I, F ⊆ Q
}orbit-finite
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)
}definable in FO(<, +1)
13
Orbit-finitenessπ
π
π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
14
Orbit-finitenessπ
π
π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
14
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
Orbit-finitenessπ
π
π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
x1 + 3 < x2 ⌘ x2 � x1 2 (3,1) orbit-infinite
Example:
14
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
Orbit-finitenessπ
π
π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
x1 + 3 < x2 ⌘ x2 � x1 2 (3,1)
x1 + 3 < x2 x1 + 7 ⌘ x2 � x1 2 (3, 7]
orbit-infiniteorbit-finite
Example:
14
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
Orbit-finitenessπ
π
π
Automorphisms π of (R, <, +1) act on a definable set thus splitting it into orbits.
x1 + 3 < x2 ⌘ x2 � x1 2 (3,1)
x1 + 3 < x2 x1 + 7 ⌘ x2 � x1 2 (3, 7]
An FO-definable set is orbit-finite iff
it is defined using bounded intervals only
orbit-infiniteorbit-finite
Example:
14
For instance, (-1, ⅓) and (3, 4⅓) and (1⅓, 3) are in the same orbit.
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
⊥
Register automata are FO-definable NFA
15
states:
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
⊥
Register automata are FO-definable NFA
Q = {⊥} ∪ {c₁∊R} ∪ { (c₁, c₂)∊R×R : 0 < c₂-c₁ < 2 } ∪ {⊤}
15
states:
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
⊥
Register automata are FO-definable NFA
Q = {⊥} ∪ {c₁∊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₂
15
states:
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
transitions:
⊥
Register automata are FO-definable NFA
Q = {⊥} ∪ {c₁∊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₂
15
states:
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
transitions:
⊥
Register automata are FO-definable NFA
Q = {⊥} ∪ {c₁∊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₂
15
states:
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
transitions:
⊥
Register automata are FO-definable NFA
Q = {⊥} ∪ {c₁∊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₂
15
states:
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
transitions:
⊥
Register automata are FO-definable NFA
Q = {⊥} ∪ {c₁∊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₂’) ≡ ...
15
Timed automata vs. FO-definable NFA
FO-definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
16
Timed automata vs. FO-definable NFA
• in every location, clock valuations are restricted by an orbit-finite constraint (invariant)
FO-definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
16
Timed automata vs. FO-definable NFA
• in every location, clock valuations are restricted by an orbit-finite constraint (invariant)
• number of clocks may vary from one location to another
FO-definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
16
Timed automata vs. FO-definable NFA
• in every location, clock valuations are restricted by an orbit-finite constraint (invariant)
• number of clocks may vary from one location to another • the input needs not be monotonic (but can be enforced to be)
FO-definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
16
Timed automata vs. FO-definable NFA
• in every location, clock valuations are restricted by an orbit-finite constraint (invariant)
• number of clocks may vary from one location to another • the input needs not be monotonic (but can be enforced to be) • alphabet letters may be a tuples of timestamps
FO-definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but:
16
FO-definable NFA
timed automata with uninitialized clocks
Timed automata vs. FO-definable NFA
17
FO-definable NFA
timed automata with uninitialized clocks
Timed automata vs. FO-definable NFA
deterministic
deterministic
17
FO-definable NFA
timed automata with uninitialized clocks
Timed automata vs. FO-definable NFA
{integer
deterministic
deterministic
17
FO-definable NFA
timed automata with uninitialized clocks
Timed automata vs. FO-definable NFA
{integer
{< 2
deterministic
deterministic
17
FO-definable NFA
timed automata with uninitialized clocks
Timed automata vs. FO-definable NFA
{integer
{< 2 {< 2
deterministic
deterministic
17
FO-definable NFA
timed automata with uninitialized clocks
Timed automata vs. FO-definable NFA
{integer
{< 2 {< 2...
deterministic
deterministic
17
FO-definable NFA
timed automata with uninitialized clocks
closed underminimization
Timed automata vs. FO-definable NFA
{integer
{< 2 {< 2...
deterministic
deterministic
17
FO-definable NFA
timed automata with uninitialized clocks
closed underminimization
minimal automata for languages of deterministic timed automata
with uninitialized clocks
Timed automata vs. FO-definable NFA
{integer
{< 2 {< 2...
deterministic
deterministic
17
FO-definable DFA do minimize
deterministic FO-definable NFA
deterministic timed automata with uninitialized clocks
minimal automata for languages of deterministic timed automata
with uninitialized clocks
18
[Bojańczyk, L. 2012]
FO-definable DFA do minimize
deterministic FO-definable NFA
deterministic timed automata with uninitialized clocks
minimal automata for languages of deterministic timed automata
with uninitialized clocks
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
c1 c2 t{1 or 2
{ 0..2
{
2..3
0 < c₂-c₁ < 2⅓0 2⅓
0 2⅓1⅓
18
[Bojańczyk, L. 2012]
FO-definable DFA do minimize
deterministic FO-definable NFA
deterministic timed automata with uninitialized clocks
minimal automata for languages of deterministic timed automata
with uninitialized clocks
c₁ := tt
0 < t-c₁ < 2c₂ := t
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
c1 c2 t{1 or 2
{ 0..2
{
2..3
0 < c₂-c₁ < 2
c₁ := tt
if 0 < t-c₁ <= 1c₂ := t
if 1 < t-c₁ < 2c₂ := t-1
t(2 < t-c₁ < 3) ∧
(t-c₂ = 1 ∨ t-c₂ = 2)
t
0 < c₂-c₁ <= 1
⅓0 2⅓
0 2⅓1⅓
18
[Bojańczyk, L. 2012]
Presburger NFA
Minimization holds also if FO(<, +1) is replaced by FO(<, +)
19
[Bojańczyk, L. 2012]
• Motivation
• FO-definable NFA
• FO-definable PDA
• The core problem: equations over sets of integers
20
In search of lost definition
PDA re-interpreted in FO-definable sets
• Motivation
• FO-definable NFA
• FO-definable PDA
• The core problem: equations over sets of integers
20
In search of lost definition
FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}definable in FO(<, +1)
}orbit-finite
21
FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}orbit-finite�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)
21
FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}orbit-finite
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)
}definable in FO(<, +1)
21
language: "ordered palindromes of even length over reals"input alphabet: A = reals ⨄ {ε}
states:stack alphabet:
transitions:
accepting state: initial state:
Example
22
language:
Q = reals ⨄ {init, finish, acc}
"ordered palindromes of even length over reals"input alphabet: A = reals ⨄ {ε}
states:stack alphabet:
transitions:
accepting state: initial state: init
acc
Example
22
language:
Q = reals ⨄ {init, finish, acc}
"ordered palindromes of even length over reals"input alphabet: A = reals ⨄ {ε}
states:stack alphabet:
transitions:
accepting state: initial state: init
acc
S = reals ⨄ {⊥}
Example
22
language:
Q = reals ⨄ {init, finish, acc}
"ordered palindromes of even length over reals"input alphabet: A = reals ⨄ {ε}
push ⊆ Q × A × Q × S
states:stack alphabet:
transitions:
accepting state: initial state: init
acc
S = reals ⨄ {⊥}
in state init, without reading input, change state to an arbitrary real t, and push ⊥ on stack
Example
(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
22
language:
Q = reals ⨄ {init, finish, acc}
"ordered palindromes of even length over reals"input alphabet: A = reals ⨄ {ε}
push ⊆ Q × A × Q × S
states:stack alphabet:
transitions:
accepting state: initial state: init
acc
S = reals ⨄ {⊥}
Example
(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
22
FO-definable prefix rewriting
• alphabet A
• states Q
• stack alphabet S
• ρ ⊆ Q × S* × A × Q × S*
• I, F ⊆ Q
}definable in FO(<, +1)}orbit-finite
23
FO-definable prefix rewriting
• alphabet A
• states Q
• stack alphabet S
• ρ ⊆ Q × S* × A × Q × S*
• I, F ⊆ Q
}definable in FO(<, +1)}orbit-finite
≤n ≤m
23
FO-definable prefix rewriting
• alphabet A
• states Q
• stack alphabet S
• ρ ⊆ Q × S* × A × Q × S*
• I, F ⊆ Q
}definable in FO(<, +1)}orbit-finite
Acceptance defined as for classical prefix rewriting.
≤n ≤m
23
orbit-finitesetofsymbolsS
FO-definable context-free grammars
• nonterminal symbols S
• terminal symbols A
• an initial nonterminal symbol
• ρ ⊆ S×(S⨄A)*}definable in FO(<, +1)
} orbit-finite
24
orbit-finitesetofsymbolsS
FO-definable context-free grammars
• nonterminal symbols S
• terminal symbols A
• an initial nonterminal symbol
• ρ ⊆ S×(S⨄A)*}definable in FO(<, +1)
} orbit-finite
Generated language defined as for classical PDA.
24
≤n
prefix rewriting
CFG
Expressiveness of FO-definable models
dense-timed PDA with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack
(finite stack alphabet)
PDA
25
[Clemente, L. 2015]
prefix rewriting
CFG
Expressiveness of FO-definable models
palindromes
dense-timed PDA with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack
(finite stack alphabet)
PDA
25
[Clemente, L. 2015]
prefix rewriting
CFG
Expressiveness of FO-definable models
palindromes
dense-timed PDA with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with timeless stack
(finite stack alphabet)
PDA
constrained PDA
25
[Clemente, L. 2015]
prefix rewriting
CFG
Expressiveness of FO-definable models
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
25
[Clemente, L. 2015]
Constrained FO-definable PDA?
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}definable in FO(<, +1)
}orbit-finite
26
Constrained FO-definable PDA?
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}orbit-finite}orbit-finite?
26
Constrained FO-definable PDA?
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}orbit-finite}orbit-finite?
Too strong restriction! Span of transitions is bounded.
26
Constrained FO-definable PDA?
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}orbit-finite}orbit-finite?
Too strong restriction! Span of transitions is bounded. For instance, such PDA do not recognize palindromes over reals.
26
Constrained FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}definable in FO(<, +1)
}orbit-finite
27
Constrained FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}definable in FO(<, +1)
}orbit-finite
}
orbit-finite
}
orbit-finite
27
Constrained FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}definable in FO(<, +1)
}orbit-finite
}
orbit-finite
}
orbit-finite
Theorem 2: [Clemente, L. 2015]The non-emptiness problem is in NEXPTIME.For finite stack alphabet, EXPTIME-complete.
27
Constrained FO-definable PDA
• alphabet A
• states Q
• stack alphabet S
• push ⊆ Q × A × Q × S
• pop ⊆ Q × S × A × Q
• I, F ⊆ Q
}definable in FO(<, +1)
}orbit-finite
}
orbit-finite
}
orbit-finite
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. 27
Complexity of non-emptiness
prefix rewriting
CFG
dense-timed PDA with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet
PDA
constrained PDA
28
[Clemente, L. 2015]
Complexity of non-emptiness
prefix rewriting
CFG
dense-timed PDA with uninitialized clocks
[Abdulla, Atig, Stenman 2012]
PDA with finite stack alphabet
PDA
constrained PDA in NEXPTIME
28
[Clemente, L. 2015]
Complexity of non-emptiness
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
28
[Clemente, L. 2015]
undecidable
Complexity of non-emptiness
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
28
[Clemente, L. 2015]
undecidable
Complexity of non-emptiness
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
EXPT
IME-c
.
28
[Clemente, L. 2015]
undecidable
Complexity of non-emptiness
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
EXPT
IME-c
.
?
28
[Clemente, L. 2015]
Plan
• Motivation
• FO-definable NFA
• FO-definable PDA
• The core problem: equations over sets of integers
29
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
30
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
• constants {-1}, {0}, {1}where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
30
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
• constants {-1}, {0}, {1}• set union ∪
where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
30
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
• constants {-1}, {0}, {1}• set union ∪• point-wise addition +
where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
30
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
30
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
for instance:
x1 = {0} [ x2 + {1} [ x2 + {�1}x2 = x1 + {1} [ x1 + {�1}{
30
orbit-finitesetofsymbolsS
The core problemSystems of equations over sets of integers
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
where right-hand sides use:{x1 = t1
x2 = t2
. . .
xn = tn
for instance:
x1 = {0} [ x2 + {1} [ x2 + {�1}x2 = x1 + {1} [ x1 + {�1}{
What is the least solution with respect to inclusion?
30
orbit-finitesetofsymbolsS
The core problem - no intersectionsGiven a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
31
orbit-finitesetofsymbolsS
The core problem - no intersectionsGiven a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
How to solve the problem in absence of intersections?
31
orbit-finitesetofsymbolsS
The core problem - no intersectionsGiven a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
How to solve the problem in absence of intersections?
x1 = {0} [ x2 + {1} [ x2 + {�1}x2 = x1 + {1} [ x1 + {�1}{
31
orbit-finitesetofsymbolsS
The core problem - no intersectionsGiven a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
How to solve the problem in absence of intersections?
x1 = {0} [ x2 + {1} [ x2 + {�1}x2 = x1 + {1} [ x1 + {�1}{
Decidable in P
31
orbit-finitesetofsymbolsS
The core problem - intersectionsGiven a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
32
orbit-finitesetofsymbolsS
The core problem - intersectionsGiven 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]
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
32
orbit-finitesetofsymbolsS
The core problem - limited intersectionGiven a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
33
orbit-finitesetofsymbolsS
The core problem - limited intersectionGiven 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?
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
33
orbit-finitesetofsymbolsS
The core problem - limited intersectionGiven 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}
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
33
orbit-finitesetofsymbolsS
The core problem - limited intersectionGiven 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}
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
membership problem
33
orbit-finitesetofsymbolsS
The core problem - limited intersectionGiven 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}
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
33
orbit-finitesetofsymbolsS
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?
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
34
orbit-finitesetofsymbolsS
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?
• NP-complete
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
34
orbit-finitesetofsymbolsS
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?
• NP-complete• non-emptiness of constrained FO-definable PDA reduces to
the core problem (with exponential blow-up)
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
34
orbit-finitesetofsymbolsS
Given a systems of equations
decide, whether its least solution assigns a non-empty set to ?x1
{x1 = t1
x2 = t2
. . .
xn = tn
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
35
orbit-finitesetofsymbolsS
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?
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
35
orbit-finitesetofsymbolsS
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?
• decidability status open!
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
35
orbit-finitesetofsymbolsS
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?
• decidability status open!• non-emptiness of FO-definable PDA reduces to the core problem
(with exponential blow-up)
• constants {-1}, {0}, {1}• set union ∪• point-wise addition + • limited intersection ∩
The core problem - limited intersection
35
questions?
Visit our blog...
36