On 2/23/12, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> Robert's general approach works, but the rule itself has a bug.
Yikes, yeah, that's pretty embarrassing. Let me try to recover.
matchdeclare (aa, nctimesp);
nctimesp (e) := not atom(e) and op(e) = ".";
tellsimp (aa^^-1, map (lambda ([e], e^^-1), reverse (aa)));
(a . b . c)^^-1;
=> c^^(-1) . b^^(-1) . a^^(-1)
That's better ....
Robert Dodier