Logged In: YES

user_id=588346

Simpler case: (a + 1)^^(-1) . (a + 1)^^(-1), expon:2;

The problem is that simpnct and simpncexpt are passing the

buck to each other in cases like this. Simpncexpt correctly

expands (a+1)^^3 as (a+1).(a+1)^^2, letting simpnct take

care of the expansion, which it does. But it also tries to

expand (a+1)^^(-3) as (a+1)^^-1 . (a+1)^^-2, but simpnct

doesn't recognize that case.

Another, less dramatic, bug: expand(a^^-1 . (b+c)^^-1)

does not expand at all.

Note that there's no way to combine the parts within the

powers without expanding out the powers -- same problem

with commutative multiplication. That is, how do I simplify

a^n * (1+1/a)^n => (a * (1+1/a))^n => (a+1)^n , or to get

a little fancier, (1/a+1)^(n+k)*a^(n+m) => a^(m-k)*(a+1)^

(n+k). Radcan will do it, but at the cost of losing control

over the simplification. Perhaps some variant of multthru is

needed, or a new powerscontract.