Technical report Frank / JohannWolfgangGoetheUniversität, Fachbereich Informatik und Mathematik, Institut für Informatik
3 search hits
 32

A finite simulation method in a nondeterministic callbyneed calculus with letrec, constructors and case
(2008)

Manfred SchmidtSchauß
Elena Machkasova
 The paper proposes a variation of simulation for checking and proving contextual equivalence in a nondeterministic callbyneed lambdacalculus with constructors, case, seq, and a letrec with cyclic dependencies. It also proposes a novel method to prove its correctness. The calculus' semantics is based on a smallstep rewrite semantics and on mayconvergence. The cyclic nature of letrec bindings, as well as nondeterminism, makes known approaches to prove that simulation implies contextual equivalence, such as Howe's proof technique, inapplicable in this setting. The basic technique for the simulation as well as the correctness proof is called preevaluation, which computes a set of answers for every closed expression. If simulation succeeds in finite computation depth, then it is guaranteed to show contextual preorder of expressions.
 33

Adequacy of compositional translations for observational semantics
(2008)

Manfred SchmidtSchauß
Joachim Niehren
Jan Schwinghammer
David Sabel
 We investigate methods and tools for analysing translations between programming languages with respect to observational semantics. The behaviour of programs is observed in terms of may and mustconvergence in arbitrary contexts, and adequacy of translations, i.e., the reﬂection of program equivalence, is taken to be the fundamental correctness condition. For compositional translations we propose a notion of convergence equivalence as a means for proving adequacy. This technique avoids explicit reasoning about contexts, and is able to deal with the subtle role of typing in implementations of language extension.
 26

Program equivalence for a concurrent lambda calculus with futures
(2006)

Joachim Niehren
David Sabel
Manfred SchmidtSchauß
Jan Schwinghammer
 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 Lambda(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 correct for Lambda(fut). This relies on a number of fundamental properties that we establish for our observational semantics.