JavaScript is disabled for your browser. Some features of this site may not work without it.
Classical Proofs as Programs: How, What and Why

Author
Murthy, Chetan R.
Abstract
We recapitulate Friedman's conservative extension result of(suitable) classical over constructive systems for $\Pi_{2}^{0}$sentences, viewing it in two lights: as a translation of programs from an almost-functional language (with $\cal C$) back to its functional core, and as a translation of a constructive logic for a functional language to a classical logic for an almost-functional language. We investigate the computational properties of the translation and of classical proofs and characterize the classical proofs which give constructions in concrete, computational terms, rather than logical terms. We characterize different versions of Friedman's translation as translating slightly different almost-functional languages to a functional language, thus giving a general method for arriving at a sound reduction semantics for an almost-functional language with a mixture of eager and lazy constructors and destructors, as well as integers, pairs, unions, etc. Finally, we describe how to use classical reasoning in a disciplined manner in giving classical (yet constructivizable) proofs of sentences of greater complexity than $\Pi_{2}^{0}$. This direction offers the possibility of applying classical reasoning to more general programming problems.
Date Issued
1991-07Publisher
Cornell University
Subject
computer science; technical report
Previously Published As
http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR91-1215
Type
technical report