A Frame Stack Semantics for Sequential Core Erlang

08/23/2023
by   Péter Bereczky, et al.
0

We present a small-step, frame stack style, semantics for sequential Core Erlang, a dynamically typed, impure functional programming language. The semantics and the properties that we prove are machine-checked with the Coq proof assistant. We improve on previous work by including exceptions and exception handling, as well as built-in data types and functions. Based on the semantics, we define multiple concepts of program equivalence (contextual, CIU equivalence, and equivalence based on logical relations) and prove that the definitions are all equivalent. Using this we are able to give a correctness criterion for refactorings by means of contextually equivalent symbolic expression pairs, which is one of the main motivations of this work.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/30/2022

Program Equivalence in an Untyped, Call-by-value Lambda Calculus with Uncurried Recursive Functions

We aim to reason about the correctness of behaviour-preserving transform...
research
01/27/2020

Operationally-based Program Equivalence Proofs using LCTRSs

We propose an operationally-based deductive proof method for program equ...
research
08/16/2018

Formalisation of a frame stack semantics for a Java-like language

We present a Coq formalisation of the small-step operational semantics o...
research
12/21/2021

A Small-Step Operational Semantics for GP 2

The operational semantics of a programming language is said to be small-...
research
08/05/2022

Recurrence extraction and denotational semantics with recursive definitions

With one exception, our previous work on recurrence extraction and denot...
research
12/05/2022

Equivalence of eval-readback and eval-apply big-step evaluators by regimentation of the lambda-calculus's strategy space

We study the equivalence of eval-readback and eval-apply big-step evalua...
research
06/01/2021

Proving Equivalence Between Complex Expressions Using Graph-to-Sequence Neural Models

We target the problem of provably computing the equivalence between two ...

Please sign up or login with your details

Forgot password? Click here to reset