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...