This monograph details several important advances in the direction of a practical proofs-as-programs paradigm, which constitutes a set of approaches to developing programs from proofs in constructive logic with applications to industrial-scale, complex software engineering problems. 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. The authors call this framework the Curry--Howard Protocol and use it to show how proofs-as-programs can be adapted to two novel applications in large-scale, coarse-grain software engineering problems: contractual imperative program synthesis and structured program synthesis. These adaptions constitute an exemplary justification for the applicability of the protocol to different contexts.
This 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 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.