
On Fri, Mar 4, 2011 at 10:42 AM, Richard O'Keefe
On 4/03/2011, at 5:49 PM, Karthick Gururaj wrote:
I meant: there is no reasonable way of ordering tuples, let alone enum them.
There are several reasonable ways to order tuples.
That does not mean we can't define them: 1. (a,b) > (c,d) if a>c
Not really reasonable because it isn't compatible with equality.
2. (a,b) > (c,d) if b>d 3. (a,b) > (c,d) if a^2 + b^2 > c^2 + d^2 4. (a,b) > (c,d) if a*b > c*d
Ord has to be compatible with Eq, and none of these are.
Hmm.. not true. Can you explain what do you mean by "compatibility"? One of the following, and exactly one, must always hold, on a ordered set (is this what you mean by "compatibility"?), for any arbitrary legal selection of a, b, c and d. a. (a, b) EQ (c, d) b. (a, b) LT (c, d) c. (a, b) GT (c, d) All the definitions above are compatible in this sense.
Lexicographic ordering is in wide use and fully compatible with Eq.
Which of these is a reasonable definition?
The set of complex numbers do not have a "default" ordering, due to this very issue.
No, that's for another reason. The complex numbers don't have a standard ordering because when you have a ring or field and you add an ordering, you want the two to be compatible, and there is no total order for the complex numbers that fits in the way required.
When we do not have a "reasonable" way of ordering, I'd argue to not have anything at all
There is nothing unreasonable about lexicographic order. It makes an excellent default. Ok - at this stage, I'll just take your word for it. I'm not able to still appreciate the choice of the default ordering order, but I need to wait until I get to see/develop some real code.
As a side note, the cardinality of rational numbers is the same as those of integers - so both are "equally" infinite.
Ah, here we come across the distinction between cardinals and ordinals. Two sets can have the same cardinality but not be the same order type. (Add 1 to the first infinite cardinal and you get the same cardinal back; add 1 to the first infinite ordinal and you don't get the same ordinal back.)
:) Ok. The original point was whether there is a reasonable way to enumerate a tuple, I guess there is none.