Copyful Streaming String Transducers Emmanuel Filiot Pierre-Alain Reynier ULB, Computer Science LIF, Aix-Marseille University Department & CNRS RP’2017, Royal Holloway
Automata based formal methods Automata-based approaches: model checking controller synthesis performance evaluation model optimization Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 2 / 14
Automata based formal methods Automata-based approaches: model checking controller synthesis performance evaluation model optimization Lift this study to transducers: language and speech processing model-checking infinite state-space systems reactive systems verification of web sanitizers Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 2 / 14
Overview Introduction 1 Streaming String Transducers 2 HDT0L systems to the rescue 3 From copyful to copyless SST 4 Conclusion 5
Overview Introduction 1 Streaming String Transducers 2 HDT0L systems to the rescue 3 From copyful to copyless SST 4 Conclusion 5
Streaming String Transducers [Alur, Cerny, 2010] SST= Deterministic Finite-state Automata extended with registers Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 3 / 14
Streaming String Transducers [Alur, Cerny, 2010] SST= Deterministic Finite-state Automata extended with registers Registers: output words w �→ w . mirror ( w ) Register updates: � X := X .σ X := u · Y · v σ , upd σ : X := YZ Y := σ Y X , Y , Z : registers XY u , v : words in Σ ∗ Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 3 / 14
Streaming String Transducers [Alur, Cerny, 2010] SST= Deterministic Finite-state Automata extended with registers � w . mirror ( w ) if last ( w ) = a Registers: output words w �→ mirror ( w ) . w if last ( w ) = b Register updates: a , upd a b , upd b X := u · Y · v b , upd b X := YZ a XY b YX X , Y , Z : registers u , v : words in Σ ∗ a , upd a Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 3 / 14
Streaming String Transducers [Alur, Cerny, 2010] SST= Deterministic Finite-state Automata extended with registers � w . mirror ( w ) if last ( w ) = a Registers: output words w �→ mirror ( w ) . w if last ( w ) = b Register updates: a , upd a b , upd b X := u · Y · v b , upd b X := YZ a XY b YX X , Y , Z : registers u , v : words in Σ ∗ a , upd a Copyless restriction: a register cannot be copied X := XY X := Y a X := Y aY OK Y := aZb KO Y := X KO Y := XZ Z := bb Z := bY Z := bb Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 3 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: ε Y: ε Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ε Y: b ε Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab ε Y: b a ε Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Backward interpretation: word over registers Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Backward interpretation: word over registers XY ρ f ( q ) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Backward interpretation: word over registers XbXc XY ρ 3 ( ρ f ( q )) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Backward interpretation: word over registers XYbXYc XbXc XY ρ 2 ( ρ 3 ( ρ f ( q ))) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Backward interpretation: word over registers aXbbaXbc XYbXYc XbXc XY ρ 1 ( ρ 2 ( ρ 3 ( ρ f ( q )))) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Semantics of SST: two views ρ 1 X := aX ρ 2 X := XY ρ 3 X := XbX Y := b Y := a Y := c q XY Forward interpretation: register valuations X: a ab abbab ε Y: b a c ε ➜ the final output is abbabc Backward interpretation: word over registers abbabc aXbbaXbc XYbXYc XbXc XY ρ ini ( ρ 1 ( ρ 2 ( ρ 3 ( ρ f ( q ))))) ➜ composition of homomorphisms Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 4 / 14
Why are SST worth being studied? “Regular” word-to-word functions: copyless SST (and also 1-bounded SST, k -bounded SST) deterministic two-way transducers MSO-definable word transducers ➜ most simple and intuitive model Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 5 / 14
Why are SST worth being studied? “Regular” word-to-word functions: copyless SST (and also 1-bounded SST, k -bounded SST) deterministic two-way transducers MSO-definable word transducers ➜ most simple and intuitive model Positive results: equivalence of copyless SST is in PSPACE functionality of non-deterministic SST is in PSPACE type checking is in PSPACE (Given A , B and T , does T ( A ) ⊆ B ?) closed under composition Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 5 / 14
What about copyful SST? Non-linear updates a , X := XX ➜ not anymore linear-size increase a , X := a ➜ strictly increases the expressive power X Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 6 / 14
What about copyful SST? Non-linear updates a , X := XX ➜ not anymore linear-size increase a , X := a ➜ strictly increases the expressive power X A second example: u # v �→ v [ a ← u ] (quadratic blow-up) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 6 / 14
What about copyful SST? Non-linear updates a , X := XX ➜ not anymore linear-size increase a , X := a ➜ strictly increases the expressive power X � X := X .σ σ � = #, A second example: Y := ε u # v �→ v [ a ← u ] (quadratic blow-up) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 6 / 14
What about copyful SST? Non-linear updates a , X := XX ➜ not anymore linear-size increase a , X := a ➜ strictly increases the expressive power X � X := X .σ σ � = #, A second example: Y := ε # Y u # v �→ v [ a ← u ] (quadratic blow-up) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 6 / 14
What about copyful SST? Non-linear updates a , X := XX ➜ not anymore linear-size increase a , X := a ➜ strictly increases the expressive power X � X := X .σ � X := X σ � = #, σ � = a , A second example: Y := ε Y := Y σ # Y u # v �→ v [ a ← u ] (quadratic blow-up) Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 6 / 14
What about copyful SST? Non-linear updates a , X := XX ➜ not anymore linear-size increase a , X := a ➜ strictly increases the expressive power X � X := X .σ � X := X σ � = #, σ � = a , A second example: Y := ε Y := Y σ # Y u # v �→ v [ a ← u ] � X := X (quadratic blow-up) a , Y := YX Pierre-Alain Reynier (LIF, AMU & CNRS) Copyful Streaming String Transducers RP 2017 6 / 14
Recommend
More recommend