Software Engineering Project:

Building up the Domain of Polynomials with Functors in Theorema

Project Description

Theorema is an ongoing project in automated theorem proving, which aims at the implementation of a software system that integrates all aspects of mathematical work (i.e. defining and proving theorems, implementing algorithms, computing, presenting mathematical material, etc.) in one common framework.

Theorema defines its own mathematical language, which should contain all constructs necessary in order to support all these workphases. One ingredient of this language is the concept of functors, that allow to construct new domains from already existing domains (a domain in this case is a set of objects together with a set of operations on them). In other words, a functor describes how the new objects are built from existing objects and how the new operations are defined in terms of already existing operations on the objects that make up the new object (e.g. rational numbers are represented as pairs of integers, operations on rational numbers are defined in terms of operations on the integers involved). Using this concept the domain of multivariate polynomials should be built up based on the existing Theorema language components and should be embedded into the whole Theorema system.

The implementation language used is Mathematica 3.0, no Theorema specific tools for debugging and testing have been developped yet.

This project would be suited best for those who intend to join the Theorema group later in order to understand the philosophy of the system and get the flavour of how things are supposed to work in the Theorema system.

Contact person: Wolfgang Windsteiger

Last modified: Wed Feb 4 12:01:52 MET 1998