Re: Matching two patterns?

*To*: mathgroup at smc.vnet.net*Subject*: [mg74180] Re: Matching two patterns?*From*: "dimitris" <dimmechan at yahoo.com>*Date*: Tue, 13 Mar 2007 05:10:41 -0500 (EST)*References*: <esu6g5$rpk$1@smc.vnet.net>

On Mar 10, 1:57 pm, "Neri" <nkafk... at yahoo.com> wrote: > Can two patterns be matched with each other, to find if they > intersect? > > What I mean is that { _, 1} matches {1, _ } in the sense that there > are lists that fit both, in this case {1,1}. > However, { _, 1} doesn't match { _, 2} in the sense that no list can > fit both. > > For lists it seems easy to write a function that does that, but I > wondered if such a function already exists and can it be more general? > > Thanks, > > Neri Cases[{{2, 1}, {3, 1}, {a, 1}, {a, a}, {1, 1}}, {x_, x_}] {{a, a}, {1, 1}} Cases[f[g[2, 1], g[3, 1], g[a, 1], g[a, a], g[1, 1]], g[x_, x_]] {g[a, a], g[1, 1]} {{2, 1}, {3, 1}, {a, 1}, {a, a}, {1, 1}, {3, 3}, {1, 4}, {1, 2}} Cases[%, {x_, 1}] Cases[%%, {1, x_}] Intersection[%, %%] {{2, 1}, {3, 1}, {a, 1}, {a, a}, {1, 1}, {3, 3}, {1, 4}, {1, 2}} {{2, 1}, {3, 1}, {a, 1}, {1, 1}} {{1, 1}, {1, 4}, {1, 2}} {{1, 1}} ???