Adapting Proofs-as-Programs

The Curry-Howard Protocol

  • Iman Hafiz Poernomo
  • Martin Wirsing
  • John Newsome Crossley
Part of the Monographs in Computer Science book series (MCS)

Table of contents

  1. Front Matter
    Pages i-xi
  2. Prologue

    1. Front Matter
      Pages 1-1
    2. Pages 3-21
  3. Generalizing Proofs-as-Programs

    1. Front Matter
      Pages 23-23
  4. Imperative Proofs-as-Programs

    1. Front Matter
      Pages 91-94
  5. Structured Proofs-as-Programs

  6. Epilogue

    1. Front Matter
      Pages 391-391
  7. Back Matter
    Pages 397-420

About this book

Introduction

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.

Keywords

computer computer science formal method formal methods logic program synthesis proof software software engineering type theory

Authors and affiliations

  • Iman Hafiz Poernomo
    • 1
  • Martin Wirsing
    • 2
  • John Newsome Crossley
    • 3
  1. 1.Department of Computer ScienceKing’s College London StrandLondonUK
  2. 2.Institut für InformatikLudwig-Maximilians Universitat MünchenMünchenGermany
  3. 3.School of Computer Science and Software EngineeringMonash UniversityVictoriaAustralia

Bibliographic information

  • DOI https://doi.org/10.1007/0-387-28183-5
  • Copyright Information Springer Science+Business Media Inc. 2005
  • Publisher Name Springer, New York, NY
  • eBook Packages Computer Science
  • Print ISBN 978-0-387-23759-6
  • Online ISBN 978-0-387-28183-4
  • Series Print ISSN 0172-603X
  • About this book