Groebner Bases in Theorema
In this talk we show how the theory of Groebner bases can be represented in the computer system Theorema, a system initiated by Bruno Buchberger in the mid-nineties. The main purpose of Theorema is to serve mathematical theory exploration and, in particular, automated reasoning. However, it is also an essential aspect of the Theorema philosophy that the system also provides good facilities for carrying out computations. The main difference between Theorema and ordinary computer algebra systems is that in Theorema one can both program (and, hence, compute) and prove (generate and verify proofs of theorems and algorithms). In fact, algorithms / programs in Theorema are just equational (recursive) statements in predicate logic and their application to data is just a special case of simplification w.r.t. equational logic as part of predicate logic.
We present one representation of Groebner bases theory among many possible “views” on the theory. In this representation, we use functors to construct hierarchies of domains (e. g. for power products, monomials, polynomials, etc.) in a nicely structured way, which is meant to be a model for gradually more efficient implementations based on more refined and powerful theorems or at least programming tricks, data structures, etc.
KeywordsGroebner basis Buchberger algorithm mathematical theory exploration Theorema
Unable to display preview. Download preview PDF.
- 1.Buchberger, B.: Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalen Polynomideal (An Algorithm for Finding the Basis Elements in the Residue Class Ring Modulo a Zero Dimensional Polynomial Ideal). PhD thesis, Mathematical Institute, University of Innsbruck, Austria (1965), English translation in J. of Symbolic Computation, Special Issue on Logic, Mathematics, and Computer Science: Interactions 41(3-4), 475–511 (2006)Google Scholar
- 2.Buchberger, B.: A Critical-Pair/Completion Algorithm in Reduction Rings. RISC Report Series 83-21, Research Institute for Symbolic Computation (RISC), University of Linz, Schloss Hagenberg, 4232 Hagenberg, Austria (1983)Google Scholar
- 3.Buchberger, B.: Mathematica as a Rewrite Language. In: Ida, T., Ohori, A., Takeichi, M. (eds.) Functional and Logic Programming (Proceedings of the 2nd Fuji International Workshop on Functional and Logic Programming, Shonan Village Center), November 1-4, pp. 1–13. World Scientific, Singapore (1996)Google Scholar
- 4.Buchberger, B.: Introduction to Groebner Bases. London Mathematical Society Lectures Notes Series, vol. 251. Cambridge University Press (April 1998)Google Scholar
- 5.Buchberger, B.: Groebner Rings in Theorema: A Case Study in Functors and Categories. Technical Report 2003-49, Johannes Kepler University Linz, Spezialforschungsbereich F013 (November 2003)Google Scholar
- 8.CoCoA system, cocoa.dima.unige.it
- 9.Magma Computational Algebra System, magma.maths.usyd.edu.au/magma/
- 10.Maple system, www.maplesoft.com/products/Maple/
- 11.Wolfram Mathematica, http://www.wolfram.com/mathematica/
- 12.Sage system, http://www.sagemath.org
- 13.Decker, W., Greuel, G.-M., Pfister, G., Schönemann, H.: Singular 3-1-6 — A computer algebra system for polynomial computations (2012), www.singular.uni-kl.de
- 16.Theorema system, http://www.risc.jku.at/research/theorema/description/
- 17.Windsteiger, W.: Building Up Hierarchical Mathematical Domains Using Functors in THEOREMA. In: Armando, A., Jebelean, T. (eds.) Electronic Notes in Theoretical Computer Science. ENTCS, vol. 23, pp. 401–419. Elsevier (1999)Google Scholar