Can Maxima be used to simplify symbolic matrix algebra statements?



Can Maxima be used to simplify symbolic linear algebra statements?

I.e. something that can reduce a matrix statement such as (using Matlab 
notation),

A*(B + inv(A)) * inv(A*B + I)    to    I   ?

Or even better, using concepts such as the matrix-inversion-lemma, being 
able to reduce

(inv(B) + C*inv(D)*C')  *  (B - B*C*inv(D + C'*B*C)*C'*B  to I  ?

I have a couple of pages full of nasty matrix algebra equations I'm 
trying to wrestle into a form that makes some intuitive sense.

If tried using statements such as

(C1) declare([A,B,C],nonscalar);

and

(C2) simplify(A . (A^^-1 + B));

but not with much luck.

How should Maxima be used to address this general problem?

Thanks
Rudolph