Results 1 
5 of
5
A Constructive Proof of the Fundamental Theorem of Algebra without using the Rationals
 In Callaghan et al
, 2001
"... In the FTA project in Nijmegen we have formalized a constructive proof of the Fundamental Theorem of Algebra. In the formalization, we have first defined the (constructive) algebraic hierarchy of groups, rings, fields, etcetera. For the reals we have then defined the notion of real number structure, ..."
Abstract

Cited by 25 (3 self)
 Add to MetaCart
In the FTA project in Nijmegen we have formalized a constructive proof of the Fundamental Theorem of Algebra. In the formalization, we have first defined the (constructive) algebraic hierarchy of groups, rings, fields, etcetera. For the reals we have then defined the notion of real number structure, which is basically a Cauchy complete Archimedean ordered field. This boils down to axiomatizing the constructive reals. The proof of FTA is then given from these axioms (so independent of a specific construction of the reals), where the complex numbers are defined as pairs of real numbers. The proof of FTA that we have chosen to formalize is the one in the seminal book by Troelstra and van Dalen [17], originally due to Manfred Kneser [12]. The proof by Troelstra and van Dalen makes heavy use of the rational numbers (as suitable approximations of reals), which is quite common in constructive analysis, because equality on the rationals is decidable and equality on the reals isn't. In our case, this is not so convenient, because the axiomatization of the reals doesn't `contain' the rationals. Moreover, we found it rather unnatural to let a proof about the reals be mainly dealing with rationals. Therefore, our version of the FTA proof doesn't refer to the rational numbers. The proof described here is a faithful presentation of a fully formalized proof in the Coq system.
The algebraic hierarchy of the FTA Project
 Journal of Symbolic Computation, Special Issue on the Integration of Automated Reasoning and Computer Algebra Systems
, 2002
"... Abstract. We describe a framework for algebraic expressions for the proof assistant Coq. This framework has been developed as part of the FTA project in Nijmegen, in which a complete proof of the fundamental theorem of algebra has been formalized in Coq. The algebraic framework that is described her ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
Abstract. We describe a framework for algebraic expressions for the proof assistant Coq. This framework has been developed as part of the FTA project in Nijmegen, in which a complete proof of the fundamental theorem of algebra has been formalized in Coq. The algebraic framework that is described here is both abstract and structured. We apply a combination of record types, coercive subtyping and implicit arguments. The algebraic framework contains a full development of the real and complex numbers and of the rings of polynomials over these fields. The framework is constructive. It does not use anything apart from the Coq logic. The framework has been successfully used to formalize nontrivial mathematics as part of the FTA project.
A Constructive Algebraic Hierarchy in Coq
"... We describe a framework of algebraic structures in the proof assistant Coq. We have developed this framework as part of the FTA project in Nijmegen, in which a constructive proof of the Fundamental Theorem of Algebra has been formalized in Coq. The algebraic hierarchy that is described here is both ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We describe a framework of algebraic structures in the proof assistant Coq. We have developed this framework as part of the FTA project in Nijmegen, in which a constructive proof of the Fundamental Theorem of Algebra has been formalized in Coq. The algebraic hierarchy that is described here is both abstract and way, dening e.g. a ring as a tuple consisting of a group, a binary operation and a constant that together satisfy the properties of a ring. In this way, a ring automatically inherits the group properties of the additive subgroup. The algebraic hierarchy is formalized in Coq by applying a combination of labeled record types and coercions. In the labeled record types of Coq, one can use dependent types: the type of one label may depend on another label. This allows to give a type to a dependenttyped tuple like hA; f; ai, where A is a set, f an operation on A and a an element of A. Coercions are
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 7 (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.
DomainTheoretic Methods for Program Synthesis
"... formal proofs. A recent outcome of this analysis is the development of computer systems for automated or interactive theorem proving that can for instance be used for computer aided program verication. An example of such a system is the interactive theorem prover Minlog developed by the logic group ..."
Abstract
 Add to MetaCart
formal proofs. A recent outcome of this analysis is the development of computer systems for automated or interactive theorem proving that can for instance be used for computer aided program verication. An example of such a system is the interactive theorem prover Minlog developed by the logic group at the University of Munich (7). As a former member of this group I was mainly involved in the theoretical background steering the implementation of the system. The system also exploits the socalled proofsasprograms paradigm as a logical approach to correct software development: from a formal proof that a certain specication has a solution one fully automatically extracts a program that provably meets the specication. We carried out a number of extended case studies extracting programs from proofs in areas such as arithmetic (6), graph theory (7), innitary combinatorics (7), and lambda calculus (1,2). Special emphasis has been put on an ecient implemen