tag:blogger.com,1999:blog-6839602.post4451561834519323384..comments2017-03-09T15:26:17.288-08:00Comments on Everyone Else is Crazy: Ord, Countable Ordinals, and an Idea of sigfpeJim Applehttp://www.blogger.com/profile/11080395413026172939noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-6839602.post-90157902202290615732007-07-24T11:06:00.000-07:002007-07-24T11:06:00.000-07:00> I might not understand what you're getting at ab...> I might not understand what you're getting at above<BR/><BR/>It's a long time since I studied set theory, and even then the course I did was disastrous. So anything you're not getting is probably my mistake! (And do you know a good book on the subject?)<BR/><BR/>> First is that there is no 0 in the system as it is now. <BR/><BR/>You can make a reasonably good zero with the line:<BR/><BR/>data Zero<BR/><BR/>(But you'll need to switch on ghc extensions for that.)<BR/><BR/>> The second is that adding small values onto the end of a list doesn't actually change the problematic ordering.<BR/><BR/>You're right, I want n-element lists embedded in the bottom end of (n+1)-element lists and the 'lower' end is towards the right, not left.<BR/><BR/>> The ordinal notation system would then be limited by [[[ … [N] … ]]] = ω^ω^ω.<BR/><BR/>Yes, that was the conclusion I came to, so I like the way you pushed much further.<BR/><BR/>I'd like to find some nice rewrite rules whose iterations can be mapped into these types.sigfpehttp://www.blogger.com/profile/08096190433222340957noreply@blogger.comtag:blogger.com,1999:blog-6839602.post-78173092753989215232007-07-24T09:21:00.000-07:002007-07-24T09:21:00.000-07:00I might not understand what you're getting at abov...I might not understand what you're getting at above; it took me a few run-throughs to understand what you were getting at in the comment that inspired this post, so please excuse me if I've misinterpreted your writing.<BR/><BR/>I have two quibbles with what you wrote. First is that there is no 0 in the system as it is now. This means that we'd have to use () = 1, so in [One], [] would be identified with [(),()], say. This makes [One] would have the same order type as One. We could use [Plus One One] for N.<BR/><BR/>The second is that adding small values onto the end of a list doesn't actually change the problematic ordering. Adding them onto the beggining, though, solves the problem. So, I think we would want to define<BR/><BR/>comp [a_1,…,a_n] [b_1,…,b_m]<BR/><BR/>as<BR/><BR/>compare <BR/> ((replicate ((max m n)-n) least) ++ [a_1,…,a_n])<BR/> ((replicate ((max m n)-m) least) ++ [b_1,…,b_m])<BR/><BR/>Then, the type [t] would be ω copies of t, which we would intepret as a product of ω t's, since [t] is isomorphic to Either () (Either (t,()) (Either (t,(t,())) ….<BR/><BR/>So if the type t had order type κ, the type [t] would have order type κ^ω. The ordinal notation system would then be limited by [[[ &hellip [N] … ]]] = ω^ω^ω.<BR/><BR/>Does that look right to you?Jim Applehttp://www.blogger.com/profile/11080395413026172939noreply@blogger.comtag:blogger.com,1999:blog-6839602.post-82661020035135836622007-07-24T07:53:00.000-07:002007-07-24T07:53:00.000-07:00Wow! You took that a lot further than I thought wa...Wow! You took that a lot further than I thought was possible. I did discover the infinite descending chain but my approach to fixing it was much simpler: just defining Eq and Ord so that [a,...,b] was identified with [a,..,b,0,...,0] and lexicographically sorting on that. I think that is well behaved.<BR/><BR/>Curiously I started thinking about this stuff because I was wondering about proving termination of sets of rewrite rules. I'd always thought about ordinal infinities as being something set theorists did that had no relationship to anything practical. But now I see there are countless papers on program termination and ordinals going back as far as Turing.sigfpehttp://www.blogger.com/profile/08096190433222340957noreply@blogger.com