Reasoning About Functional Programs in Nuprl (1993)
| Venue: | In Functional Programming, Concurrency, Simulation and Automated Reasoning |
| Citations: | 12 - 0 self |
BibTeX
@INPROCEEDINGS{Howe93reasoningabout,
author = {Douglas J. Howe},
title = {Reasoning About Functional Programs in Nuprl},
booktitle = {In Functional Programming, Concurrency, Simulation and Automated Reasoning},
year = {1993},
pages = {145--164},
publisher = {Springer Verlag}
}
OpenURL
Abstract
. There are two ways of reasoning about functional programs in the constructive type theory of the Nuprl proof development system. Nuprl can be used in a conventional program-verification mode, in which functional programs are written in a familiar style and then proven to be correct. It can also be used in an extraction mode, where programs are not written explicitly, but instead are extracted from mathematical proofs. Nuprl is the only constructive type theory to support both of these approaches. These approaches are illustrated by applying Nuprl to Boyer and Moore's "majority" algorithm. 1 Introduction A type system for a functional programming language can be syntactic or semantic. In a syntactically typed language, such as SML 1 [25], typing is a property of the syntax of expressions. Only certain combinations of language constructs are designated "well-typed", and only well-typed expressions are given a meaning. Each well-typed expression has a type which can be derive...







