Re: Checking for a given phrase in an expression

• To: mathgroup at smc.vnet.net
• Subject: [mg60768] Re: Checking for a given phrase in an expression
• From: dh <dh at metrohm.ch>
• Date: Wed, 28 Sep 2005 01:41:03 -0400 (EDT)
• References: <dhau80\$is9\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```HI,
in general this is not possible. Mathematically it is in general not
even possible to decide if two expressions are identical or not.
Mathematica can compare patterns. Now consider the FullForm :
FullForm[1 + x + x y + Log[Sin[z]]]
--> Plus[1, x, Times[x, y], Log[Sin[z]]]
FullForm[x + Log[Sin[z]]]
--> Plus[x, Log[Sin[z]]]
you see the smaller pattern does not occur in the larger one. If you
want detect the sub-pattern you would have to interprete the pattern for
meaning, something Mathematica can not do.
Of course if you are searching for a simplier pattern like: Log[Sin[z]],
that is contained in the FullForm of the larger expression, Mathematica will be
able to find it (e.g. with Position).

If you really are a "workoholic" a could create a pattern recognition
system that can recognize a limited set of patterns by defining a
suitable "Normalform" for your expressions that would allow to
mechanically decide if a searched pattern is contained or not.

sincerely, Daniel

lost.and.lonely.physicist at gmail.com wrote:
> Hello everyone
>
> Is it possible to ask Mathematica to check if a given phrase occurs in
> an expression? Say I have
>
> aa = 1 + x + x y + Log[Sin[z]]
>
> and
>
> bb = x + Log[Sin[z]]
>
> Can Mathematica tell me such a phrase bb exists in aa? Can it tell me
> its 'position' within the expression aa?
>
> Thanks for the help!
>

```

• Prev by Date: Re: Checking for a given phrase in an expression
• Next by Date: SVG Authoring Tool Chain Report
• Previous by thread: Re: Checking for a given phrase in an expression
• Next by thread: Re: Re: Checking for a given phrase in an expression