 
 
 
 
 
 
Re: what's wrong?!!
- To: mathgroup at smc.vnet.net
- Subject: [mg115660] Re: what's wrong?!!
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 18 Jan 2011 05:46:05 -0500 (EST)
On 17 Jan 2011, at 11:40, olfa wrote:
> Hi Mathematica community,
>
> I try to use Case[exp,patt,Infinity]
>
> for the first example it works:
> Cases[iP == i + v && kaP == 3^v,  iP == _ | kaP == _, Infinity]
> the output is  {iP == i + v, kaP == 3^v}
>
> but not for the second one!!
> Cases[yP == y + x - z, yP == _, Infinity]
> the output is  {}
>
> why?!!
>
> Thank you.
>
Because using the level specification Infinity means that you want to find patterns on levels from 1 to Infinity but the pattern you are trying to find is on level 0. So this will work in all your cases:
Cases[yP == y + x - z, yP == _, {0, Infinity}]
{yP == x + y - z}
(More precisely, in your first example the patterns you want are on level 1:
Cases[iP == i + v && kaP == 3^v, iP == _ | kaP == _, {1}]
{iP == i + v, kaP == 3^v}
but in the second they are on level 0:
Cases[yP == y + x - z, yP == _, {0}]
{yP == x + y - z})
Andrzej Kozlowski

