Computer Algebra and Symbolic Computation: Elementary Algorithms

This chapter is concerned with the structure of mathematical expressions. Since mathematical expressions are the data objects in computer algebra, an understanding of this structure is essential for computer algebra programming.
In Section 3.1 we introduce the concept of recursion and describe a number of ways it is used in mathematics and mathematical algorithms. In this chapter, recursion s main role is to describe the structure of expressions. Since recursion is also an essential programming technique in computer algebra, this topic is covered in detail in Chapter 5.
In Section 3.2 we describe two structural forms for mathematical expressions that correspond to the internal forms used by computer algebra systems before and after automatic simplification. In addition, we introduce four primitive operators that provide a way to analyze and construct expressions. Finally, in Section 3.3 we describe a number of operators, including the Free_of and Substitute operators, for which the actions depend primarily on the structure of an expression.
In mathematics, a recursive definition or algorithm is one that is defined in terms of a simpler version of itself or sometimes in terms of just another version of itself. The recursion concept is fundamental to nearly all of computer algebra. Indeed, recursiveness in one form or another plays a crucial role in the implementation of many standard operations in com puter algebra including simplification, substitution, factorization, solution of equations, differentiation, and integration. In this section, we give a brief introduction to recursion,...