Re: replacement x->y except in Exp[x]

• To: mathgroup at smc.vnet.net
• Subject: [mg110885] Re: replacement x->y except in Exp[x]
• From: Andrzej Kozlowski <akozlowski at gmail.com>
• Date: Sat, 10 Jul 2010 04:00:20 -0400 (EDT)
• References: <i14aij\$g0p\$1@smc.vnet.net> <201007090034.UAA21449@smc.vnet.net> <i16vm6\$iuj\$1@smc.vnet.net> <4C3787FD.7010401@cs.berkeley.edu>

```On 10 Jul 2010, at 05:35, Richard Fateman wrote:

> Andrzej Kozlowski wrote:
> ....
>
>> Suppose in the expression 2/3 I + x/y I you wish to replace all fractions (that is 2/3 and x/y) by r and I by d. Without worrying about evaluation you can do this as follows:
>> Unevaluated[Unevaluated[2/3 I + x/y I] /. HoldPattern[x_/y_] -> r] /.
>> HoldPattern[I] -> d
>> 2 d r
>> ...
>
>
>> All this is perfectly reasonable, logical and a great deal easier than almost anything in an undergraduate math syllabus at a reasonable university.
>>
> Really?
>
> So if someone gives you a basket of fruit and says to replace the apples with bananas, you explain that it is easy:  First you tell that person to throw away that basket and come up with a new basket in which he has  wrapped the whole basket in a layer of aluminum foil. You then replace
> "apple-wrapped-in-foil" by banana.
>
> You then proclaim the problem solved.
>
> Unfortunately, if I give you an already unwrapped basket of fruit, it is impossible.  (that is, an already simplified Mathematica expression)
>
> Which is presumably the usual state of the basket.

Impossible? For example (just one of many ways to do this):

expr = 1 + I;

ReleaseHold[
HoldPattern[I] -> d]

d+1

etc.

>
>
> A discussion and  partial definition of BetterRules, a Mathematica program that does things like this, is in
> http://www.cs.berkeley.edu/~fateman/papers/better-rules.pdf

It's amazing what some people call "papers" these days.

Andrzej Kozlowski

```

• Prev by Date: Re: image is not graphics
• Next by Date: Re: FittedModel object type
• Previous by thread: Re: replacement x->y except in Exp[x]
• Next by thread: Re: replacement x->y except in Exp[x]