1 | initial version |
You are right, you defined a symbolic expression, which includes the name of the variable:
sage: type(f)
<type 'sage.symbolic.expression.Expression'>
sage: f.parent()
Callable function ring with arguments (x,)
You can survive by noticing that:
sage: i(t) = f(t) + g(t)
sage: i
t |--> 2*t^2
Unfortunately, it is currently not possible to add more semantics to such objects, therefore approaching mathematical functions. Typically, it would be very nice to be able to define a function, including its domain and codomain (this is currently imitated with assumptions on the variables).