Operational Semantics and Program Equivalence

نویسنده

  • Andrew M. Pitts
چکیده

This tutorial paper discusses a particular style of operational semantics that enables one to give a ‘syntax-directed’ inductive definition of termination which is very useful for reasoning about operational equivalence of programs. We restrict attention to contextual equivalence of expressions in the ML family of programming languages, concentrating on functions involving local state. A brief tour of structural operational semantics culminates in a structural definition of termination via an abstract machine using ‘frame stacks’. Applications of this to reasoning about contextual equivalence are given.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Operational Semantics of Action Notation

Action notating is used in the action semantics framwork, for specifying actions representing program behaviour. It is defies by a structural operational semantics together with a bisimulation-bsed equivalence that satisfies some simply algebraic laws.

متن کامل

A residualizing semantics for the partial evaluation of functional logic programs

Recent proposals for multi-paradigm declarative programming combine the most important features of functional, logic and concurrent programming into a single framework. The operational semantics of these languages is usually based on a combination of narrowing and residuation. In this note, we introduce a non-standard, residualizing semantics for multi-paradigm declarative programs and prove it...

متن کامل

A Language-Independent Proof System for Mutual Program Equivalence

Two programs or fragments of program are mutually equivalent i↵ either they both diverge or they end up in similar states. Mutual equivalence is desirable in many contexts, ranging from capturing program equivalence or correctness of program transformations within the same language, to capturing correctness of compilers from one language to another. This paper introduces a language-independent ...

متن کامل

Program Equivalence for a Concurrent Lambda Calculus with Futures

Reasoning about the correctness of program transformations requires a notion of program equivalence. We present an observational semantics for the concurrent lambda calculus with futures λ(fut), which formalizes the operational semantics of the programming language Alice ML. We show that natural program optimizations, as well as partial evaluation with respect to deterministic rules, are correc...

متن کامل

A New Operational Semantics for Prolog

The majority of abstract interpretation models defined for Prolog use abstract operations which do not have explicit counterpart in the SLD-resolution. We propose, in this paper, an operational semantics closely related to these models. We prove his equivalence with the SLDresolution and then we use it to prove the consistency of one of abstract semantics presents in [7, 8, 9]. Key-words: Logiq...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000