Abstract
I describe my implementation of computational abstract algebra in the Nuprl system. I focus on my development of multivariate polynomials. I show how I use Nuprl's expressive type theory to define classes of free abelian monoids and free monoid algebras. These classes are combined to create a class of all implementations of polynomials. I discuss the issues of subtyping and computational content that came up in designing the class definitions. I give examples of relevant theory developments, tactics and proofs. I consider how Nuprl could act as an algebraic ‘oracle’ for a computer algebra system and the relevance of this work for abstract functional programming.
Supported by NASA GSRP Fellowship NGT-50786 and ONR Grant N00014-92J-1764
Preview
Unable to display preview. Download preview PDF.
References
Mark Aagaard and Miriam Leeser. The implementation and proof of a boolean simplification system. Technical Report EE-CEG-90-2, Cornell School of Electrical Engineering, March 1990. In the Oxford Workshop on Designing Correct Circuits, September, 1990.
Anthony Bailey. Representing algebra in LEGO. Master's thesis, University of Edinburgh, November 1993.
David A. Basin and Robert L. Constable. Metalogical frameworks. In Gérard Huet and Gordon Plotkin, editors, Logical Environments. Cambridge University Press, 1993.
David A. Basin and Peter Del Vecchio. Verification of combinational logic in Nuprl. In M. E. Leeser and G. M. Brown, editors, Hardware Specification, Verification, and Synthesis: Mathematical Aspects, pages 333–357. Springer Verlag, 1990. LNCS 408.
Nicolas Bourbaki. Algebra, Part I. Elements of Mathematics. Addison-Wesley, 1974.
Jawahar Chirimar and Douglas J. Howe. Implementing constructive real analysis: Preliminary report. In Constructivity in Computer Science, volume 613 of Lecture Notes in Computer Science, pages 165–178. Springer-Verlag, 1992.
Edmund Clarke and Zhao Xudong. Analytica — a theorem prover in mathematica. In D. Kapur, editor, 11th Conference on Automated Deduction, volume 607 of Lecture Notes in Artifical Intelligence, pages 761–765. Springer-Verlag, 1992.
Robert Constable et al. Implementing Mathematics with The Nuprl Development System. Prentice-Hall, NJ, 1986.
William M. Farmer, Joshua D. Guttman, and F. Javier Thayer. Little theories. In D. Kapur, editor, 11th Conference on Automated Deduction, volume 607 of Lecture Notes in Artifical Intelligence, pages 567–581. Springer-Verlag, 1992.
Elsa L. Gunter. Doing algebra in simple type theory. Technical Report MS-CIS-89-38, Department of computer and Information Science, University of Pennsylvania, 1989.
John V. Guttag and James J. Horning. Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer-Verlag, 1993.
John Harrison and Laurent Thèry. Extending the HOL theorem prover with a computer algebra system to reason about the reals. In Proceedings of the HOL '93 Workshop on Higher Order Logic Theorem Proving and its Applications, 1993.
Douglas J. Howe. Implementing number theory: An experiment with Nuprl. In Eighth Conference on Automated Deduction, volume 230 of Lecture Notes in Computer Science, pages 404–415. Springer-Verlag, July 1987.
Douglas J. Howe. Automating Reasoning in an Implementation of Constructive Type Theory. PhD thesis, Cornell University, 1988.
Paul B. Jackson. Nuprl and its use in circuit design. In R.T. Boute V. Stavridou, T.F.Melham, editor, Proceedings of the 1992 International Conference on Theorem Provers in Circuit Design, IFIP Transactions A-10. North-Holland, 1992.
Paul B. Jackson. Enhancing the Nuprl Theorem Prover and Applying it to Constructive Algebra. PhD thesis, Cornell University, 1994. Forthcoming.
Richard D. Jenks and Robert S. Sutor. AXIOM: the Scientific Computation System. Springer-Verlag, 1992.
Serge Lang. Algebra. Addison-Wesley, 2nd edition, 1984.
Per Martin-Löf. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153–175, Amsterdam, 1982. North Holland.
Ray Mines, Fred Richman, and Wim Ruitenburg. A Course in constructive Algebra. Universitext. Springer-Verlag, 1988.
John C. Mitchell and Gordon Plotkin. Abstract types have existential type. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages. Association for Computing Machinery, SIGACT, SIGPLAN, 1985.
Martin Wirsing. Algebraic specification. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 13. Elsevier, 1990.
Richard Zippel. The Weyl computer algebra substrate. In Alfonso Miola, editor, Design and Implementation of Symbolic Computation Systems, volume 722 of Lecture Notes in Computer Science, pages 303–318. Springer Verlag, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jackson, P. (1994). Exploring abstract algebra in constructive type theory. In: Bundy, A. (eds) Automated Deduction — CADE-12. CADE 1994. Lecture Notes in Computer Science, vol 814. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58156-1_43
Download citation
DOI: https://doi.org/10.1007/3-540-58156-1_43
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58156-7
Online ISBN: 978-3-540-48467-7
eBook Packages: Springer Book Archive