Question: Problem with assume and solve

Hello.

I have following peace of code:

>restart;
>assume(a::complex);
>z1:=t=conjugate(a)*b;
>z2:=a^2;
>a:=solve(z1,a);
>z2;

I need to get (conjugate(t))^2/b as a result of last operation but get a~^2. What do I have to change in code? Of course, I can skip

>assume(a::complex);

and it will get me exactly what I need. But I have to use this command for other reasons.

Thank you.

######################################
Pardon me, but the new MaplePrimes doesn't function all that well. From Carl Love I have learned that editing works fine. So I'm editing your question by putting my answer below only.
This is kind of silly of course.
Preben Alsholm

restart;
assume(a::complex);
z1:=t=conjugate(a)*b;
#z2:=a^2;
type(a,`local`); #Just to show the difference between the two a's
a:=solve(z1,a); #Redefining a
type(a,`local`); # The other a
a^2;

restart;
assume(a::complex);
z1:=t=conjugate(a)*b;
z2:=a^2;
subs(a=solve(z1,a),z2);

Please Wait...