# Trig simplification of implicit functions fails

I'd like to use Sage to verify my solutions to Lagrangian equations of motion for a double pendulum. However, Sage seems unable to handle some basic substitutions needed to make sense of this relatively simple problem.

For example, this all works fine:

```
var('z')
r = cos(z)**2 + sin(z)**2
assert r.simplify_trig() == 1
```

However, when z is a function of time, things break down entirely:

```
var('x,y,t,z')
θ1 = function('θ1')(t)
θ2 = function('θ2')(t)
K = sin(θ1)**2 + cos(θ1)**2
assert K.simplify_trig() == 1
```

Specifically, `K.simplify_trig()`

throws:

TypeError: ECL says: THROW: The catch MACSYMA-QUIT is undefined.

I would also expect

```
assert K.substitute_function(θ1, z) == cos(z)^2 + sin(z)^2
```

However `K.substitute_function(θ1, z)`

just gives me K unchanged.

Seems related, but I'm still stumped: ask.sagemath.org/question/7856/lagranian-mechanics/