Er, no… there still seems to be quite a bit of confusion here...
ah—then I apologise. I need to clarify. I see that there are several points where you’ve pointed out that I am using mathematical language in a sloppy fashion. How about I get those out of the way first.
that the real numbers don’t have any infinitesimals
I should not have used the word “infinitesimal”—as I really meant “a very small number” and was being lazy. I am aware that “the theory of infinitesimals” has an actual mathematical meaning… but this is not the way in which I was using the word.
I’ll explain what I meant in a bit..
what does it even mean for it to be “represented in a finite/limited way”?
If I write a program that starts by adding 1 to 0.9 then I put it into a loop where it then adds “one tenth of the previous number you just added”...
If at any point I tell the program “stop now and print out what you’ve got so far”… then what it will print out is something that is “a very small number” less than 2.
If I left the program running for literally an infinite amount of time, it would eventually reach two. If I stop at any point at all (ie the program is finite), then it will return a number that a very small amount less than two.
In this way, the program has generated a finite approximation of 1.999… that is != 2
As humans, we can think about the problem in a way that a stupid computer algorithm cannot, and can prove to ourselves that 1+(0.111.. * 9) actually == 2 exactly.
but that is knowledge outside of the proposed “finite” solution/system as described above.
Thus the two are different “representations” of 1.999...
I am reminded of the old engineering adage that “3 is a good approximation of Pi for all practical purposes”—which tends to make some mathematicians squirm.
It’s not at all clear to me what notion of “degrees of freedom” you’re using here.
x^2 has one degree of freedom. x can be any real number
1 < x < 1.1
has less freedom than that. It can be any real number between 1 and 1.1
With the previous description I’ve given of the difference between the results of a “finite” and “infinite” calculation of the limit of 1.999… (the series), “x = 1.999...” can be either 2 (if we can go to the limit or can think about it in a way outside of the summing-the-finite-series method) or a very small number less than two (if we begin calculating but have to stop calculating for some weird reason, such as running out of time before the heat-death of the universe).
The “freedom” involved here is even more limited than the freedom of 1 < x < 1.1
and would not constitute a full “degree” of freedom in the mathematical sense.
But in the way that I have already mentioned above (quite understanding that this may not be the full mathematically approved way of reasoning about it)… it can have more than one value (given the previously-stated contexts) and thus may be considered to have some “freedom”.
…even if it’s only between “2″ and “a very, very small distance from 2”
I’d like to think of it as a fractional degree of freedom :)
I am really getting the idea you should go read the standard stuff on this and clear up any remaining confusion that way, rather than try to argue this here...
Firstly—there is no surprise that you are unfamiliar with my background… as I haven’t specifically shared it with you. But I happen to have actually started in a maths degree. I had a distinction average, but didn’t enjoy it enough… so I switched to computing.
I’m certainly not a total maths expert (unlike my Dad and my maths-PhD cousin) but I would say that I’m fairly familiar with “the standard stuff”.
Of course… as should be obvious—this does not mean that errors do not still slip through (as I’ve recently just clearly learned).
Secondly—with respect, I think that some of the confusion here is that you are confused as to what I’m talking about… that is totally my fault for not being clear—but it will not be cleared up by me going away and researching anything… because I think it’s more of a communication issue than a knowledge-based one.
So… back to the point at hand.
I think I get what you’re trying to say with the type-error example. But I don’t know that you quite get what I’m saying. That is probably because I’ve been saying it poorly…
I don’t know if you’ve programmed in typeless programming languages, but my original understanding is more along the lines of:
Lets say I have this object, and on the outside it’s called “1.999...”
When I ask it “how do I calculate your value?” it can reply “well, you add 1 to 0.9 and then 0.09 and then 0.009...” and it keeps going on and on… and if I write it down as it comes out… it looks just like the Infinite Series.
So then I ask it “what number do you equate to if I get to the end of all that addition?” and it says “2″ - and that looks like the Limit
I could even ask ask it “do you equal two?” and it could realise that I’m asking it to calculate its limit and say “yes”
But then I actually try the addition in the Series myself… and I go on and on and on… and each next value looks like the next number in the Sequence
but eventually I get bored and stop… and the number I have is not quite 2… almost, but not quite… which is the Finite Representation that I keep talking about.
Then you can see that this object matches all the properties that I have mentioned in my previous discussion… no type-errors required, and each “value” comes naturally from the given context.
That “object” is what I have in my head when I’m talking about something that can be both the number and the sequence, and in which it can reveal the properties of itself depending on how you ask it.
...it’s also a reasonably good example of duck-typing ;)
ah—then I apologise. I need to clarify. I see that there are several points where you’ve pointed out that I am using mathematical language in a sloppy fashion. How about I get those out of the way first.
I should not have used the word “infinitesimal”—as I really meant “a very small number” and was being lazy. I am aware that “the theory of infinitesimals” has an actual mathematical meaning… but this is not the way in which I was using the word. I’ll explain what I meant in a bit..
If I write a program that starts by adding 1 to 0.9 then I put it into a loop where it then adds “one tenth of the previous number you just added”...
If at any point I tell the program “stop now and print out what you’ve got so far”… then what it will print out is something that is “a very small number” less than 2.
If I left the program running for literally an infinite amount of time, it would eventually reach two. If I stop at any point at all (ie the program is finite), then it will return a number that a very small amount less than two.
In this way, the program has generated a finite approximation of 1.999… that is != 2
As humans, we can think about the problem in a way that a stupid computer algorithm cannot, and can prove to ourselves that 1+(0.111.. * 9) actually == 2 exactly. but that is knowledge outside of the proposed “finite” solution/system as described above.
Thus the two are different “representations” of 1.999...
I am reminded of the old engineering adage that “3 is a good approximation of Pi for all practical purposes”—which tends to make some mathematicians squirm.
x^2 has one degree of freedom. x can be any real number
1 < x < 1.1 has less freedom than that. It can be any real number between 1 and 1.1
With the previous description I’ve given of the difference between the results of a “finite” and “infinite” calculation of the limit of 1.999… (the series), “x = 1.999...” can be either 2 (if we can go to the limit or can think about it in a way outside of the summing-the-finite-series method) or a very small number less than two (if we begin calculating but have to stop calculating for some weird reason, such as running out of time before the heat-death of the universe).
The “freedom” involved here is even more limited than the freedom of 1 < x < 1.1 and would not constitute a full “degree” of freedom in the mathematical sense. But in the way that I have already mentioned above (quite understanding that this may not be the full mathematically approved way of reasoning about it)… it can have more than one value (given the previously-stated contexts) and thus may be considered to have some “freedom”. …even if it’s only between “2″ and “a very, very small distance from 2”
I’d like to think of it as a fractional degree of freedom :)
Firstly—there is no surprise that you are unfamiliar with my background… as I haven’t specifically shared it with you. But I happen to have actually started in a maths degree. I had a distinction average, but didn’t enjoy it enough… so I switched to computing. I’m certainly not a total maths expert (unlike my Dad and my maths-PhD cousin) but I would say that I’m fairly familiar with “the standard stuff”. Of course… as should be obvious—this does not mean that errors do not still slip through (as I’ve recently just clearly learned).
Secondly—with respect, I think that some of the confusion here is that you are confused as to what I’m talking about… that is totally my fault for not being clear—but it will not be cleared up by me going away and researching anything… because I think it’s more of a communication issue than a knowledge-based one.
So… back to the point at hand.
I think I get what you’re trying to say with the type-error example. But I don’t know that you quite get what I’m saying. That is probably because I’ve been saying it poorly…
I don’t know if you’ve programmed in typeless programming languages, but my original understanding is more along the lines of:
Lets say I have this object, and on the outside it’s called “1.999...”
When I ask it “how do I calculate your value?” it can reply “well, you add 1 to 0.9 and then 0.09 and then 0.009...” and it keeps going on and on… and if I write it down as it comes out… it looks just like the Infinite Series.
So then I ask it “what number do you equate to if I get to the end of all that addition?” and it says “2″ - and that looks like the Limit
I could even ask ask it “do you equal two?” and it could realise that I’m asking it to calculate its limit and say “yes”
But then I actually try the addition in the Series myself… and I go on and on and on… and each next value looks like the next number in the Sequence
but eventually I get bored and stop… and the number I have is not quite 2… almost, but not quite… which is the Finite Representation that I keep talking about.
Then you can see that this object matches all the properties that I have mentioned in my previous discussion… no type-errors required, and each “value” comes naturally from the given context.
That “object” is what I have in my head when I’m talking about something that can be both the number and the sequence, and in which it can reveal the properties of itself depending on how you ask it.
...it’s also a reasonably good example of duck-typing ;)