The result of the following code is perfectly normal.
%display latex
var('A, x, y, l, alpha, beta, R, p_x, p_y');
assume(A>0,alpha>0,beta>0,x>0,y>0);
U=A*x^(alpha)*y^(beta);
U_x= U.diff(x);
U_y= U.diff(y);
tms=(U_x/U_y).canonicalize_radical();
var('x,y')
y= function('y');
tms1=(U_x/U_y).substitute(y=y(x)).canonicalize_radical();
tms1.diff(x)
courbtms=solve(tms1.diff(x)==0, y(x).diff(x),solution_dict=True)
courbtms
but it looks like this
$\left[\frac{\partial}{\partial x}y(x) = \frac{y(x)}{x}\right]$
It's the first time I see this type of brackets. I can extract the right member but what I am not able to obtain is to substitue backward $y$ to $y(x)$?