On Mon, Apr 7, 2008 at 4:50 AM, TSa <[EMAIL PROTECTED]> wrote:
> HaloO,
>
>
>  Larry Wall wrote:
>
> >    (@a X @b X @c).elems == @a.elems * @b.elems * @c.elems
> >
>
>  Sorry, I was aiming at defining a neutral element of the X
>  operator.

A neutral element for the cross operator seems weird if that is to be
compared with

0 for addition
1 for multiplication

because the basic assumption would be an element N such that

X op N = X

This would require that the operator with a neutral element should be
a mapping like:

op : D x D -> D

which is not the case for the X operator

X : Seq(D1) x Seq(D2) -> Seq( D1 x D2 )

At the other hand, any sequence with one only member would define a
result @a x ($any) that would be kind of isomorphically equivalent to
@a itself. But, apart from that, I don't get the value of defining
such a neutral element for the cross operator.

Adriano

 In cartesian products of sets this is achieved
>  by having a set that contains as sole member the empty tuple.
>  So how would that be written? (()) perhaps? Or (;)? This
>  would have (;).elems == 1 but (;),1,2 === (1,2). And it
>  would be considered true in boolean context I guess. A more
>  explicit notation might be () but .elems = 1. For anonymous
>  arrays we already have [()].elems == 1, or not?
>
>  The above might be a bit subtle, though. OTOH, it could save
>  some surprises.
>
>
>
>
>  Regards, TSa.
>  --
>
>  The Angel of Geometry and the Devil of Algebra fight for the soul
>  of any mathematical being.   -- Attributed to Hermann Weyl
>

Reply via email to