# Question:Why does seq behave this way?

## Question:Why does seq behave this way?

Maple

In this worksheet I solve a system of differential-algebraic equations (DAEs) and then invoke a proc to evaluate the solution.  The trivial proc, called tryme, is reduced from a larger proc which I have cut down to focus on the error message.

I can't explain where the error originates.  Can someone shed light?  I don't insist on the output=operator option.  I tried other output options but always arrived at the same error message.

 > restart;
 > de1 := diff(x(t),t,t) = lambda(t)*x(t);

 > de2 := diff(y(t),t,t) = 1 + lambda(t)*y(t);

 > eq := x(t)^2 + y(t)^2 = 1;

 > ic := x(0)=1, y(0)=0, D(x)(0)=0, D(y)(0)=0;

 > dsol := dsolve({de1,de2,eq,ic}, numeric, output=operator);

Let's extract the x component of the solution.

Due to the output=operator option, the result is a procedure.

 > my_x := eval(x, dsol);

 > plot(my_x(t), t=0..10);

This evaluates the procedure my_x at time T

 > tryme := proc(T::numeric)   my_x(T); end proc:

The proc tryme works as intended:

 > my_x(1) = tryme(1);

Calling tryme through a sequence works fine:

 > seq(tryme(s), s=1..3);

But the name t  is treated as special.

 > seq(tryme(t), t=1..3);

Error, (in my_x) invalid input: diff received 1, which is not valid for its 2nd argument

What is the source of this error?

How can one work around it other than by avoiding the name t ?