Re: set.lisp redefines POWERSET / {} for sets



On Wed, 5 Mar 2003, Richard Fateman wrote:

> Using {}  for sets would mean that no one could
> use it for anything else. This leads to difficulties.
> 
> You may think it is standard to do {a,b,c} but
> what about
> {x in Z | prime(x) and x< 100}
> which also standardly uses {} but also |.

In fact, t becomes more and more common to write

{x in Z : prime(x) and x < 100}

of course, this would completely break maxima :-)

I did NOT suggest to use | or : within maxima for this construction.  
Although I find it rather unfortunate that maxima uses : for assignment.  
It is common in mathematics (I believe this comes from Algol or Pascal) to
use := for assignment. And : is used, I think only to "describe"  
something, just as in the set example before. So if maxima used := for 
assignment, I'd suggest : for the construction above.

> {} () []  are also used in various combinatorial
> notations.

I did state in my post that I am aware of this problem. I think it would 
be good to make {} default to set, because nobody will expect it to be 
used for Stirling numbers, Poisson brackets, whatever. This is just the 
same as nobody expects () to be used for binomial coefficients. And I 
think that it is settled that within maxima [] denote lists.

ok, there is something called mathematica :-)

> "standard" math notation must be evaluated very carefully.  It tends to
> be ambiguous without context.

I tried to be careful and I think I was. And, we have context, which is
maxima.

Martin