A compact fixpoint semantics for term rewriting systems |
| |
Authors: | M. Alpuente M. Falaschi |
| |
Affiliation: | a Departamento de Sistemas Informáticos y Computación, Technical University of Valencia, Camino de Vera s/n, 46022 Valencia, Spainb Dipartimento di Matematica e Informatica, University of Udine, Via delle Scienze 206, 33100 Udine, Italyc Dipartimento di Scienze Matematiche e Informatiche, Pian dei Mantellini 44, 53100 Siena, Italy |
| |
Abstract: | This work is motivated by the fact that a “compact” semantics for term rewriting systems, which is essential for the development of effective semantics-based program manipulation tools (e.g. automatic program analyzers and debuggers), does not exist. The big-step rewriting semantics that is most commonly considered in functional programming is the set of values/normal forms that the program is able to compute for any input expression. Such a big-step semantics is unnecessarily oversized, as it contains many “semantically useless” elements that can be retrieved from a smaller set of terms. Therefore, in this article, we present a compressed, goal-independent collecting fixpoint semantics that contains the smallest set of terms that are sufficient to describe, by semantic closure, all possible rewritings. We prove soundness and completeness under ascertained conditions. The compactness of the semantics makes it suitable for applications. Actually, our semantics can be finite whereas the big-step semantics is generally not, and even when both semantics are infinite, the fixpoint computation of our semantics produces fewer elements at each step. To support this claim we report several experiments performed with a prototypical implementation. |
| |
Keywords: | Term rewriting systems Functional programming Denotational semantics Operational semantics Fixpoint semantics Goal-independent semantics |
本文献已被 ScienceDirect 等数据库收录! |
|