A Meta simplifier

C. Faure · 1990

The simplification process is a key point in computer algebra systems. Two ideas have induced our model of simplifier : homogenizing the computation over numerical (see below) and formal expressions, and building a simplifier completely reachable by the user. In order to evaluate numerical expressions, the simplifier calls functions which compute the result or raise a runtime type error. Formal expressions are transformed modulo the properties of the operators. For homogenizing those two processes, three basic mechanisms come out : simplification by properties, type checking, evaluation. More over a fourth mechanism using rewriting rules is necessary to compute non-standard transformations needed by the user. The structure of this four-component simplifier must make it completely reachable by the user unlike the usual simplifiers that include a kernel that the user can't modify. For example the operator “+” is always considered as associative and commutative and there is no way to suppress those properties because they are implicitly used in the code. The only means of suppressing this kernel is to express explicitly all knowledge needed by the simplifier. The model that comes out consists of two parts : a knowledge-base that contains all information and an engine split into four components that consults this base, we call it a meta simplifier1.

Read the paper · More papers on PaperTik