assume and kill from Lisp?



>>>>> "Raymond" ==    writes:

    Raymond> When finding the Laplace transform:

    Raymond>   specint(t^(v-1)*exp(-a/t/4)*exp(-p*t),t);

    Raymond> It asks questions about the sign of p, a, and psey.  The
    Raymond> questions for p and a are ok, but psey is an internal
    Raymond> thing.  To do it's work, maxima has substituted psey for
    Raymond> p, in case p is a more complicated expression.

This doesn't work in general, because there are cases where maxima
will ask for the sign of psey - a.  Knowing the sign of psey doesn't
help here.

We need some kind of mechanism to handle this.  

I was thinking, along the lines of the discussion we had before about
signaling conditions, that this would be one way of handling this.

Whenever maxima needs to get the sign of something, it signals an
UNKNNOWN-SIGN (say) condition.  The top-level repl loop would handle
this be default and prompt the user as we do now.

However, other bits of code can install its own handler to handle this
condition.  Thus, the hypergeometric routine that substitutes psey for
p can handle the unknown-sign condition, and substitue p for psey, and
ask the user.  The user sees the prompt with p instead of psey, so no
confusion or exposure of internal variables.  Then we can continue
where we left off with the right assumptions.

I think this is doable and would be beneficial.  I haven't actually
tried this though.  It probably doesn't fit in with the plans for the
next release.

Ray