# Generic Encodings of Constructor Rewriting Systems

**Authors:** Horatiu Cirstea, Pierre-Etienne Moreau

arXiv: 1905.06233 · 2019-06-12

## TL;DR

This paper introduces a generic encoding method for extended constructor rewriting systems with negation and order, enabling the use of classical term rewriting analysis techniques for more complex systems.

## Contribution

It presents a concise algorithm for pattern difference computation, allowing the encoding of extended rewriting systems into classical systems, facilitating analysis and pattern subsumption checks.

## Key findings

- Enables analysis of extended rewriting systems using classical methods
- Provides a new pattern subsumption and completeness checking approach
- Offers a generic compiler for pattern matching languages

## Abstract

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages, with the negation over patterns. We propose in this paper a concise and clear algorithm computing the difference over patterns which can be used to define generic encodings of constructor term rewriting systems with negation and order into classical term rewriting systems. As a direct consequence, established methods used for term rewriting systems can be applied to analyze properties of the extended systems. The approach can also be seen as a generic compiler which targets any language providing basic pattern matching primitives. The formalism provides also a new method for deciding if a set of patterns subsumes a given pattern and thus, for checking the presence of useless patterns or the completeness of a set of patterns.

---
Source: https://tomesphere.com/paper/1905.06233