© The Author, 2005. Published by Oxford University Press. All rights reserved.
Original Articles |
Exploring Computational Contents of Intuitionist Proofs
1 Department of Informatics, PUC-Rio, Rua Marquês de São Vicente, 225, Gávea Rio de Janeiro, RJ Brasil-22453-900 E-mail: hamazaki{at}inf.puc-rio.br, 2 Department of Informatics, PUC-Rio, Rua Marquês de São Vicente, 225, Gávea Rio de Janeiro, RJ Brasil-22453-900 E-mail: hermann{at}inf.puc-rio.br, 3 PUC-Rio, Rua Marquês de São Vicente, 225, Gávea Rio de Janeiro, RJ Brasil 22453-900.
One of the main problems in computer science is to ensure that programs are implemented in such a way that they satisfy a given specification. There are many studies about methods to prove correctness of programs. This work presents a method, belonging to the constructive synthesis or proofs-as-programs paradigm, that comes from the Curry-Howard isomorphism and extracts the computational contents of intuitionist proofs. The synthesis process proposed produces a program in an imperative language from a proof in many-sorted intuitionist logic, where the axioms define the abstract data types, using Natural Deduction as deductive system. It is proved the correctness, as well as the completeness of the method regarding the Heyting arithmetic with
-rule (in its computational version). A discussion about the use of the finitary induction instead of computational
-rule concludes the work.
Sponsored by CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico).
Key Words: Program Synthesis, Intuitionistic Logic, Natural Deduction
Received 20 December 2003. Revised version 15 July 2004.