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.

Alpuente, M., Comini, M., Falaschi, M., Escobar, S., Iborra, J. (2010). A compact Fixpoint Semantics for Term Rewriting Systems. THEORETICAL COMPUTER SCIENCE, 411(37), 3348-3371 [10.1016/j.tcs.2010.05.012].

A compact Fixpoint Semantics for Term Rewriting Systems

FALASCHI, MORENO;
2010-01-01

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.
2010
Alpuente, M., Comini, M., Falaschi, M., Escobar, S., Iborra, J. (2010). A compact Fixpoint Semantics for Term Rewriting Systems. THEORETICAL COMPUTER SCIENCE, 411(37), 3348-3371 [10.1016/j.tcs.2010.05.012].
File in questo prodotto:
File Dimensione Formato  
ACEFI2010.pdf

non disponibili

Tipologia: Post-print
Licenza: NON PUBBLICO - Accesso privato/ristretto
Dimensione 715.89 kB
Formato Adobe PDF
715.89 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11365/25529
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo