## error when using variable...

mas := proc(f)
return ln(diff(rhs(subs(_C1=0,dsolve(diff(y(x),x) = f))), x\$2));
end proc:
mas(exp(x));
mas(mas(exp(x)));
mas(x^2);
mas(x^2+x^3);

when i hard code x, there is no problem in above code.
but when i op to get variable x and run below, it do not have problem when run line by line, but it has problem when run in
procedure
Error, (in mas) invalid input: diff received exp(x), which is not valid for its 2nd argument

mas := proc(f)
local martin:
martin := op(f):
return ln(diff(rhs(subs(_C1=0,dsolve(diff(y(martin),martin) = f))), martin\$2));
end proc:

mas(exp(x));
mas(mas(exp(x)));
mas(x^2);
mas(x^2+x^3);

## indets is different in this case, how to do?...

indets(AA(MM(AA(X1,X2),B2),MM(AA(B2,X3),X5)));
this can get a list of X1,X2,B2,X3,X5

propositionsentence := MM(AA("it", "run"), "maple"):
indets(propositionsentence);

but this can not get "it", "run", "maple"

how to do this in case this in maple 12?

## Extracting functions of time ...

Hello,

I would like to extract from a equation only the list of variables depending of time.

eq:= x0(t)+sin(alpha0(t))*sin(gamma0(t))*sin(beta0(t))*xb[1]-sin(alpha0(t))*sin(beta0(t))*cos(gamma0(t))*zb[1]-sin(alpha0(t))*cos(beta0(t))*yb[1]+cos(alpha0(t))*sin(gamma0(t))*zb[1]+cos(alpha0(t))*cos(gamma0(t))*xb[1]-l2[1]*(sin(psi[1](t))*sin(alpha0(t))*sin(gamma0(t))*sin(beta0(t))-cos(psi[1](t))*sin(alpha0(t))*sin(beta0(t))*cos(gamma0(t))+sin(psi[1](t))*cos(alpha0(t))*cos(gamma0(t))+cos(psi[1](t))*cos(alpha0(t))*sin(gamma0(t)))-l3[1]*(sin(theta[1](t))*sin(psi[1](t))*sin(alpha0(t))*sin(beta0(t))*cos(gamma0(t))+sin(theta[1](t))*cos(psi[1](t))*sin(alpha0(t))*sin(gamma0(t))*sin(beta0(t))+cos(theta[1](t))*sin(psi[1](t))*sin(alpha0(t))*sin(gamma0(t))*sin(beta0(t))-cos(theta[1](t))*cos(psi[1](t))*sin(alpha0(t))*sin(beta0(t))*cos(gamma0(t))-sin(theta[1](t))*sin(psi[1](t))*cos(alpha0(t))*sin(gamma0(t))+sin(theta[1](t))*cos(psi[1](t))*cos(alpha0(t))*cos(gamma0(t))+cos(theta[1](t))*sin(psi[1](t))*cos(alpha0(t))*cos(gamma0(t))+cos(theta[1](t))*cos(psi[1](t))*cos(alpha0(t))*sin(gamma0(t)))-xp[1](t) = 0;

I think the indets function should help be.

indets(lhs(eq)-rhs(eq), function(t))

The last argument of the indets is wrong but should enable to explain my need.

Thanks a lot for your help