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

Recommend


More recommend