From: serialhex Date: 2010-12-31T02:06:52+09:00 Subject: Re: Numeric comparison with nil - Math masochists only!! --0016e6d7ebcd2319b40498a3b608 Content-Type: text/plain; charset=ISO-8859-1 Everett, even in the act of adding two numbers, the computer is following our instructions & algorithms. The computer doesn't know the difference between 'add' or 'subtract' or 'exponentiate' or 'do this cool MMX function thing'. The entire process is an abstraction, so while I agree that it IS impossible to *literally* do addition or multiplication with infinite strings of numbers (unless you have some cool sci-fi infinite-computer thing) you can *figuratively* do multiplication on infinite stings of numbers. One example as when you use ruby's rational class for numbers like 1/3 or 17/9. Neither of those numbers can be *completely* represented in the computer as a floating point number, as they go on indefinitely. So instead they are represented as a fraction and the math on an infinite string of digits is done by changing the way the computer sees & acts with the number. Now, one thing I do know, is that figuring out how to do the whole 'surreal multiplication with infinite numbers' thing is going to be a pain in my arse!! I've got some ideas but I'm not sure my programming-fu is up to the task just yet. But hey, gotta set goals high right? hex On Thu, Dec 30, 2010 at 7:19 AM, Everett L Williams II wrote: > Xavier Noria wrote: > >> On Wed, Dec 29, 2010 at 8:06 PM, Everett L Williams II >> wrote: >> >> >> >>> You are confusing computer logic and meta-data manipulation. No computer >>> can >>> natively deal with the representation of, much less the calculation of >>> anything that involves infinity, either negative or positive. You >>> certainly >>> can define a set of rules and attempt to create a program that models >>> those >>> rules, but you cannot naatively do any such calculation. Computers are, >>> by >>> definition, finitie and deterministic, and there is not room here to >>> explain >>> exactly what that means, but there is plenty of information spread all >>> over >>> the internet on the subject. Let me take a small stab at an example. >>> Given >>> to finitie numbers whose sum is within the capacity of the instructions >>> of a >>> computer, I can add those two numbers and get a third number. Anything >>> beyond that is modeled and entirely dependent on my logic rather than the >>> logic of the computer. So, you can declare that infinity plus 6 has >>> meaning >>> and you can declare what that meaning is, providing a routine that will >>> decode your expression of infinity and then follow your instructions for >>> creating whatever you have defined as infinity plus 6, but there is no >>> native instruction, even in floating point, that can impinge on the >>> correctness or the calculation of the answer. It is entirely dependent on >>> the meta-logic and meta-data that you have provided. Even extended >>> precision >>> math libraries can break a large number down into segments and then use >>> the >>> native facilities of the computer in a logically and mathematically valid >>> process that leads to arithmetically correct answers, but infinity cannot >>> be >>> represented in any nat8ive form within a computer. >>> >>> If you look up infinity on the wiki, you will find pages upon pages of >>> various means of manipulating infinities, and yours may be the latest. >>> When >>> I have the time and energy, I will look, but it is hard to get excited >>> about >>> the umpty-unth attempt. >>> >>> >> My reply addressed a couple of points of your post: >> >> 1. If we are programming symbolic mathematics, we are doing >> mathematics. The convenience or lack thereof of such and such concept >> for scientists doesn't matter in discussing whether something can be >> given a well-defined formal meaning. >> >> 2. Computations in computers: from a formal point of view I disagree, >> but do not want to enter into that. If by metadata you mean eg >> programs versus CPU registers, and if you agree that we can represent >> something infinite like the set of quadratic polynomials in on >> variable in Z, then we agree in this point. Not its members, but the >> set and its rules, akin to how we represent Z in C. >> >> >> >> > I'd go a bit past registers to the total logic of the computer. No > instruction in any computer can deal with infinity in any form, either > logically or physically. Of course, programs for symbolic manipulation can > and have been written, but there is no enforcement or checking related to > the logic or hardware of the computer. Unless something is physically wrong, > computers, adding binary 1 to binary 1 will get binary 10 every time. Your > program, consisting of meta-data and meta-logic is a construct entirely > dependent on your definition of all parts of the program. By the way, if you > are programming symbolic mathematics, the computer is merely following your > algorithm. All elements and properties of that algorithm are external to the > computer. > > > Everett L.(Rett) Williams II > > --0016e6d7ebcd2319b40498a3b608--