On Tue, Oct 16, 2012 at 10:30 AM, Przemek Klosowski <
przemek.klosowski at nist.gov> wrote:
> On 2012-10-12, Przemek Klosowski <przemek.klosowski at nist.gov> wrote:
> ...Shouldn't 'sum' be linear by default BTW?...
>
The name 'linear' is somewhat misleading. It really means "always apply
the transformations f(a*X)=>a*f(X) and f(X+Y) => f(X)+f(Y)". But it is
often the case than in a derivation it is critical *not* to make those
transformations, e.g. when cleverly rearranging X+Y.
If you want to *selectively* apply those transformations at certain points
in a derivation, global declarations don't give you very fine control.
Maybe we should have functions like transform_outative and
transform_additive so that you can do, e.g.,
substpart(transform_outative(piece), ... ).
-s