Question: Unexpected behavior of subs

By unexpected, I mean unexpected to me, of course.

The following substitution fails:

> A := y*(f[x]-z)/(f(x)-y);


> subs({(f[x]-z)/(f(x)-y)=lambda},eval(A));

but if I replace the multiplication by an addition, the substitution works:

> B := y+(f[x]-z)/(f(x)-y);
> subs({(f[x]-z)/(f(x)-y)=lambda},eval(B));

Or if I simplify the expression, the substitution also works:

> C := y*(f[x]-z);
> subs({(f[x]-z)=lambda},eval(C));

How come? Is there a way to make the substitution sought into A?

many thanks.

 

(unable to use Maple tags today, sorry)

Please Wait...