Efficient Implementation of Rewriting Revisited Technical Report
Martin Avanzini, Georg Moser

TL;DR
This paper extends previous results on polynomial runtime complexity of confluent term rewrite systems to full rewriting, providing a new proof and an implementation that relates rewrite system complexity to Turing machine complexity.
Contribution
The paper generalizes complexity results to full rewriting, introduces a new proof for graph rewriting adequacy, and describes an implementation linking rewrite complexity to Turing machine complexity.
Findings
Runtime complexity of TRS and Turing machine are polynomially related
Graph rewriting can precisely control resource copying
Classification of non-deterministic polytime computations is possible
Abstract
Recently, many techniques have been introduced that allow the (automated) classification of the runtime complexity of term rewrite systems (TRSs for short). In earlier work, the authors have shown that for confluent TRSs, innermost polynomial runtime complexity induces polytime computability of the functions defined. In this paper, we generalise the above result to full rewriting. Following our previous work, we exploit graph rewriting. We give a new proof of the adequacy of graph rewriting for full rewriting that allows for a precise control of the resources copied. In sum we completely describe an implementation of rewriting on a Turing machine (TM for short). We show that the runtime complexity of the TRS and the runtime complexity of the TM is polynomially related. Our result strengthens the evidence that the complexity of a rewrite system is truthfully represented through the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Model-Driven Software Engineering Techniques
