Partial Evaluation and Residual Theorems in Computer Algebra
Michael Kucera, Jacques Carette · 2006
We have implemented a partial evaluator for Maple. One of the applications of this partial evaluator is to find, in Maple, what is the difference between generic or symbolic evaluation, and complete evaluation. More precisely, when asked degree(a*xˆ2+3,x), Maple replies 2, which is generically true. However, we are interested in the residual formula ¬(a = 0) which, as a guard, makes the answer 2 correct. While special algorithms have been derived in the past for this particular situation, we show how we can derive many of these algorithms as special cases of partially evaluating Maple code. Key words: Maple, symbolic computation, partial evaluation, specialization problem 1