Skip Navigation

Journal of Logic and Computation 1995 5(5):669-689; doi:10.1093/logcom/5.5.669
© 1995 by Oxford University Press
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by SASAKI, J. T.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?


Original Articles

Efficient Verified Programs in a Type Theory with Mixed Constructivity

JAMES T. SASAKI

Computer Science Department, University of Maryland Baltimore County, C atonsville, MD 21228, USA. E-mail: sasaki{at}cs.umbc.edu

We define a programming logic Sp1, a mixed-constructive type theory. Sp1 combines computational/constructive and non-computational/classical logic so that proofs in the logic can be understood as efficient verified applicative programs. The theory is obtained by adding an explicit notion of ‘virtual’ value and computation to a simple typed {lambda}-calculus version of constructive type theory. Virtual values are used as part of a Heyting-like denotational semantics for proof terms. In particular, they are used to provide semantics for computations suppressed for efficiency (for example, bounds of termination for recursive functions). In addition, virtual values are used to provide semantics for proof terms that use classical reasoning: they are understood as standing for virtual values that can appeal to an oracle for Pierce's law and hence cannot be evaluated at runtime. The advantages of this approach over approaches that use lazy evaluation or compile-time code optimization are that suppression of evidence is explicit and under user control; suppressed programs have a natural syntax; the logic is more expressive because one can quantify over suppressed values; and classical, constructive, and mixed-constructive types can be built from one unified syntax and semantics, as can classical, constructive, and mixed expressions.

Keywords: Constructive type theory; verified programming; intuitionistic logic; mixed constructivity; evidence semantics


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.