Getting results from programs extracted from classical proofs

We present a new method to extract from a classical proof of ∀x(I[x] → ??(O[y] ∧ S[x,y])) a program computing y from x. This method applies when O is a data type and S is a decidable predicate. Algorithms extracted this way are often far better than a stupid enumeration of all the possible outputs and this is verified on a nontrivial example: a proof of Dickson's lemma.

[1]  Karim Nour Mixed logic and storage operators , 2000, Arch. Math. Log..

[2]  Oleg V. Belegradek The Model Theory of Unitriangular Groups , 1994, Ann. Pure Appl. Log..

[3]  Jean-Louis Krivine,et al.  Dependent choice, 'quote' and the clock , 2003, Theor. Comput. Sci..

[4]  Ulrich Berger,et al.  The Warshall Algorithm and Dickson's Lemma: Two Examples of Realistic Program Extraction , 2004, Journal of Automated Reasoning.

[5]  Michel Parigot,et al.  Strong normalization for second order classical natural deduction , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[6]  Jean-Louis Krivine,et al.  Classical Logic, Storage Operators and Second-Order lambda-Calculus , 1994, Ann. Pure Appl. Log..

[7]  Michel Parigot,et al.  Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction , 1992, LPAR.

[8]  Helmut Schwichtenberg,et al.  Refined program extraction form classical proofs , 2002, Ann. Pure Appl. Log..

[9]  Matthias Felleisen,et al.  Control operators, the SECD-machine, and the λ-calculus , 1987, Formal Description of Programming Concepts.

[10]  L Boerio Optimizing Programs Extracted From Proofs , 1995 .

[11]  Thierry Coquand,et al.  A semantics of evidence for classical arithmetic , 1995, Journal of Symbolic Logic.

[12]  Timothy G. Griffin,et al.  A formulae-as-type notion of control , 1989, POPL '90.

[13]  Jean-Louis Krivine,et al.  Lambda-calculus, types and models , 1993, Ellis Horwood series in computers and their applications.

[14]  Jean-Louis Krivine,et al.  A General Storage Theorem for Integers in Call-by-Name lambda-Calculus , 1994, Theor. Comput. Sci..