transforming cycle rewriting into string rewriting
play

Transforming Cycle Rewriting into String Rewriting David Sabel 1 and - PowerPoint PPT Presentation

Transforming Cycle Rewriting into String Rewriting David Sabel 1 and Hans Zantema 2 , 3 1 Goethe University Frankfurt, Germany 2 TU Eindhoven, The Netherlands 3 Radboud University Nijmegen, The Netherlands RTA 2015, Warsaw, Poland 1 Cycle


  1. Transforming Cycle Rewriting into String Rewriting David Sabel 1 and Hans Zantema 2 , 3 1 Goethe University Frankfurt, Germany 2 TU Eindhoven, The Netherlands 3 Radboud University Nijmegen, The Netherlands RTA 2015, Warsaw, Poland 1

  2. Cycle Rewriting A cycle is a string in which b c the start and end are connected. a b b a b a b c b a b b b a c c c b c b b a 2/18

  3. Cycle Rewriting A cycle is a string in which b c the start and end are connected. a b b a b a b c b a b b b a c c c b c b b a Cycle rewriting ◦ → applies string rewrite rules to cycles, e.g. R = { cba → aabbcc } c b a b b a c b b c b a 2/18

  4. Cycle Rewriting A cycle is a string in which b c the start and end are connected. a b b a b a b c b a b b b a c c c b c b b a Cycle rewriting ◦ → applies string rewrite rules to cycles, e.g. R = { cba → aabbcc } c b a b b a c b b c b a 2/18

  5. Cycle Rewriting A cycle is a string in which b c the start and end are connected. a b b a b a b c b a b b b a c c c b c b b a Cycle rewriting ◦ → applies string rewrite rules to cycles, e.g. R = { cba → aabbcc } a a c b b b a b a b b a ◦ → R b c c b c c b c c b b a a b b 2/18

  6. Cycle Rewriting A cycle is a string in which b c the start and end are connected. a b b a b a b c b a b b b a c c c b c b b a Cycle rewriting ◦ → applies string rewrite rules to cycles, e.g. R = { cba → aabbcc } a a c b b b a b a b b a ◦ → R b c c b c c b c c b b a a b b 2/18

  7. Cycle Rewriting A cycle is a string in which b c the start and end are connected. a b b a b a b c b a b b b a c c c b c b b a Cycle rewriting ◦ → applies string rewrite rules to cycles, e.g. R = { cba → aabbcc } a b a a c a c b b b c b a b a b b b b a ◦ → R b ◦ → R c b c c b c a c c b c c b b a b a a b b b c b a 2/18

  8. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] 3/18

  9. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: F T T T: thinking philosopher F F F: fork L: philosopher has left fork T T F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  10. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: F T T T: thinking philosopher F F F: fork L: philosopher has left fork T T F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  11. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: L T T: thinking philosopher F F F: fork T T L: philosopher has left fork F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  12. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: L T T: thinking philosopher F F F: fork T T L: philosopher has left fork F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  13. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: T T: thinking philosopher E F F: fork T T L: philosopher has left fork F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  14. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: T T: thinking philosopher E F F: fork T T L: philosopher has left fork F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  15. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: F T T T: thinking philosopher F F F: fork L: philosopher has left fork T T F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  16. Applications of Cycle Rewriting Termination analysis for graph transformation systems [Bruggink,K¨ onig,Zantema 2014, IFIP TCS] Some systems are naturally cycle rewrite systems: F T T T: thinking philosopher F F F: fork L: philosopher has left fork T T F F E: eating philosopher T Rewrite rules: T F → L (pick up left fork) F L → E (pick up right fork and eat) E → F T F (stop eating and put down forks) 3/18

  17. Cycle Rewriting (Formally) Let Σ be an alphabet, R be an SRS over Σ u ∼ v = strings u, v ∈ Σ ∗ represent the same cycle: u ∼ v iff ∃ w 1 , w 2 : u = w 1 w 2 and v = w 2 w 1 cycle [ u ] = equivalence class of string u w.r.t. ∼ cycle rewrite relation ◦ → R ⊆ (Σ / ∼ × Σ / ∼ ) of R : → R [ v ] iff ∃ w ∈ Σ ∗ : u ∼ ℓw, ( ℓ → r ) ∈ R, and rw ∼ v [ u ] ◦ 4/18

  18. Cycle Termination ◦ → R is non-terminating iff there exists an infinite sequence [ u 0 ] ◦ → R [ u 1 ] ◦ → R [ u 2 ] ◦ → R · · · Otherwise, ◦ → R is terminating . 5/18

  19. Cycle Termination ◦ → R is non-terminating iff there exists an infinite sequence [ u 0 ] ◦ → R [ u 1 ] ◦ → R [ u 2 ] ◦ → R · · · Otherwise, ◦ → R is terminating . Cycle-termination is different from string-termination: for R = { ab → ba } → R is terminating, but ◦ → R is non-terminating But non-termination of → R implies non-termination of ◦ → R 5/18

  20. Previous Work [Zantema,K¨ onig,Bruggink 2014,RTA-TLCA] Termination techniques arctic and tropical matrix interpretations based on type-graphs implemented in torpacyc, iteratively removes rewrite rules using relative termination technique can only remove rules which are applied at most polynomially often in any derivation 6/18

  21. Previous Work [Zantema,K¨ onig,Bruggink 2014,RTA-TLCA] Termination techniques arctic and tropical matrix interpretations based on type-graphs implemented in torpacyc, iteratively removes rewrite rules using relative termination technique can only remove rules which are applied at most polynomially often in any derivation Complexity Transformation φ on SRSs R (“string rewriting → cycle rewriting”) s.t. → R is string-terminating ⇐ ⇒ ◦ → φ ( R ) is cycle-terminating Consequences: proving cycle-termination is at least as hard as string-termination proving cycle-termination is undecidable 6/18

  22. Our Contributions: Improved Termination Techniques Transformational approach 1 reduce cycle-termination to string-termination 2 apply state-of-the-art ATPs to prove string-termination required: transformation ψ : “cycle rewriting → string rewriting” which is sound: → ψ ( R ) is string-terminating = ⇒ ◦ → R is cycle-terminating complete: ◦ → R is cycle-terminating = ⇒ → ψ ( R ) is string-terminating We provide three sound and complete transformations split , rotate , shift 7/18

  23. Our Contributions: Improved Termination Techniques Transformational approach 1 reduce cycle-termination to string-termination 2 apply state-of-the-art ATPs to prove string-termination required: transformation ψ : “cycle rewriting → string rewriting” which is sound: → ψ ( R ) is string-terminating = ⇒ ◦ → R is cycle-terminating complete: ◦ → R is cycle-terminating = ⇒ → ψ ( R ) is string-terminating We provide three sound and complete transformations split , rotate , shift Trace-decreasing matrix interpreations following a suggestion of Johannes Waldmann extend the matrix interpretations from [Zantema,K¨ onig,Bruggink 2014,RTA] 7/18

  24. The Transformation Split: Idea For a cycle rewrite step [ u 1 ] ◦ → { ℓ → r } [ u 2 ] and v 1 ∈ [ u 1 ] 8/18

  25. The Transformation Split: Idea For a cycle rewrite step [ u 1 ] ◦ → { ℓ → r } [ u 2 ] and v 1 ∈ [ u 1 ] case 1: v 1 → { ℓ → r } v 2 where v 2 ∈ [ u 2 ] a b a a d c d a c d c a ◦ → { abcd → aaaa } b c b c a d a d a c a c c d a b c d c d c a a b → { abcd → aaaa } c d a a a a c d c a a b 8/18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend