Skip to:Content
|
Bottom
Cover image for Adapting proofs-as-programs : the curry - howard protocol
Title:
Adapting proofs-as-programs : the curry - howard protocol
Personal Author:
Series:
Monographs in computer science
Publication Information:
New York, NY : Springer, 2005
Physical Description:
xi, 420 p. : ill. ; 24 cm.
ISBN:
9780387237596

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010229374 QA9.54 P64 2005 Open Access Book Book
Searching...
Searching...
30000010226356 QA9.54 P64 2005 Open Access Book Book
Searching...

On Order

Summary

Summary

This book ?nds new things to do with an old idea. The proofs-as-programs paradigm constitutes a set of approaches to developing programs from proofs in constructive logic. It has been over thirty years since the paradigm was ?rst conceived. At that time, there was a belief that proofs-as-programs had the - tential for practical application to semi-automated software development. I- tial applications were mostly concerned with ?ne-grain, mathematical program synthesis. For various reasons, research interest in the area eventually tended toward more theoretic issues of constructive logic and type theory. However, in recent years, the situation has become more balanced, and there is increasingly active research in applying constructive techniques to industrial-scale, complex software engineering problems. Thismonographdetailsseveralimportantadvancesinthisdirectionofpr- tical proofs-as-programs. One of the central themes of the book is a general, abstract framework for developing new systems of program synthesis by adapting proofs-as-programs to new contexts. Framework-oriented approaches that facilitate analogous - proaches to building systems for solving particular problems have been popular and successful. Thesemethodsarehelpful asthey providea formal toolbox that enablesa"roll-your-own"approachtodevelopingsolutions.Itishopedthatour framework will have a similar impact. The framework is demonstrated by example. We will give two novel - plications of proofs-as-programs to large-scale, coarse-grain software engine- ing problems: contractual imperative program synthesis and structured p- gram synthesis. These applications constitute an exemplary justi?cation of the framework. Also, in and of themselves, these approaches to synthesis should be interesting forresearchers working in the target problem domains.


Table of Contents

Part I Prologue
Introduction
Part II Generalizing Proofs-as-Programs
Functional Program Synthesis
The Curry--Howard protocol
Part III Imperative Proofs-as-Programs
Intuitionistic Hoare Logic
Properties of Intuitionistic Hoare Logic
Proofs-as-Imperative-Programs
Part IV Structured Proofs-as-Programs
Reasoning about Structured Specifications
Proof-theoretic Properties of SSL
Structured Proofs-as-Programs
Generic Specifications
Structured Program Synthesis
Part V Epilogue
Conclusions: Toward Constructive Logic as a Practical 4GL
Part VI Appendix
A Constructive Logic
References
Index.
Go to:Top of Page