Previous: View-Model representation
Up: Structural overview
The mathematical representation of an equation is a fairly straightforward undertaking. It is simply a matter of defining appropriate specializations of a few base objects.
One problem that becomes apparent when trying to perform substitutions
on the equations is that one might not want to replace all instances
of with
. In this case, one needs some mechanism to distinguish
between the various instances of
. A further level of
specialization for primary objects is probably needed, and is
depicted by the dashed lines pointing to master atoms.
Note, that there is no problem distinguishing various equations (unless the structures are literally shared) because a new + operation structure is created when you put the two terms together.
An alternative way to denote the object that one is going to work with is
possibly with a path from some anchor point. This has the advantage of
not requiring extra links, and of allowing any amount of structure
sharing. This aspect of when to copy and when not to copy appears at
first to be a trivial matter, but at a deeper level can be
problematic. The simplest solution suggested above is to always copy,
remembering that any tests for equality should be done with
equal rather than eq
mcr@ccs.carleton.ca