What is wrong with this rule?



The matcher does not backtrack at all.
There is one that does, in the integration package
but it is not available except from lisp.
There are other possibilities (e.g. a Mathematica-style
pattern matcher in Lisp) but that would need a lot more syntactic
mechanism for the user.

RJF


Stavros Macrakis wrote:

>>if you have a rule like e*f(x)*g(y),  then it could try to match
>>3*f(4)*g(5)   by matching
>>e= 3*f(4)    and then failing.
>>
>>You don't want e to match "anything at all".  You want e to match
>>something not involving any f( ..).
>>    
>>
>
>Sure, it might try matching e=3*f(4) to start, but when it fails, it
>had better backtrack and try e=3.  If it doesn't, that seems like a
>bug.
>
>_______________________________________________
>Maxima mailing list
>Maxima at math.utexas.edu
>http://www.math.utexas.edu/mailman/listinfo/maxima
>  
>