Reflection and Strategies in Rewriting Logic1 1Supported by Office of Naval Research Contracts N00014-95-C-0225 and N00014-96-C-0114, National Science Foundation Grant CCR-9224005, and by the Information Technology Promotion Agency, Japan, as a part of the Industrial Science and Technology Frontier Program “New Models for Software Architecture” sponsored by NEDO (New Energy and Industrial Technology Development Organization).

Manuel Clavel, José Mes eguer

Electronic Notes in Theoretical Computer Science · 1996 · 76 citations · 10 references

DOIFull text

Open access

Concepts

TL;DR

The paper defines a finitely presented universal theory for rewriting logic, proves its reflectiveness, and introduces general axioms for an internal strategy language. The authors propose a reflexive method for defining and proving correctness of internal strategy languages, illustrated with examples implemented in Maude. The reflective property of rewriting logic is proven, and the proposed strategy language framework shows promise for metaprogramming, module composition, logical frameworks, formal programming environments, supercompilation, and strategy verification.

Abstract

After giving general metalogical axioms characterizing reflection in general logics in terms of the notion of a universal theory, this paper specifies a finitely presented universal theory for rewriting logic and gives a detailed proof of the claim made in [5] that rewriting logic is reflective. The paper also gives general axioms for the notion of a strategy language internal to a given logic. Exploiting the fact that rewriting logic is reflexive, a general method for defining internal strategy languages for it and proving their correctness is proposed and is illustrated with an example. The Maude language has been used as an experimental vehicle for the exploration of these techniques. They seem quite promising for applications such as metaprogramming and module composition, logical framework representations, development of formal programming and proving environments, supercompilation, and formal verification of strategies.

References

10