GUARDIAN

Guarded expressions in practice. Computer algebra systems typically drop some degenerate cases when evaluating expressions, e.g., $x/x$ becomes 1 dropping the case $x=0$. We claim that it is feasible in practice to compute also the degenerate cases yielding guarded expressions. We work over real closed fields but our ideas about handling guarded expression can be easily transferred to other situations. Using formulas as guards provides a powerful tool for heuristically reducing the combinatorial explosion of cases: equivalent, redundant, tautological, and contradictive cases can be detected by simplification and quantifier elimination. Our approach simplifies the expressions on the basis of simplification knowledge on the logical side. The method described in this paper is implemented in the REDUCE package GUARDIAN, which is freely available on the www.