A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lambda-calculus, types and models
Lambda-calculus, types and models
A general storage theorem for integers in call-by-name &lgr;-calculus
Theoretical Computer Science
A semantics of evidence for classical arithmetic
Journal of Symbolic Logic
The Warshall Algorithm and Dickson's Lemma: Two Examples of Realistic Program Extraction
Journal of Automated Reasoning
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Dependent choice, 'quote' and the clock
Theoretical Computer Science
Practical Program Extraction from Classical Proofs
Electronic Notes in Theoretical Computer Science (ENTCS)
Light functional interpretation
CSL'05 Proceedings of the 19th international conference on Computer Science Logic
Hi-index | 5.23 |
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.