Viktor T. Toth wrote:
>>>first and foremost, I think we should make sure that no code should
>>>produce a mathematically incorrect result, even if it fails to
>>>produce the "desired" result (i.e., it's better to not simplify an
>>>expression than to simplify it incorrectly.) I believe this
>>>attitude is essential if Maxima is intended to be used as a serious
>>>research tool.
>>
>>I think you underestimate the difficulty of this.
>
>
>
> I didn't mean to suggest that it's an easy thing to do, since I know better.
> What I said is that it should be our goal.
I fully agree with this. However, I guess I was reacting to "first and foremost".
It seems to me that documenting what it does, even if it is not exactly what
we would ideally want done, is pretty important.
Thus in the case
of the sample documentation page, "Freeof" may answer that
sin(x)^2+cos(x)^2 depends on x, when we know it does not.
But we can't always
afford to do every possible simplification on every expression. And some
questions are formally undecidable, so that we can't algorithmically
tell the answer to freeof(x, expression)!
We should move forward on all fronts.
I also suggest that we might add, in the documentation, notes that give
some advice, like "This command exists for compatibility with old
programs. We suggest you use ..... for new programs. {e.g. ev vs. subst}"
or "Some people expect this command to do ... but this is not
its objective. {e.g. factor}"