# Is there any way to define an as-yet-unknown function?

I'd like to know if there's a way of declaring functions in sage that are as-yet unknown. For example, let's say I have a function

```
p = R*T/v - a(T)/v/(v+b)
```

And I would like to be able to take a derivative like this

```
deriv(p,T)
```

and be given something back a partial derivative something like

```
R/v - diff(a(T),T)/v/(v+b)
```

However at present I can't seem to put an abstract function `a(T)`

into my expression or find anything in the documentation that says how this is done.

As I recall there was a way to do this with wxMaxima, so maybe I just haven't found the trick in Sage yet.