Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Advanced School on Mathematical models for the semantics of parallelism
Proving open properties by induction
Information Processing Letters
Comparing integrated and external logics of functional programs
Science of Computer Programming
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Standard bases for general coefficient rings and a new constructive proof of Hilbert's basis theorem
Journal of Symbolic Computation
Enhancing the NUPRL proof development system and applying it to computational abstract algebra
Enhancing the NUPRL proof development system and applying it to computational abstract algebra
The Greatest Common Divisor: A Case Study for Program Extraction from Classical Proofs
TYPES '95 Selected papers from the International Workshop on Types for Proofs and Programs
Constructive Topology and Combinatorics
Constructivity in Computer Science, Summer Symposium
A Certified Version of Buchberger's Algorithm
CADE-15 Proceedings of the 15th International Conference on Automated Deduction: Automated Deduction
Fix-Point Equations for Well-Founded Recursion in Type Theory
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
A verified Common Lisp implementation of Buchberger's algorithm in ACL2
Journal of Symbolic Computation
Hi-index | 0.01 |
We describe how the theory of Gröbner bases, an important part of computational algebra, can be developed within Martin-Löf's type theory. In particular, we aim for an integrated development of the algorithms for computing Gröbner bases: we want to prove, constructively in type theory, the existence of Gröbner bases and from such proofs extract the algorithms. Our main contribution is a reformulation of the standard theory of Gröbner bases which uses generalised inductive definitions. We isolate the main non-constructive part, a minimal bad sequence argument, and use the open induction principle [Rao88,Coq92] to interpret it by induction. This leads to short constructive proofs of Dickson's lemma and Hilbert's basis theorem, which are used to give an integrated development of Buchberger's algorithm. An important point of this work is that the elegance and brevity of the original proofs are maintained while the new proofs also have a direct constructive content. In the appendix we present a computer formalisation of Dickson's lemma and an abstract existence proof of Gröbner bases.