Suppose I have an expression like *(y-m)*sqrt(x)/s* . What I would like to 
do is to give a name *e* to the *sqrt(x)/s* part and do some kind of 
transformation  on this expression so that I get *(y-m)*e *or equivalent as 
the  result*. *To do that I define a rule

substE := rule (('y-'m)*sqrt('x)/'s == ('y-'m)*'e)

However, when I try to apply this rule to the expression

substE (y-m)*sqrt(x)/s

I get the *(y-m)*sqrt(x)/s *expression back instead of  *(y-m)*e. *It looks 
like the left hand side of the equality in the rule substE does not pattern 
match itself.

Curiously, without sqrt a similar rule works as expected:

substF := rule (('y-'m)*'x/'s == ('y-'m)*'e) 

substF ((y-m)*x/s)

gives e*y - e*m

Can you explain what is the difference here and how to approach the goal of 
substituting a subexpression with a symbol?

Thanks,

Slawomir


-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to