## Adapting Proofs-as-Programs: The Curry--Howard ProtocolThis 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. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

IV | 3 |

V | 4 |

VI | 10 |

VII | 11 |

VIII | 16 |

IX | 19 |

X | 23 |

XI | 25 |

LIV | 254 |

LV | 264 |

LVI | 284 |

LVII | 295 |

LVIII | 297 |

LIX | 298 |

LX | 305 |

LXI | 309 |

XII | 27 |

XIII | 30 |

XIV | 36 |

XV | 42 |

XVI | 44 |

XVII | 71 |

XVIII | 74 |

XIX | 77 |

XXI | 80 |

XXII | 87 |

XXIII | 88 |

XXIV | 91 |

XXV | 93 |

XXVI | 95 |

XXVII | 97 |

XXVIII | 100 |

XXIX | 105 |

XXX | 111 |

XXXI | 117 |

XXXII | 127 |

XXXIII | 134 |

XXXIV | 135 |

XXXV | 136 |

XXXVI | 148 |

XXXVII | 158 |

XXXVIII | 164 |

XXXIX | 165 |

XL | 168 |

XLI | 172 |

XLII | 199 |

XLIII | 201 |

XLIV | 204 |

XLV | 212 |

XLVI | 215 |

XLVII | 217 |

XLVIII | 219 |

XLIX | 229 |

L | 236 |

LI | 247 |

LII | 251 |

LIII | 253 |

LXII | 328 |

LXIII | 334 |

LXIV | 338 |

LXV | 339 |

LXVI | 341 |

LXVII | 342 |

LXVIII | 348 |

LXIX | 352 |

LXX | 358 |

LXXI | 362 |

LXXII | 364 |

LXXIII | 367 |

LXXIV | 369 |

LXXV | 376 |

LXXVI | 380 |

LXXVII | 388 |

LXXVIII | 391 |

LXXIX | 393 |

LXXX | 397 |

LXXXI | 399 |

LXXXIII | 403 |

LXXXIV | 407 |

417 | |

LXXXVI | 435 |

LXXXVII | 435 |

LXXXVIII | 1 |

LXXXIX | 3 |

XC | 32 |

XCI | 67 |

XCII | 89 |

XCIII | 91 |

XCIV | 121 |

XCV | 147 |

XCVI | 149 |

XCVII | 166 |

XCVIII | 201 |

XCIX | 203 |

C | 219 |

CI | 238 |

### Other editions - View all

Adapting Proofs-as-Programs: The Curry--Howard Protocol Iman Poernomo,John N. Crossley,Martin Wirsing No preview available - 2010 |

### Common terms and phrases

abstract account list algorithm application approach Assume axioms basic boolean CASL Chapter component Computer constructive constructive type theory correct corresponding Curry-Howard isomorphism Curry-Howard protocol database define definition denote derive etype(A evaluation example extended extraction map extractmod face facial feature formula function symbols functional programs gesture given Harrop Harrop formula Hoare logic IDCT imperative programs induction hypothesis input instantiation interface intuitionistic logic lambda calculus lambda terms Lemma logical type theory many-sorted method modified realizer multimodal natural deduction normalization obtain operational semantics parameters password pixels predicate program synthesis programming language proof proof-term proofs-as-programs PwoCORE query quill recognition rate return value schema schemata Section sequence side-effect side-effect-free signature similar Skolem SML programs sort structural rules structured programs structured specifications techniques theorem translation true type inference variables

### Popular passages

Page 419 - A normal form for natural deductions in a type theory with realizing terms, Atti del Congresso Logica e Filosfia della Scienza, oggi. San Gimignano, December 7-11, 1983