I am looking for some CL code to simplify expressions (input as lisp structures
eg: (+ B A (+ C B))). Nothing very clever, just the sort of expressions
found in simple programs. This is for our research project on programs
transformation/analysis.
Some examples:
(+ B A (+ C B)) simplifies to (+ A B C)
(* (+ A B) (- A B)) simplifies to (- (^ A 2) (^ B 2))
(- (* (+ A B) (- A B)) (- (^ A 2) (^ B 2))) simplifies to 0
I hope you get the idea. Ideally it would be extensible, based on a list of
rules which could be added to.
I have the source for the Boyer-Moore Theorem Prover and Maxima, but we
are finding it a bit difficult to dig out the parts we could make use of.
Please email replies as I don't often read this list. Many thanks!
Martin.
JANET: ···········@uk.ac.durham Internet (eg US): ···········@DURHAM.AC.UK
or if that fails: ························@nfsnet-relay.ac.uk
or even: ························@CUNYVM.CUNY.EDU
BITNET: ···············@DURHAM.AC.UK" UUCP:...!mcvax!ukc!durham!Martin.Ward