Models for mathematical systems
Alfred H. Morris · Communications of the ACM · 1966
A program, written for the IBM 7090, which defines a model for a finite collection of associative algebras for the computer, is described and illustrated. The program contains a structure broad enough in scope to allow one to perform operations on such diverse mathematical concepts as differential equations, infinite series and differential forms in a simple yet comprehensive manner, while also serving in a foundation upon which a variety of higher level symbol manipulation languages can be developed. The development of the structure of this model is given. In particular, it is assumed that a family of not necessarily commutative algebras defined over a collection of commutative rings is given, where the algebras are algebras of modules generated by recursive sets. A brief discussion is given on how the vectors and scalars of these algebras should be represented, and how their basic algebraic operations (addition and multiplication) can be handled in a systematic manner without regard to the specific underlying scalar rings involved. Functional expressions are treated by developing a procedure for assigning an arbitrary list of operators to an algebra, and then assigning to each operator a list of assumptions that it is to satisfy. The latter is accomplished through the use of what are called "axiom" or "partial evaluation" functions. The resulting structure, which is called ALGEBRA, is shown to serve as a model for a family of associative algebras, where the resulting families of equivalence classes of representations for the vectors are uniquely representable. Various related notions, such as topological and decision considerations, are also briefly discussed. After having outlined the development of the system ALGEBRA, polynomial, exterior and series algebras are given as examples to illustrate how the model can be used. It is observed that a wide variety of mathematical data can be handled fairly simply, depending only on the formulation of the problem under consideration. The possibility of constructing various higher level symbol manipulation languages that have a mathematical structure, broad enough in scope to allow an analyst to manipulate various problems in a variety of ways, is also discussed. A programming language called FLAP has already been developed, demonstrating that such a language can indeed be studied and formulated in a consistent manner.