On 2012-11-25, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> 1) tellsimpafter attaches the simplification property to the *verb* laplace,
> not the *noun* laplace (cf. noun and verb section of
> manual<http://maxima.sourceforge.net/docs/manual/en/maxima_6.html#SEC31>),
> but the simplification needs to be on the noun. It is unclear whether this
> is a bug; it is conceivable that one would want different transformations
> on the verb form and the noun form.
Well, I think tellsimpafter's treatment of nouns and verbs can only be
described as a bug. I'm tempted to say that a rule should always apply
only to either the noun or verb form, in the spirit of "you got what you
asked for". Here's a description of how it works at present (as
determined by reading the code & trying some examples):
The treatment of noun and verb forms is slightly confused. If a
rule is defined for a noun (or verb) form and a rule for the
corresponding verb (or noun) form already exists, the
newly-defined rule applies to both forms (noun and verb). If a
rule for the corresponding verb (or noun) form does not exist, the
newly-defined rule applies only to the noun (or verb) form.
Whatever we decide about tellsimpafter, we should ensure that tellsimp,
defrule, and defmatch act the same.
> 2) when the laplace function returns a result, it marks it as simplified
> without giving the simplifier a chance to apply tellsimpafter rules. This
> is a bug, which should be corrected.
laplace constructs a lot of expressions with the SIMP flag, which should
just be struck out, right? laplace shouldn't mark expressions with the
SIMP flag.
best,
Robert Dodier