Automata with timed atoms - mimuw.edu.plsl/SLIDES/Bengaluru.2015.12.pdfInfinity 2015, Bengaluru 1....

Post on 12-Jul-2020

2 views 0 download

Transcript of Automata with timed atoms - mimuw.edu.plsl/SLIDES/Bengaluru.2015.12.pdfInfinity 2015, Bengaluru 1....

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