1 | initial version |

It seems to work fine for me:

```
sage: var('x')
x
sage: f=function('f',nargs=1)
sage: f
f
sage: f == f
True
sage: f(x) == f(x)
f(x) == f(x)
sage: bool(f(x) == f(x))
True
sage: if f(x) == f(x):
....: print 'equal!'
....:
equal!
```

Do you mean that you want `f(x) == f(x)`

to be automatically simplified to `True`

, instead of returning an equation? That can't work in general, because in Sage, an equation is `False`

if Sage can't prove that it's true. So if you had an equation like

```
sage: x^2 - 4 == 0
x^2 - 4 == 0
```

it would instead give you `False`

rather than the equation, because it's possible that `x`

is something other than `2`

or `-2`

..

Long story short, if you want the truth value, call `bool`

. You might be able to construct a subclass which gives you the behaviour you want but ISTM it'll only lead to headaches.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.