On Apr 14, 2008, at 12:05 , TSa wrote:
HaloO,
Xavier Noria wrote:
{0, 1} X {{}} = {(0, {}), (1, {})}
which, you see, is different from {0, 1}. They have different
elements. The fact that there's a clear mapping that sort of
identifies them has nothing to do with set equality.
But X is cooperating with , in Perl 6:
(0,1) X (()) === ((0,()),(1,())) === (0,1)
That is, X strips the outer list and comma concatenates the
inner empty list away.
With your definition X is not even associative because @a X @b X @c
does
not produce a list of triples but either
(@a X @b) X @c === ( ((@a[0],@b[0]), @c[0]), ...)
or
@a X (@b X @c) === ( ( @a[0], (@b[0],@c[0])), ...).
That is two lists of differently structured pairs.
Oh yes thank you. There was a subthread about the Cartesian product in
Set Theory itself. I didn't mean that applied to the Perl operator.
-- fxn