Skip to main content

Exploring abstract algebra in constructive type theory

  • Conference paper
  • First Online:
Automated Deduction — CADE-12 (CADE 1994)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 814))

Included in the following conference series:

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. Anthony Bailey. Representing algebra in LEGO. Master's thesis, University of Edinburgh, November 1993.

    Google Scholar 

  3. David A. Basin and Robert L. Constable. Metalogical frameworks. In Gérard Huet and Gordon Plotkin, editors, Logical Environments. Cambridge University Press, 1993.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. Nicolas Bourbaki. Algebra, Part I. Elements of Mathematics. Addison-Wesley, 1974.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. Robert Constable et al. Implementing Mathematics with The Nuprl Development System. Prentice-Hall, NJ, 1986.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. John V. Guttag and James J. Horning. Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer-Verlag, 1993.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Douglas J. Howe. Automating Reasoning in an Implementation of Constructive Type Theory. PhD thesis, Cornell University, 1988.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. Paul B. Jackson. Enhancing the Nuprl Theorem Prover and Applying it to Constructive Algebra. PhD thesis, Cornell University, 1994. Forthcoming.

    Google Scholar 

  17. Richard D. Jenks and Robert S. Sutor. AXIOM: the Scientific Computation System. Springer-Verlag, 1992.

    Google Scholar 

  18. Serge Lang. Algebra. Addison-Wesley, 2nd edition, 1984.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. Ray Mines, Fred Richman, and Wim Ruitenburg. A Course in constructive Algebra. Universitext. Springer-Verlag, 1988.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. Martin Wirsing. Algebraic specification. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 13. Elsevier, 1990.

    Google Scholar 

  23. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alan Bundy

Rights and permissions

Reprints 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

Publish with us

Policies and ethics