Publication View

Conditions for the Completeness of Functional and Algebraic Equational Reasoning (1997)

Abstract
We consider the following problem in proving equations in models of functional languages: given a call-by-name language based on the simplytyped -calculus with algebraic operations axiomatized by algebraic equations E, is the set of equations between terms exactly those provable from (fi), (j), and E? We find conditions for determining whether fijE- equational reasoning is complete for proving equations between such terms. We demonstrate the power and generality of the theorems by presenting a number of easy corollaries for particular algebras. 1 Introduction The two simple axioms of the -calculus, (fi) ((x: M) N) = M [x := N ] (j) (x: M x) = M; if x not free in M lie at the heart of reasoning about functional programs: (fi) explains function application syntactically, and (j) states that the meaning of functions can be based solely on their meaning under application. But the axioms have uses in reasoning about programs as well: the axioms (fi) and (j) yield sound program optimiz...

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?doi=10.1.1.46.370
Source ftp://ftp.research.bell-labs.com/dist/riecke/algebraic-full.ps.gz
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Type text
Language English
Relation 10.1.1.41.840, 10.1.1.39.9875, 10.1.1.39.4907, 10.1.1.53.7298