Question: Why exactly one can't change set element using same syntax as list?

In Maple this works

my_list :=[1,2,3];

But this does not


gives error "Error, cannot reassign the entries in a set". I suppose it has to do with the fact that sets, mathematically speaking, do not have an "oder" per say? But the elements must be ordered internally as they show, right? So the first element in the set is "1" and the second element in the set is "2", etc...

Had to use the ugly and unatural notation of

my_set := subsop(1=0, my_set)

To change the element of a set. The above implifies an order as well. So why the first did not work, but the above works?

The question is why is this inconsistency of notation?   It is much more natural to write "A[i]:=something". 

If using "subsop(1=0, my_set)" is a must for some reason, then why Can't Maple make a short cut, where if a user types "A[i]:=something" where A is a "set", then it will internally get modified/replaced by "A:=subsop(i=something, A)", so that one can still use the more natural syntax instead?

But it would be better just removing this restriction of using A[i]:=something on a set.

Please Wait...