Timed automata are register automata with uninitialized clocks [Boja ń czyk, L. 2012] c ₁ := 0 0 < c ₁ < 2 (2 < c ₁ < 3) ∧ c ₂ := 0 (c ₂ = 1 ∨ c ₂ = 2) the only modifications of a clock: c:= t 0 < c ₂ -c ₁ < 2 c ₁ t t t c ₁ := t (2 < t-c ₁ < 3) ∧ 0 < t-c ₁ < 2 c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) the guards use the structure (R, <, +1) e.g. 0 < t-c ₁ <2 iff c ₁ < t < c ₁ +2 10
(<, +1)-definable sets dimension FO(<, +1) formula defines a subset of φ ( x 1 , . . . , x n ) n-tuples of reals, for instance φ ( x 1 , x 2 ) ∃ x 3 ( x 1 < x 3 ∧ x 2 = x 3 + 3) ≡ 11
definable sets dimension FO(<, +1) formula defines a subset of φ ( x 1 , . . . , x n ) n-tuples of reals, for instance φ ( x 1 , x 2 ) ∃ x 3 ( x 1 < x 3 ∧ x 2 = x 3 + 3) ≡ 11
definable sets dimension FO(<, +1) formula defines a subset of φ ( x 1 , . . . , x n ) n-tuples of reals, for instance φ ( x 1 , x 2 ) ∃ x 3 ( x 1 < x 3 ∧ x 2 = x 3 + 3) ≡ FO(<, +1) = QF(<, +1) = 11
definable sets dimension FO(<, +1) formula defines a subset of φ ( x 1 , . . . , x n ) n-tuples of reals, for instance φ ( x 1 , x 2 ) ∃ x 3 ( x 1 < x 3 ∧ x 2 = x 3 + 3) ≡ _ ^ x i − x j ∈ I FO(<, +1) = QF(<, +1) = ij finite finite | {z } zone 11
definable sets dimension FO(<, +1) formula defines a subset of φ ( x 1 , . . . , x n ) n-tuples of reals, for instance φ ( x 1 , x 2 ) ∃ x 3 ( x 1 < x 3 ∧ x 2 = x 3 + 3) ≡ _ ^ x i − x j ∈ I FO(<, +1) = QF(<, +1) = ij finite finite | {z } zone for instance: φ ( x 1 , x 2 ) x 1 + 3 < x 2 x 2 − x 1 ∈ (3 , ∞ ) ≡ ≡ 11
Orbit-finiteness Automorphisms π of (R, <, +1) act on a π π definable set thus splitting it into orbits. π 12
Orbit-finiteness Automorphisms π of (R, <, +1) act on a π π definable set thus splitting it into orbits. π For instance, (-1, ⅓ ) and (3, 4 ⅓ ) and (1 ⅓ , 3) are in the same orbit. 12
Orbit-finiteness Automorphisms π of (R, <, +1) act on a π π definable set thus splitting it into orbits. π For instance, (-1, ⅓ ) and (3, 4 ⅓ ) and (1 ⅓ , 3) are in the same orbit. Example: orbit-infinite x 1 + 3 < x 2 x 2 − x 1 ∈ (3 , ∞ ) ≡ 12
Orbit-finiteness Automorphisms π of (R, <, +1) act on a π π definable set thus splitting it into orbits. π For instance, (-1, ⅓ ) and (3, 4 ⅓ ) and (1 ⅓ , 3) are in the same orbit. Example: orbit-infinite x 1 + 3 < x 2 x 2 − x 1 ∈ (3 , ∞ ) ≡ orbit-finite x 1 + 3 < x 2 ≤ x 1 + 7 x 2 − x 1 ∈ (3 , 7] ≡ 12
Orbit-finiteness Automorphisms π of (R, <, +1) act on a π π definable set thus splitting it into orbits. π For instance, (-1, ⅓ ) and (3, 4 ⅓ ) and (1 ⅓ , 3) are in the same orbit. Example: orbit-infinite x 1 + 3 < x 2 x 2 − x 1 ∈ (3 , ∞ ) ≡ orbit-finite x 1 + 3 < x 2 ≤ x 1 + 7 x 2 − x 1 ∈ (3 , 7] ≡ A definable set is orbit-finite iff it is defined using bounded intervals only 12
Definable NFA • alphabet A • states Q • transitions δ ⊆ Q × A × Q • I, F ⊆ Q 13
Definable NFA } • alphabet A • states Q (<, +1)-definable • transitions δ ⊆ Q × A × Q • I, F ⊆ Q 13
Definable NFA • alphabet A φ A ( x 1 , . . . , x n ) • states Q φ Q ( x 1 , . . . , x m ) φ δ ( x 1 , . . . , x m + n + m ) • transitions δ ⊆ Q × A × Q φ I ( x 1 , . . . , x m ) , φ F ( x 1 , . . . , x m ) • I, F ⊆ Q 13
Definable NFA } • alphabet A • states Q (<, +1)-definable • transitions δ ⊆ Q × A × Q φ A ( x 1 , . . . , x n ) • I, F ⊆ Q φ Q ( x 1 , . . . , x m ) φ δ ( x 1 , . . . , x m + n + m ) φ I ( x 1 , . . . , x m ) , φ F ( x 1 , . . . , x m ) 13
Definable NFA } • alphabet A • states Q (<, +1)-definable • transitions δ ⊆ Q × A × Q φ A ( x 1 , . . . , x n ) • I, F ⊆ Q φ Q ( x 1 , . . . , x m ) φ δ ( x 1 , . . . , x m + n + m ) φ I ( x 1 , . . . , x m ) , φ F ( x 1 , . . . , x m ) Runs, acceptance, language recognized, etc. are defined exactly as for classical NFA! 13
Definable NFA } } • alphabet A orbit-finite • states Q (<, +1)-definable • transitions δ ⊆ Q × A × Q φ A ( x 1 , . . . , x n ) • I, F ⊆ Q φ Q ( x 1 , . . . , x m ) φ δ ( x 1 , . . . , x m + n + m ) φ I ( x 1 , . . . , x m ) , φ F ( x 1 , . . . , x m ) Runs, acceptance, language recognized, etc. are defined exactly as for classical NFA! 13
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) 14 ⊥
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) states: Q = { ⊥ } ∪ R ∪ { (c ₁ , c ₂ ) ∊ R × R : 0 < c ₂ -c ₁ < 2 } ∪ { ⊤ } 14 ⊥
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) states: Q = { ⊥ } ∪ R ∪ { (c ₁ , c ₂ ) ∊ R × R : 0 < c ₂ -c ₁ < 2 } ∪ { ⊤ } 𝜚 Q (c 0, c ₁ , c ₂ ) ≡ c 0 = c ₁ = c ₂ ∨ c 0 +1 = c ₁ = c ₂ ∨ c 0 +2 = c ₁ < c ₂ < c ₁ +2 ∨ c 0 +3 = c ₁ = c ₂ 14 ⊥
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) states: Q = { ⊥ } ∪ R ∪ { (c ₁ , c ₂ ) ∊ R × R : 0 < c ₂ -c ₁ < 2 } ∪ { ⊤ } 𝜚 Q (c 0, c ₁ , c ₂ ) ≡ c 0 = c ₁ = c ₂ ∨ c 0 +1 = c ₁ = c ₂ ∨ c 0 +2 = c ₁ < c ₂ < c ₁ +2 ∨ c 0 +3 = c ₁ = c ₂ transitions: 𝜀 = { ( ⊥ , t , c ₁ ’ ) : c ₁ ’ = t } ∪ 14 ⊥
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) states: Q = { ⊥ } ∪ R ∪ { (c ₁ , c ₂ ) ∊ R × R : 0 < c ₂ -c ₁ < 2 } ∪ { ⊤ } 𝜚 Q (c 0, c ₁ , c ₂ ) ≡ c 0 = c ₁ = c ₂ ∨ c 0 +1 = c ₁ = c ₂ ∨ c 0 +2 = c ₁ < c ₂ < c ₁ +2 ∨ c 0 +3 = c ₁ = c ₂ transitions: 𝜀 = { ( ⊥ , t , c ₁ ’ ) : c ₁ ’ = t } ∪ { (c ₁ , t , (c ₁ ’ , c ₂ ’)) : 0 < t -c ₁ < 2 ∧ c ₁ = c ₁ ’ ∧ c ₂ ’ = t } ∪ 14 ⊥
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) states: Q = { ⊥ } ∪ R ∪ { (c ₁ , c ₂ ) ∊ R × R : 0 < c ₂ -c ₁ < 2 } ∪ { ⊤ } 𝜚 Q (c 0, c ₁ , c ₂ ) ≡ c 0 = c ₁ = c ₂ ∨ c 0 +1 = c ₁ = c ₂ ∨ c 0 +2 = c ₁ < c ₂ < c ₁ +2 ∨ c 0 +3 = c ₁ = c ₂ transitions: 𝜀 = { ( ⊥ , 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) } 14 ⊥
Register automata = definable NFA 0 < c ₂ -c ₁ < 2 c ₁ ⊥ ⊤ t t t c ₁ := t 0 < t-c ₁ < 2 (2 < t-c ₁ < 3) ∧ c ₂ := t (t-c ₂ = 1 ∨ t-c ₂ = 2) states: Q = { ⊥ } ∪ R ∪ { (c ₁ , c ₂ ) ∊ R × R : 0 < c ₂ -c ₁ < 2 } ∪ { ⊤ } 𝜚 Q (c 0, c ₁ , c ₂ ) ≡ c 0 = c ₁ = c ₂ ∨ c 0 +1 = c ₁ = c ₂ ∨ c 0 +2 = c ₁ < c ₂ < c ₁ +2 ∨ c 0 +3 = c ₁ = c ₂ transitions: 𝜀 = { ( ⊥ , 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) } 𝜚 𝜀 (c 0, c ₁ , c ₂ , t , c 0 ’, c ₁ ’, c ₂ ’) ≡ ... 14 ⊥
Timed automata vs. definable NFA Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but: 15
Timed automata vs. definable NFA Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but: • in every location, clock valuations are restricted by an orbit-finite constraint (invariant) 15
Timed automata vs. definable NFA Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but: • in every location, clock valuations are restricted by an orbit-finite constraint (invariant) • number of clocks may vary from one location to another 15
Timed automata vs. definable NFA Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but: • 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) nor non-negative 15
Timed automata vs. definable NFA Definable NFA are like updatable timed automata [Bouyer, Duford, Fleury 2000], but: • 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) nor non-negative • alphabet letters may be tuples of timestamps 15
Timed automata vs. definable NFA definable NFA timed automata with uninitialized clocks 16
Timed automata vs. definable NFA definable NFA deterministic timed automata deterministic with uninitialized clocks 16
Timed automata vs. definable NFA definable NFA deterministic timed automata deterministic with uninitialized clocks { integer 16
Timed automata vs. definable NFA definable NFA deterministic timed automata deterministic with uninitialized clocks { integer { < 2 16
Timed automata vs. definable NFA definable NFA deterministic timed automata deterministic with uninitialized clocks { integer { { < 2 < 2 16
Timed automata vs. definable NFA definable NFA deterministic timed automata deterministic with uninitialized clocks { integer { { ... < 2 < 2 16
Timed automata vs. definable NFA definable NFA deterministic timed automata deterministic with uninitialized clocks { integer minimal automata for languages of deterministic timed automata with uninitialized clocks { { ... < 2 < 2 16
Timed automata vs. definable NFA closed under definable NFA deterministic minimization timed automata deterministic with uninitialized clocks { integer minimal automata for languages of deterministic timed automata with uninitialized clocks { { ... < 2 < 2 16
Timed automata vs. definable NFA closed under definable NFA deterministic minimization timed automata deterministic with uninitialized clocks { integer minimal automata for languages of deterministic timed automata with uninitialized clocks { { ... < 2 < 2 Theorem: [Boja ń czyk, L. 2012] Deterministic definable NFA do minimize. 16
Timed automata vs. definable NFA closed under definable NFA deterministic minimization timed automata deterministic with uninitialized clocks { integer minimal automata for languages of deterministic timed automata with uninitialized clocks { { ... < 2 < 2 Theorem: [Boja ń czyk, L. 2012] Deterministic definable NFA do minimize. Likewise, if FO(<, +1) is replaced by FO(<, +). 16
In search of lost definition • Motivation • Definable NFA • Definable PDA • The core problem: equations over sets of integers • Branching vector addition systems in dimension 1 17
In search of lost definition • Motivation • Definable NFA PDA re-interpreted in definable sets • Definable PDA • The core problem: equations over sets of integers • Branching vector addition systems in dimension 1 17
Definable PDA • I, F ⊆ Q } } • alphabet A orbit-finite • states Q • stack alphabet S (<, +1)definable • push ⊆ Q × A × Q × S • pop ⊆ Q × S × A × Q 18
Definable PDA } • alphabet A φ A ( x 1 , . . . , x n ) orbit-finite • states Q φ Q ( x 1 , . . . , x m ) • stack alphabet S φ S ( x 1 , . . . , x k ) • push ⊆ Q × A × Q × S φ push ( x 1 , . . . , x m + n + m + k ) φ pop ( x 1 , . . . , x m + k + n + m ) • pop ⊆ Q × S × A × Q φ I ( x 1 , . . . , x m ) , φ F ( x 1 , . . . , x m ) • I, F ⊆ Q 18
Definable PDA } } • alphabet A orbit-finite • states Q • stack alphabet S (<, +1)-definable • push ⊆ Q × A × Q × S φ A ( x 1 , . . . , x n ) • pop ⊆ Q × S × A × Q φ Q ( x 1 , . . . , x m ) φ S ( x 1 , . . . , x k ) • I, F ⊆ Q φ push ( x 1 , . . . , x m + n + m + k ) φ pop ( x 1 , . . . , x m + k + n + m ) φ I ( x 1 , . . . , x m ) , φ F ( x 1 , . . . , x m ) Acceptance defined as for classical PDA. 18
Example input alphabet: A = R ⨄ { ε } language: "ordered palindromes of even length over reals" states: stack alphabet: transitions: initial state: accepting state: 19
Example input alphabet: A = R ⨄ { ε } language: "ordered palindromes of even length over reals" Q = R ⨄ {init, finish, acc} states: stack alphabet: transitions: initial state: init acc accepting state: 19
Example input alphabet: A = R ⨄ { ε } language: "ordered palindromes of even length over reals" Q = R ⨄ {init, finish, acc} states: S = R ⨄ { ⊥ } stack alphabet: transitions: initial state: init acc accepting state: 19
Example input alphabet: A = R ⨄ { ε } language: "ordered palindromes of even length over reals" Q = R ⨄ {init, finish, acc} states: S = R ⨄ { ⊥ } stack alphabet: transitions: push ⊆ Q × A × Q × S (init, ε , t, ⊥ ) in state init , without (t, u, u, u) t < u reading input, change (t, u, finish, u) t < u state to an arbitrary real t, and push ⊥ on stack initial state: init acc accepting state: 19
Example input alphabet: A = R ⨄ { ε } language: "ordered palindromes of even length over reals" Q = R ⨄ {init, finish, acc} states: S = R ⨄ { ⊥ } stack alphabet: transitions: push ⊆ Q × A × Q × S (init, ε , t, ⊥ ) in state finish , pop a real (t, u, u, u) t < u t from stack, read the (t, u, finish, u) t < u same t from input, and stay in the same state pop ⊆ Q × S × A × Q (finish, t, t, finish) (finish, ⊥ , ε , acc ) initial state: init acc accepting state: 19
Definable prefix rewriting } } • alphabet A orbit-finite • states Q (<, +1)-definable • stack alphabet S • ρ ⊆ Q × S* × A × Q × S* • I, F ⊆ Q 20
Definable prefix rewriting } } • alphabet A orbit-finite • states Q (<, +1)-definable • stack alphabet S ≤ m ≤ n • ρ ⊆ Q × S* × A × Q × S* • I, F ⊆ Q 20
Definable prefix rewriting } } • alphabet A orbit-finite • states Q (<, +1)-definable • stack alphabet S ≤ m ≤ n • ρ ⊆ Q × S* × A × Q × S* • I, F ⊆ Q Acceptance defined as for classical prefix rewriting. 20
Definable context-free grammars } } • nonterminal symbols S orbit-finite • terminal symbols A definable in FO(<, +1) • an initial nonterminal symbol • ρ ⊆ S × (S ⨄ A)* 21 orbit-finite set of symbols S
Definable context-free grammars } } • nonterminal symbols S orbit-finite • terminal symbols A definable in FO(<, +1) • an initial nonterminal symbol ≤ n • ρ ⊆ S × (S ⨄ A)* Generated language defined as for classical PDA. 21 orbit-finite set of symbols S
Expressiveness of definable models [Clemente, L. 2015] prefix rewriting PDA CFG PDA with timeless stack (finite stack alphabet) dense-timed PDA with uninitialized clocks [Abdulla, Atig, Stenman 2012] 22
Expressiveness of definable models [Clemente, L. 2015] prefix rewriting palindromes PDA CFG PDA with timeless stack (finite stack alphabet) dense-timed PDA with uninitialized clocks [Abdulla, Atig, Stenman 2012] 22
Recommend
More recommend