A Hierarchy of Semantics for Non-deterministic Term Rewriting
Juan Rodr
Abstract
Juan Rodr
Abstract
Formalisms involving some degree of nondeterminism are frequent in computer science. In particular, various programming or specication languages are based on term rewriting systems where conuence is not required. In this paper we examine three concrete possible semantics for non- determinism that can be assigned to those programs. Two of them {call-time choice and run-time choice{ are quite well-known, while the third one {plural semantics{ is investigated for the rst time in the context of term rewriting based programming languages. We investigate some basic intrinsic properties of the semantics and establish some relationships between them: we show that the three semantics form a hierarchy in the sense of set inclusion, and we prove that call-time choice and plural semantics enjoy a remarkable compositionality property that fails for run-time choice; nally, we show how to express plural semantics within run-time choice by means of a program transformation, for which we prove its adequacy.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Formalisms involving some degree of nondeterminism are frequent in computer science. In particular, various programming or specication languages are based on term rewriting systems where conuence is not required. In this paper we examine three concrete possible semantics for non- determinism that can be assigned to those programs. Two of them {call-time choice and run-time choice{ are quite well-known, while the third one {plural semantics{ is investigated for the rst time in the context of term rewriting based programming languages. We investigate some basic intrinsic properties of the semantics and establish some relationships between them: we show that the three semantics form a hierarchy in the sense of set inclusion, and we prove that call-time choice and plural semantics enjoy a remarkable compositionality property that fails for run-time choice; nally, we show how to express plural semantics within run-time choice by means of a program transformation, for which we prove its adequacy.
Key concepts: Rewriting, Semantics (computer science), Programming language, Computer science, Well-founded semantics, Operational semantics, Rotation formalisms in three dimensions, Plural