Previous: Final report on the Algebra Assistant
Up: Final report on the Algebra Assistant
Next: Work done
Overview
The Algebra Assistant is a project to build an interactive equation
editor that promotes exploration of mathematics by removing some of
the tedium associated with doing algebra. With less tedium, less
errors due to inattention occur, and more possible routes of attack
can be considered before frustration sets in.
The Algebra Assistant is concurrently conceived to have three major
components:
- [graphics interface]
An X window interface provides the maximum portability for the
application. Providing graphics not only makes the equations look
nice, but allows the user to retain all the prior knowledge they
might have with at the chalkboard. An ASCII interface would at best be
a kludge, and would require the user to learn a new set of symbols.
- [editor]
The system must provide a mechanism to take an equation and edit it in
the normal ways that one typically does on a chalkboard: this usually
involves writing down an equation (possibly giving it a name), and
then transforming it by doing substitutions, multiplying by unity
(that is, cancelling terms top and bottom, or rationalizing a
denominator), and adding and subtracting unity (either to move a term
from one side of an equation to the other, or to do things like
completing a square).
- [grinder]
As a support tool for the above, the system needs to be able to
provide a simple level of assistance. All of the operators and symbols
being manipulated having some meaning, and the user should be able to
request that a particular operation be interpreted. This can be
particularly useful when it comes to doing things like taking
derivatives of complicated equations, or doing integrals. It is not
suggested that this grinder be all encompassing, but rather that it
provide simplifications that are easy to do, and provide interface(s) to
larger, more complete programs such as Maple,
Macsyma, etc.
These portions of the system are being developed in a language called
Self. Please see the Self documentation for a proper overview of the
language [].
mcr@ccs.carleton.ca