How do you write this in lisp



It would be great if there was a definitive guide to writing simplifying functions.
There are plenty of examples, but no how-to manual that I know of; some topics
that come to mind:

 (1) nouns and verbs,
 (2) autoloading simplifying functions,
 (3) simplification--how much is too much,
 (4) reflection rules,
 (5) binary64 & bigfloat evaluation,
 (6) extras: gradef, conjugates, limits, TeX properties, antiderivatives,
 (7) declaring function properties (complex, ...),
 (8) domain and wrong number of argument errors,
 
--Barton