 
Summary: On automating the extraction of programs
from termination proofs
Fairouz Kamareddine
, Fran¸cois Monin
Mauricio AyalaRinc´on§
Abstract
We investigate an automated program synthesis system that is based on the paradigm
of programming by proofs. To automatically extract a term that computes a recur
sive 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 termination 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.
Keywords: Program extraction, product types, termination, ProPre system.
1 Introduction
The CurryHoward isomorphism [3] that establishes a correspondence between programs
and proofs of specifications plays a major role in many type systems. Programming meth
ods using the proof as program paradigm ensure some correctness of programs extracted
from a proof of function totality and provide a logical framework for which the behaviour of
