Online Library TheLib.net » Adapting Proofs-as-Programs: The Curry-Howard Protocol

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 for researchers working in the target problem domains.




This monograph details several important advances in the area known as the proofs-as-programs paradigm, a set of approaches to developing programs from proofs in constructive logic. It serves the dual purpose of providing a state-of-the-art overview of the field and detailing tools and techniques to stimulate further research.

One of the book’s central themes is a general, abstract framework for developing new systems of program synthesis by adapting proofs-as-programs to new contexts, which the authors call the Curry--Howard Protocol. This protocol is used to provide two novel applications for industrial-scale, complex software engineering: contractual imperative program synthesis and structured software synthesis. These applications constitute an exemplary justification for the applicability of the protocol to different contexts.

The book is intended for graduate students in computer science or mathematics who wish to extend their background in logic and type theory as well as gain experience working with logical frameworks and practical proof systems. In addition, the proofs-as-programs research community, and the wider computational logic, formal methods and software engineering communities will benefit. The applications given in the book should be of interest for researchers working in the target problem domains.




This monograph details several important advances in the area known as the proofs-as-programs paradigm, a set of approaches to developing programs from proofs in constructive logic. It serves the dual purpose of providing a state-of-the-art overview of the field and detailing tools and techniques to stimulate further research.

One of the book’s central themes is a general, abstract framework for developing new systems of program synthesis by adapting proofs-as-programs to new contexts, which the authors call the Curry--Howard Protocol. This protocol is used to provide two novel applications for industrial-scale, complex software engineering: contractual imperative program synthesis and structured software synthesis. These applications constitute an exemplary justification for the applicability of the protocol to different contexts.

The book is intended for graduate students in computer science or mathematics who wish to extend their background in logic and type theory as well as gain experience working with logical frameworks and practical proof systems. In addition, the proofs-as-programs research community, and the wider computational logic, formal methods and software engineering communities will benefit. The applications given in the book should be of interest for researchers working in the target problem domains.


Content:
Front Matter....Pages i-xi
Front Matter....Pages 1-1
Introduction....Pages 3-21
Front Matter....Pages 23-23
Functional Program Synthesis....Pages 25-75
The Curry-Howard Protocol....Pages 77-89
Front Matter....Pages 91-94
Intuitionistic Hoare Logic....Pages 95-134
Properties of Intuitionistic Hoare Logic....Pages 135-164
Proofs-as-Imperative-Programs....Pages 165-213
Front Matter....Pages 215-215
Reasoning about Structured Specifications....Pages 217-252
Proof-theoretic Properties of SSL....Pages 253-295
Structured Proofs-as-Programs....Pages 297-339
Generic Specifications....Pages 341-365
Structured Program Synthesis....Pages 367-389
Front Matter....Pages 391-391
Conclusions: Toward Constructive Logic as a Practical 4GL....Pages 393-396
Back Matter....Pages 397-420


This monograph details several important advances in the area known as the proofs-as-programs paradigm, a set of approaches to developing programs from proofs in constructive logic. It serves the dual purpose of providing a state-of-the-art overview of the field and detailing tools and techniques to stimulate further research.

One of the book’s central themes is a general, abstract framework for developing new systems of program synthesis by adapting proofs-as-programs to new contexts, which the authors call the Curry--Howard Protocol. This protocol is used to provide two novel applications for industrial-scale, complex software engineering: contractual imperative program synthesis and structured software synthesis. These applications constitute an exemplary justification for the applicability of the protocol to different contexts.

The book is intended for graduate students in computer science or mathematics who wish to extend their background in logic and type theory as well as gain experience working with logical frameworks and practical proof systems. In addition, the proofs-as-programs research community, and the wider computational logic, formal methods and software engineering communities will benefit. The applications given in the book should be of interest for researchers working in the target problem domains.


Content:
Front Matter....Pages i-xi
Front Matter....Pages 1-1
Introduction....Pages 3-21
Front Matter....Pages 23-23
Functional Program Synthesis....Pages 25-75
The Curry-Howard Protocol....Pages 77-89
Front Matter....Pages 91-94
Intuitionistic Hoare Logic....Pages 95-134
Properties of Intuitionistic Hoare Logic....Pages 135-164
Proofs-as-Imperative-Programs....Pages 165-213
Front Matter....Pages 215-215
Reasoning about Structured Specifications....Pages 217-252
Proof-theoretic Properties of SSL....Pages 253-295
Structured Proofs-as-Programs....Pages 297-339
Generic Specifications....Pages 341-365
Structured Program Synthesis....Pages 367-389
Front Matter....Pages 391-391
Conclusions: Toward Constructive Logic as a Practical 4GL....Pages 393-396
Back Matter....Pages 397-420
....
Download the book Adapting Proofs-as-Programs: The Curry-Howard Protocol for free or read online
Read Download
Continue reading on any device:
QR code
Last viewed books
Related books
Comments (0)
reload, if the code cannot be seen