On automating the extraction of programs from proofs using product types
Fairouz Kamareddine, François Monin, Maurício Ayala-Rincón · Electronic Notes in Theoretical Computer Science · 2002
We investigate an automated program synthesis system based on the paradigm of programming by proofs. To automatically extract a λ-term that computes a recursive function given by a set of equations the system must find a formal proof of the totality of the given function. Because of the particular logical framework, usually such approaches make it difficult to use techniques such as those in rewriting theory. We overcome this difficulty for the automated system that we consider by exploiting product types. As a consequence, this would enable the incorporation of termination techniques used in other areas while still extracting programs.