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 books central themes is a general, abstract framework for developing new systems of programs synthesis by adapting proofs-as-programs to new contexts.
From the reviews:
"This monograph serves the dual purpose of providing a state-of-the-art overview of the field and detailing tools and techniques to stimulate further research. It can serve as material for graduate students in computer science or mathematics, the proofs-as-programs research community and the computational logic, formal methods and software engineering communities." (Doina Tatar, Zentralblatt MATH, Vol. 1095 (21), 2006)