**Next:**Geometry and the

**Up:**The Explanation Problem

**Previous:**The Explanation Problem

## Symbolic Computations and the Explanation Problem

Symbolic computations incur for a number of subtle problems that do not arise in numeric computations. These problems arise in a number of ways, many of which have been enumerated in informal announcements and talks by Kahan [60] and Fateman. One of the paradigmatic sources of error arises when the different levels of abstraction are used in the computation. Resolving this problem is one of the foundations of the Axiom system [57,32] and is addressed by our own Weyl system [128].

A simpler, but just as serious problem is illustrated below. Consider the issues that arise in trying to write a subroutine that produces the value of the parameterized integral

Because the integrand is a simple rational function, and might have poles in the interval , we find it preferable to compute the indefinite integral symbolically, and then transform the symbolic form into a numerical program. When a symbolic computing system like Maple is asked to compute the indefinite integral it returns something like

The transcendental function is expected since it is the sum of two logarithms and the denominator has two zeroes. Unfortunately, the resulting numerical program will fail whenever vanishes.

This problem arises because the integration routines had assumed that
the denominator was square free---a reasonable assumption since
and its derivative with respect to **x** are relatively prime
as elements of . However, when **b** and **c** are given
numeric values, this assumption is invalid and the result is
erroneous. This is an example of two pieces of software not clearly
communicating their assumptions. The problem is not a simple question
about polynomials in . Additional assumptions are
involved.

*nuprl project*

Tue Nov 21 08:50:14 EST 1995

Tue Nov 21 08:50:14 EST 1995