# Revision history [back]

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).