Generic Encodings of Constructor Rewriting Systems

05/14/2019
by   Horatiu Cirstea, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/24/2017

Faithful (meta-)encodings of programmable strategies into term rewriting systems

Rewriting is a formalism widely used in computer science and mathematica...
research
05/03/2021

Formalizing the Four-layer Metamodeling Stack – Potential and Benefits

Enterprise modeling deals with the increasing complexity of processes an...
research
06/28/2022

Extending Shinohara's Algorithm for Computing Descriptive (Angluin-Style) Patterns to Subsequence Patterns

The introduction of pattern languages in the seminal work [Angluin, “Fin...
research
06/09/2020

Pattern Atlas

Pattern languages are well-established in the software architecture comm...
research
06/02/2020

Automatized Evaluation of Formalization Exercises in Mathematics

We describe two systems for supporting beginner students in acquiring ba...
research
05/13/2021

Deciding FO-definability of Regular Languages

We prove that, similarly to known PSpace-completeness of recognising FO(...
research
11/07/2018

Unification in Matching Logic - Extended Version

Matching Logic is a framework for specifying programming language semant...

Please sign up or login with your details

Forgot password? Click here to reset