Results 1 
6 of
6
A LargeScale Experiment in Executing Extracted Programs
"... It is a wellknown fact that algorithms are often hidden inside mathematical proofs. If these proofs are formalized inside a proof assistant, then a mechanism called extraction can generate the corresponding programs automatically. Previous work has focused on the difficulties in obtaining a program ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
It is a wellknown fact that algorithms are often hidden inside mathematical proofs. If these proofs are formalized inside a proof assistant, then a mechanism called extraction can generate the corresponding programs automatically. Previous work has focused on the difficulties in obtaining a program from a formalization of the Fundamental Theorem of Algebra inside the Coq proof assistant. In theory, this program allows one to compute approximations of roots of polynomials. However, as we show in this work, there is currently a big gap between theory and practice. We study the complexity of the extracted program and analyze the reasons of its inefficiency, showing that this is a direct consequence of the approach used throughout the formalization.
Extracting a DPLL Algorithm
, 2012
"... We formalize a completeness proof for the DPLL proof system and extract a DPLL SAT solver from it. When applied to a propositional formula in conjunctive normal form the program produces either a satisfying assignment or a DPLL derivation which shows that it is unsatisfiable. We use noncomputationa ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We formalize a completeness proof for the DPLL proof system and extract a DPLL SAT solver from it. When applied to a propositional formula in conjunctive normal form the program produces either a satisfying assignment or a DPLL derivation which shows that it is unsatisfiable. We use noncomputational quantifiers to remove redundant computational content from the extracted program and improve its performance. The formalization is carried out in the Minlog system.
A LargeScale Experiment in Executing Extracted Programs
"... 1 Introduction Several approaches can be used for certifying software. A first one, perhaps the most natural, is to start with an handwritten program and then inspect it formally in a suitable logical system, like Hoare logic. But there exists an alternative approach where one needs not write the pr ..."
Abstract
 Add to MetaCart
(Show Context)
1 Introduction Several approaches can be used for certifying software. A first one, perhaps the most natural, is to start with an handwritten program and then inspect it formally in a suitable logical system, like Hoare logic. But there exists an alternative approach where one needs not write the program, but rather obtains it automatically from a mathematical proof. This automatic transformation of proofs into correctbyconstruction programs is called (program) extraction.
Research Summary
, 2005
"... Research areas My main research areas are Domain Theory, Proof Theory and Lambda Calculi with Types. Below, I briefly describe my work in these areas that will be of particular importance to the proposed project. Domain Theory has been introduced by D. Scott and Y. Ershov as a foundation for the den ..."
Abstract
 Add to MetaCart
Research areas My main research areas are Domain Theory, Proof Theory and Lambda Calculi with Types. Below, I briefly describe my work in these areas that will be of particular importance to the proposed project. Domain Theory has been introduced by D. Scott and Y. Ershov as a foundation for the denotational semantics of functional programming languages and as a model for continuous and computable higher type functionals. I gave an abstract topological analysis of the notion of totality in domains and proved generalizations of Kreisel’s Density Theorem [Ber93b, Ber99b]. Domains and totality will play an important role in the proposed project. Proof theory is concerned with the analysis of formal proofs. I am working on • the development of the proofsasprograms paradigm into a methodology for correct software development [BSS01] (see references at the end), [1,7] (see list below), • restricted proof systems for implicit characterizations of computational complexity classes [4], • interactive theorem proving (Minlog) with applications to program verification and synthesis [BBS + 98], • the analysis of the computational content of nonconstructive theories [3,5], • algorithmic interpretations of classical proofs as a learning process (recent work with S. Berardi, Turin). All of these topics, but in particular the first three, are project relevant.
ProofsasPrograms in Computable Analysis
"... others we know that constructive proofs have computational meaning. In Computer Science this idea is known as the ”proofsasprograms paradigm ” or ”CurryHoward correspondence”. We present examples from computable analysis showing that this paradigm not only works in principle, but can be used to a ..."
Abstract
 Add to MetaCart
others we know that constructive proofs have computational meaning. In Computer Science this idea is known as the ”proofsasprograms paradigm ” or ”CurryHoward correspondence”. We present examples from computable analysis showing that this paradigm not only works in principle, but can be used to automatically synthesise practically relevant certified programs.