Publication
Theoretical Computer Science
Paper

Full abstraction and recursion

View publication

Abstract

The question of extending semantic models for a programming language without recursion to a larger language supporting recursion is of fundamental importance if one wants to develop a modular approach to building models. In our previous work [14] we showed how to extend models for a language without recursion to models for a language in which unnested recursion was supported via simultaneous systems of recursive equations. In that setting, we proved that modest assumptions about the models enabled us to lift adequacy and full abstraction for the models of the base language to analogous results for the models of the extended language. In this paper, we tackle similar problems for languages with explicit recursion operators. Starting with a base language L, we define what it means for an ordered denotational model for L to be order adequate and strongly order fully abstract with respect to an ordered operational model for L. By freely adding identifiers x ε{lunate} X and recursion operators μx for each x ε{lunate} X, we obtain an extended language L{X}, in which we single out the sublanguage Lc of closed terms. We then give general conditions which ensure that an ordered operational model O: L → O and a related order adequate and strongly order fully abstract denotational model D: L → D can be extended to an ordered operational model Oc: Lc → O and a related ordered denotational model Dc: Lc → D which also is order adequate and strongly order fully abstract. © 1995.

Date

Publication

Theoretical Computer Science

Authors

Topics

Share