# Question:Does additionally create new variables?

## Question:Does additionally create new variables?

Maple 2015

Hi,
I'm very stunned by the results displayed in the worksheet below.
It seems that adding extra assumptions on a variable already constrained with "assume" has disturbing side effects ?

Here is a simplified worksheet that exhibits the phenomenon.
Basically I want to solve the equation a*x-b =b with respect to x.
In a first step I set assumptions on a and b and Maple returns x=0, as expected.
Next I add a new condition on b and ask Maple to solve the equation again. I intain this strange result: x=(b~ - b~)/a~.

Am I doing something wrong?

 > restart:
 > anames(user);
 > assume(a > 0): assume(b > 0):
 > f := a*x+b
 (1)
 > g := f=b: simplify(g); solve(g, a);
 (2)
 > anames(user);
 (3)
 > h := f=b: simplify(h); solve(h, a);
 > anames(user)  # additionally(b > a) doesn(t introduce a new variable
 (4)
 > indets(g); indets(h);  # why do I have b~ twice ?             # This is probably the reason why solve(h, a) doesn't work
 (5)
 > lprint(indets(h))
 {a, b, b, x}
 > # strange... solve(h, indets(h)[1]); simplify(%);
 (6)
 > # remark, dismantle explains nothing about the distinction between b~ and b~
 EQUATION(3)    POLY(6)       EXPSEQ(4)          NAME(4): a          NAME(4): b          NAME(4): x       DEGREES(HW): ^2 ^1 ^0 ^1       INTPOS(2): 1       DEGREES(HW): ^1 ^0 ^1 ^0       INTPOS(2): 1    NAME(4): b
 > dismantle(h)
 EQUATION(3)    POLY(6)       EXPSEQ(4)          NAME(4): a          NAME(4): b          NAME(4): x       DEGREES(HW): ^2 ^1 ^0 ^1       INTPOS(2): 1       DEGREES(HW): ^1 ^0 ^1 ^0       INTPOS(2): 1    NAME(4): b

 >