At 20:16 -0700 1999/07/19, Carl R. Witty wrote:
>> However, using the definition using ordinals above, we can define l as
>>the map
>>    a + b w |-> (a, b)
>> which is clearly well defined...

>Well, the problem is not just printing it out, but doing anything with
>the list.  In your example
>   l = [(x, y) | x <- [0..], y <- [0..] ]
>or
>   a + b w |-> (a, b)
>do you want l to have the type [(Integer,Integer)] ?  If not, what
>type should it have?

This is in fact one of the more easy questions: One defines a list l on a
set A to be a map l: [0, x) -> A on a semi-open interval [0, x), where x is
an ordinal, and 0 is the first (smallest) ordinal. Then the set of all
lists have type list ([A] in Haskell), just as before: one simply extends
the possibility of infinities of lists.

  Hans Aberg




Reply via email to