APPLICATIONS OF INDUCTIVE DEFINITIONS AND CHOICE PRINCIPLES TO PROGRAM SYNTHESIS
Ulrich Berger, Monika Seisenberger · 2005
Abstract This chapter is concerned with the problem of finding constructive content in nonconstructive mathematical theorems. By so doing, one gains insight into possible constructive aspects hidden in classical theorems. It describes — in a nontechnical way — how these aspects can be brought to light and computationally exploited. It describes two methods of extracting constructive content from classical proofs, focusing on theorems involving infinite sequences and nonconstructive choice principles. The first method removes any reference to infinite sequences and transforms the theorem into a system of inductive definitions, the other applies a combination of Gödel's negative- and Friedman's A-translation. Both approaches are explained by means of a case study on Higman's Lemma and its well-known classical proof due to Nash-Williams. It also discusses some proof-theoretic optimizations that were crucial for the formalization and implementation of this work in the interactive proof system Minlog.