6 ms·
There are three levels: - Infinitism, people who believe in the existence of completed infinite sets, and transfinite numbers more generally. - Finitism, peop
by cubefox 3y ago
There are three levels:
- Infinitism, people who believe in the existence of completed infinite sets, and transfinite numbers more generally.
- Finitism, people who believe that "infinite" means "arbitrarily large" or "unbounded", but nothing more.
- Ultrafinitism, people who think every quantity has an upper bound due to mathematics not being separate from the physical world.
Zeilberger identifies as an ultrafinitist. I personally think finitism is the most plausible one. It accepts an intuitive notion of potential infinity, but it avoids basically all the mathematical paradoxes of infinity and the philosophically extravagant mathematics of transfinite set theory.
- A_D_E_P_T 3y ago> philosophically extravagant mathematics of transfinite set theory And poorly-founded, I would add. Cantor's diagonal proof is, quite literally, question begging. Sure, you can construct a number not in the infinite set of natural numbers via that diagonalization method, but only if you're at infinity, or if you make very liberal use of "..." -- otherwise, you cannot. And Skolem was quick to discredit Cantor's extravagances, on grounds that tend to support finitism generally.
- epgui 3y agoI don't think I agree, but this is difficult to communicate in words. Cantor's diagonalization argument doesn't rely on the contents of an infinite list of numbers, or on numbers themselves. You don't need to know anything about what "..." represents and you don't need to be "at" anywhere. There is no need to compute anything with concrete numbers. The only thing the argument relies upon is whether the fundamental structure of numbers allows for defining a bijection. The proof/computation is an abstract relation, not a concrete one with actual number objects.
- cubefox 3y ago> The only thing the argument relies upon is whether the fundamental structure of numbers allows for defining a bijection. That there is no bijection must be the conclusion, not an assumption, otherwise the argument would simply be question begging. If you can't define a new diagonal number in the first place, you don't have an argument why you can't have a bijection. With finitism it doesn't seem like you can define a diagonal number, because then Cantor's infinite table is merely potentially infinite in width and height. For the diagonal to be finished, the table has to be at least as wide as it is tall. But if you list numbers by their lexicographic order, the list grows much faster in height than in width. For base 10, for n columns (digits), you get 10^n rows (numbers). Then you can't ever finish a diagonal that isn't on the list. The number of digits doesn't grow fast enough to cover the entire list. You don't get the diagonal in the limit. Now if you assume infinitism, you can simply declare that the height and width of the list is the same (or even that the width is larger), and therefore the diagonal can be constructed. But that's not a convincing assumption for a finitist (or ultrafinitist).
- flir 3y ago> Zeilberger identifies as an ultrafinitist. So, um, does that mean there's a "biggest number"? One you can't +1?
- epgui 3y agoWithin certain parameters, that's right. And that probably makes as much sense (if not more) as the alternative for all I know. There is a way to think of mathematics as corresponding to computation in a way where anything that cannot be computed cannot be proven. If you cannot "construct" or "compute" infinity, then you cannot say that it exists. I think what I am describing corresponds to the "constructivist" view of mathematics, but tbh I don't know enough about this to say whether the framework allows for infinities.
- Animats 3y agoYes. It's like writing code that's aware of MAX_INT. The code doesn't need to know the value of MAX_INT. It just has to handle special cases near that number.
- boothby 3y agoYeah! Programmers are quite familiar with this universe. In many programming languages, you can't represent 2^64 with a built-in integral datatype. While it's certainly possible to implement data structures and algorithms to support arbitrary-size integer arithmetic, most programmers don't! They just pretend that numbers larger than 2^64-1 do not exist! And, that's a fairly safe assumption for many real-world applications. But even with that arbitrary-size integer arithmetic, your mathematical universe is still bounded by your computational environment's resources.