title: Python Sympy printing differentiated user defined composite function; how to toggle substitution
body: <p>I want to get rid of an extra substitution which sympy makes when differentiating a user defined composite function. The code is</p>
  
  <pre><code>t = Symbol('t')
  u = Function('u')
  f = Function('f')
  U = Symbol('U')
  
  pprint(diff(f(u(t),t),t))
  </code></pre>
  
  <p>The output is:</p>
  
  <pre><code>d                d        ⎛ d           ⎞│       
  ──(f(u(t), t)) + ──(u(t))⋅⎜───(f(ξ₁, t))⎟│       
  dt               dt       ⎝dξ₁          ⎠│ξ₁=u(t)
  </code></pre>
  
  <p>I guess it does this because you can't differentiate w.r.t u(t), so this is ok. What I want to do next is to substitute u(t) with an other variable say U and then get rid of the extra substitution \xi_1</p>
  
  <pre><code>⎞│
  ⎟│
  ⎠│ξ₁=U
  </code></pre>
  
  <p>To clarify, I want this output:</p>
  
  <pre><code>d             d     ⎛d          ⎞
  ──(f(U, t)) + ──(U)⋅⎜──(f(U, t))⎟
  dt            dt    ⎝dU         ⎠
  </code></pre>
  
  <p>The reason is; when I Taylor expand a composite function like this, the extra substitutions make the output unreadable. Does anyone know how to do this? Any other solution is of course welcomed.</p>