DYNAMIC EVALUATION AND
COMPUTING WITH PARAMETERS

Dynamic evaluation is a process of calculation that allows the execution of a program even where several answers are possible for some questions appearing in the program. It is described rigorously using sketch theory [DR].

Dynamic evaluation was first applied to computations with algebraic numbers, implemented as the dynamic algebraic closure of a field, first written in Reduce (known as the D5 system), and later in Axiom [DDD, DD, Du]. In this program the parameters are algebraic numbers, represented by symbols under algebraic constraints. This domain handles questions of equality over itself, using an algorithm based on the gcd.

The Axiom version of the dynamic algebraic closure is composed of several categories, domains and packages [Du]gif. In particular there is the control package with the function allCases. This function manages the progress of a dynamic evaluation. It is done in a general way that is independent of the particular application under consideration. This was possible because dynamic evaluation is a general principle, and also thanks to the polymorphism of Axiom.

Other applications of dynamic evaluation implemented in Axiom are, for example, the dynamic algebraic real closure [DGV] and the dynamic constructible closure [Go]. They use (without modification) the same control package. In the dynamic algebraic real closure parameters are also algebraic numbers, but additionally allow sign tests (>). The sign test implies the use of algorithms from real closed fields which makes the implementation more difficult (in fact, this work is still in progress).

The dynamic constructible closure of a field allows only the equality test, but here one deals with parameters in a more general sense than the algebraic one. In this domain one can get the full answer for the example in the introduction. As in the algebraic case, the gcd is the tool used in answering equality tests. We explore this domain further in the next section.





Stephen Watt
Wed Sep 18 17:42:21 MET DST 1996