verifying some calculus equalities



Please excuse me if this has been discussed before.

It should be possible to use maxima to verify (or actually prove) certain standard
mathematical formulas in calculus.

For instance, one should be able to prove the chain rule for
derivatives.

diff(f(g(x)),x) = diff(f(g(x)),g(x))*diff(g(x),x)

for arbitrary functions f and g.

So, I tried

(%i36) is ( diff(f(g(x)),x) = diff(f(g(x)),g(x))* diff(g(x),x));
(%o36)                               false

But, for some built in functions, it seems to  work.

(%i37) is (diff(sin(cos(x)),x) =
diff(sin(cos(x)),cos(x))*diff(cos(x),x));
(%o37)                               true

For other things, one gets error messages.

It can't do things like

(%i55) diff(exp(x^2),x^2);

  -- an error.  To debug this try debugmode(true);

Can one prove the Chain Rule using maxima?

TIA,
  -sen



  ---------------------------------------------------------------------------
  | Sheldon E. Newhouse            |    e-mail: sen1 at math.msu.edu           |
  | Mathematics Department         |       				   |
  | Michigan State University      | telephone: 517-355-9684                |
  | E. Lansing, MI 48824-1027 USA  |       FAX: 517-432-1562                |
  ---------------------------------------------------------------------------