Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Opinions of Doron Zeilberger (rutgers.edu)
53 points by kaladin-jasnah on Jan 19, 2024 | hide | past | favorite | 53 comments


His argument against infinities is interesting. He's making an argument for finite constructive mathematics. It's interesting to see that coming around again.

Several decades ago, when I was working on early program proof of correctness, I spent a lot of time with the original Boyer-Moore theorem prover. This is a constructive theory of mathematics, similar to the Piano axioms. It really is possible to have useful mathematics without undecidablity. But you have to give up infinity. Boyer-Moore theory has recursion, but all recursions must have an upper bound. There must be some nonnegative integer that gets smaller with each recursion.

Set theory is possible in the Boyer-Moore system. Boyer and Moore usually added the traditional axioms of set theory. But I tried doing without that to get to a McCarthy-like theory of arrays without set theory first. Arrays had a concrete representation as an ordered sequence of (index, value) tuples. The sequence has to be ordered so that array equality works. So all the functions for operating on arrays are rather clunky. Here's the sequence of machine proofs for that.[3]

Back then, mathematicians hated such approaches. Infinity is a useful trick for handling the edge cases within the main case. Formulas become simpler. You can do things on blackboards with chalk more easily. Constructive math is boring and kind of ugly, because there's a lot of case analysis. But it's sound. You can avoid undecidability and Russel's class of all classes paradox. You don't actually need infinities for much of mathematics.

Today there's more acceptance of machine proofs and case analysis. Everybody has computers, after all. I'm not a mathematician; I just used formal math as a tool to improve programs. This is a problem for the theorists.

(A few years ago, I converted the original Boyer-Moore code to run under Gnu Common LISP, so it can be run today.[2] Proving the basics of number theory now takes under a second. It took about 45 minutes in 1981.)

[1] https://sites.math.rutgers.edu/~zeilberg/Opinion160.html

[2] https://github.com/John-Nagle/nqthm

[3] https://github.com/John-Nagle/pasv/blob/master/src/work/temp...


The Piano axioms are the ones used to prove the incompleteness of equal temperament music systems, correct? :P


I might not have finished my Computer Science degree a few years ago if it wasn't due to Dr Z (as we called him at the time).

I was required to take Linear Algebra to satisfy the requirements for the B.S. in Computer Science, but I simply could not get interested in the course. I had attempted to take this course 3 times previously, but could not succeed. Twice, I withdrew from the course before the first exam. The third time, I missed that window and ended up failing the class. I just couldn't be motivated to study this boring subject. A flaw of mine, as I've discovered. But in my 4th attempt, it was taught by Dr. Z, and it was completely different. His passion for mathematics (and more importantly, teaching) was infectious. This was completely different than my experience with some other professors in the Math and CS departments. I never got a feeling that Dr. Z was "wasting" his time on this 200-level course when he could be doing much more important research. I easily got an A, and with that, satisfied all the math and CS requirements for my degree. Years later, I remember a lot more about that class than, say, Calculus.


Zeilberger is a hardline finitist. According to him, a lot of mathematics is meaningless or at least woefully misguided due to its reliance on infinite sets, which he believes to be nonsense. His opinions are far from mainstream, but they sure are entertaining. Here's a taste:

> But just like Gödel, [Turing] missed the point! Neither of them proved that "there exist true yet unprovable statements". Rubbish! Every meaningful statement is either provable (if it is true) or disprovable (if it is false). What they did (meta-)prove, by a Reductio Ad Absurdum clever argument, is that many statements that were believed to be meaningful, are really utterly devoid of meaning. As I have already preached in this sermon, the problem is the fictional (and pernicious!) infinity. In particular, Turing thesis's is utter nonsense, talking about "oracles", that lead to lots of beautiful, but fictional and irrelevant work by logicians and theoretical computer scientists.


Careful, now. Ultrafinitists exist within the mathematical community and sometimes we overstate our opinions for funsies. Doron is much more reasonable in person than one may conclude from this website.

To me, ultrafinitism is an intellectual curiosity. Proofs which depend upon the axiom of choice, or a notion of infinity, do not always correspond to algorithms which terminate in finite time. Such results are "useless" to a computational mathematician. The goal of determining how much of mathematics can translate to an finite universe is, in my opinion, a noble one.

A hill I would die on, for sport: "the logarithm of the biggest number I see reason to believe in is the combined size of my RAM and HDD."

The key word being "believe." Mathematicians do not tend to operate on faith. Proofs invoking unrealistic axioms are perfectly acceptable, valid proofs. One needn't "believe" anything.


> To me, ultrafinitism is an intellectual curiosity. Proofs which depend upon the axiom of choice, or a notion of infinity, do not always correspond to algorithms which terminate in finite time. Such results are "useless" to a computational mathematician.

Fun fact: For certain kinds of results, there is an explicit procedure for transforming any given ZFC-proof into an IZF-proof. By ZFC, I mean classical "uncomputable" mathematics with the axiom of choice and with the law of excluded middle. By IZF, I mean (a specific flavor of) constructive mathematics without those two contested axioms.

In particular, this metatheorem applies to termination results. So feel free to use the axiom of choice and the law of excluded middle to your heart's content when proving that a program terminates; you can trust that at the end of the day, your proof can be transformed to a constructive proof.

Slides which I hope are also accessible to non-specialists in proof theory: https://www.speicherleck.de/iblech/stuff/37c3-axiom-of-choic...

More pointers to the literature: https://math.stanford.edu/~feferman/papers/reductive.pdf


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.


> 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.


I 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.


> 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).


> Zeilberger identifies as an ultrafinitist.

So, um, does that mean there's a "biggest number"? One you can't +1?


Yeah! 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.


Within 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.


<sotto voce>These people are crazy


What do you mean?


Discussion with an ultrafinitist:

-Do you believe in 1?

-Yes.

-Do you believe in 2?

-Yes.

-Do you believe in 4?

-[slight pause] Yes.

-Do you believe in 8?

-[slightly longer pause] Yes.

Eventually you realize each question takes him twice as long to answer as the last.


That's funny. There is in fact a quasi-finitist number scheme called the counting numbers, closed under +1 and addition/multiplication generally but not exponentiation, so unbounded but not too "problematic" as they have limited ability to represent propositions (or machine states, etc) arithmetically.


I suppose a log-finitist takes O(1/n) to answer for 2*n? :-)


At a very pop sci-fi level, think of writing down the biggest rational number that you can. As many 9s. Eventually, you'll run out of space in the universe to store 9s.

In a computer, this text is stored in binary format. That's a base2 number. Arbitrary concepts can be encoded into a form that can then be represented and worked with by mathematical operations.

If you want to get really cafe philosophical about it, the universe can be broken down into its smallest elements, quantified, and represented by numerical values. And thus the universe is a number. Of course, there's all sort of "gotchas" and "whatifs" and this is a wildly over-simplified version.


IIRC that is one of Zeilberger's opinions. For myself, I don't think "biggest number" makes sense per se in mathematics, but it is a fact that no matter what resources we muster we're left with some numbers equaling things other than their successor when incremented.

My sense is that infinitary axioms like the existence of N, successor, induction, etc., basically allow mathematicians to write shorter and more straightforward proofs. They are likely to be sound until the cows come home, and moreover they represent what mathematics is essentially all about - finding some shortcut through the calculations we need to make.


Yes. 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.


Axioms are faiths.


No, axioms are hypotheses. In general, a mathematical proof has the form "If [conditions] are met, then [result] is guaranteed." This requires no faith whatsoever that [conditions] will ever be met.

But those numbers that require the totality of my computer's N bits of storage to represent? I can, without reservation, believe that every integer between zero and 2^N-1 exists. But incrementing that biggest number will be challenging. I hear you scoff; surely there are bigger numbers, you can just buy more hard drive. And I can! But there are only finitely many hard drives available for purchase, many more than I can afford, so I'd rather save my money and believe in less.


> No, axioms are hypotheses

IMO they're neither "faith" nor "hypotheses", although "whether a set of axioms is self-consistent" is probably a hypothesis.

Axioms are just building blocks. They don't even need to be "true" in any real sense. They're just arbitrary determinations or rules that we make up, and then we figure out what the consequences of these choices are.

In practice we often try to come up with axioms that have some practical value in the real world, but this is not necessarily or always how we go about doing maths.


Whether you believe the axioms are true is an act of faith, because by definition they are the lowest bits.


Interesting contrast with Gödel's view:

"Everyone believes that the Empire State Building is real, because it is possible for almost anyone to go and see it for himself. By the same token, anyone who takes the trouble to learn some mathematics can “see” the set of natural numbers for himself. So, Gödel reasoned, it must be that the set of natural numbers has an independent existence, an existence as a certain abstract possibility of thought.

I asked him how best to perceive pure abstract possibility. He said three things, i) First one must close off the other senses, for instance, by lying down in a quiet place. It is not enough, however, to perform this negative action, one must actively seek with the mind, ii) It is a mistake to let everyday reality condition possibility, and only to imagine the combinings and permutations of physical objects — the mind is capable of directly perceiving infinite sets, iii) The ultimate goal of such thought, and of all philosophy, is the perception of the Absolute. Gödel rounded off these comments with a remark on Plato: “When Plautus could fully perceive the Good, his philosophy ended.”"

[https://medium.com/@rudyrucker/memories-of-kurt-godel-84f66e...]

Also far from mainstream, but in an opposite direction


I quite sympathetic to finitism, even ultrafinitism, but I find Zeilberger's contention to be hard to reconcile with the observation that there is a < 8,000 state (one-tape, two-symbol) Turing machine whose behaviour cannot be proved in ZFC: https://scottaaronson.blog/?p=2725

Maybe Zeilberger would respond that that machine might need to use unbounded amounts of memory. If you fix a bound on memory, i.e. take infinity out of the question, maybe you can't construct such machines.


> If you fix a bound on memory, i.e. take infinity out of the question, maybe you can't construct such machines.

A Turing machine with a tape of only constant length is equivalent to a finite-state automaton. If the length of the tape is a linear function of the length of the input, on the other hand, the machine is a linear bounded automaton.

https://en.wikipedia.org/wiki/Linear_bounded_automaton

https://en.wikipedia.org/wiki/Finite-state_machine

https://en.wikipedia.org/wiki/Template:Formal_languages_and_...


I think that even a finitist would admit that it was Turing's work that paved the path to computational complexity theory [1], which could be presented as the finitist view of computability, and is not just plainly meaningful from a finitist's perspective, and not just eminently practical (perhaps indirectly), but perhaps also the very foundation of ascribing meaning to finitism.

So if "nonsense" breeds meaning, is it really nonsensical?

[1]: The birth of complexity theory is attributed to Hartmanis and Stearns's 1965 "On the Computational Complexity of Algorithms, which very directly builds on Turing's work: https://www.ams.org/journals/tran/1965-117-00/S0002-9947-196...


* s/finitis[t|m]/ultrafinitis[t|m]/g


> So if "nonsense" breeds meaning, is it really nonsensical?

How bad would the analogy be to a calculation with imaginary numbers that still yields a real result?


Very bad. Ordered pairs of real numbers are neither more nor less real than real numbers themselves.

Would you say that the rationals (equivalence classes of ordered pairs of integers) are "less real" than the integers?


The point of the analogy was that a calculation might involve mathematical concepts that from some point of views may seem iffy on the face of them, but still arrive at a result that does not involve any of the intermediate perceived iffyness.


Indeed, some people misrepresent Hilbert's formalism [1] to say that mathematical statements have no intrinsic meaning but are rather just a "game of symbols". What he really said was that we could split mathematical statements into "real" ones, dealing with the finitary, and "ideal" statements, with infinitary terms. He said that the manipulation of ideal statements could be considered a possibly meaningless "game of symbols", but such a game can be used to help prove finitary, "real" statements that are meaningful. As long as you cannot arrive at a contradiction involving finitary statements, infinitary ones are useful. In that view, infinitary statements could be considered meaningless (in the sense that they don't themselves describe anything real) yet not nonsensical.

[1]: https://en.wikipedia.org/wiki/Formalism_(philosophy_of_mathe...


https://sites.math.rutgers.edu/~zeilberg/Opinion8.html

"[...]I was shocked the other day, when I was browsing in the Web, that the AMS journals are not available freely for downloading, but charge subscription fees. Some `non-profit' organization! Let me remind you that there are several excellent electronic journals, that are viewable free of charge, for example New York Journal of Mathematics and the Electronic J. of Combinatorics. If you publish your papers there, you would be accessible to the ten millions people who surf the Web regularly. Of course, if you are already a tenured full professor, it is even pointless to publish there, since a publication reachable from your Home Page is equally accessible, although the journals might reach more browsers.

"Let's hope that the new medium will destroy the old organizations with their corrupt paper mentality and elitism, or at least reform them. After all, thanks to the Web and E-mail, both journals and conferences are becoming increasingly pointless. Then again, institutions have a very strong inertia, look at established religion, so perhaps, unfortunately, it is too soon to rejoice in the devil's death."

Opinion 8: Organized Mathematics = Organized Crime, Dec. 1, 1995


"Opinion 185: David Jackson and Bruce Richmond Should Retract Their Erroneous Attempted Proof of the Four-Color-Theorem [Written Dec. 30, 2022]"

Of course the arxiv is full of claimed proofs of Collatz and other major open problems, but there is a special section for them called GM (General Mathematics).

It really damages the credibility of the arxiv if a non-GM department, in this case CO (combinatorics) has a false proof of a long-standing open problem. I am talking about the recent Erroneous computer-less proof of the Four Color Theorem posted by distinguished and accomplished combinatorialists David Jackson and Bruce Richmond, who hail from the Mecca of combinatorics, University of Waterloo. Their proof is definitely flawed in its current form, and very unlikely to be fixable. (See here).

And before that:

"appendix:Why ArXiv Moderators (including Victor Reiner) Seriously Erred in Rejecting a One Page Gem Entitled "Five More Proofs of the Cosine Addition Formula (Inspired by Mark Levi's Perpetuum Mobile Proof)"

He wanted arxiv to reject or reclassify the flawed four-color proof, but mad that arxiv rejected his paper. In the first instance, the pre-print processes worked as it was intended to. The paper was uploaded , critiqued, and then retracted. it would seem like he wants to be the arbiter of which papers get rejected/reclassified on arXiv.


I think he is generally consistent here: he wants papers with flawed proofs to be retracted, and he does not want papers to be rejected for not being sufficiently significant (if they are otherwise correct).


It's very interesting that he is strongly for the use of computation in math, but strongly against using computer logic systems to formalize proofs--see opinion #184. I'd love to hear other people's take on this.

I saw how pro-computational he is from the one time I heard him talk. One of his most repeated phrases was, "you write a little computer program...", meaning as a way to enumerate some set of objects or calculate the size of something.


I mean, he's the guy famous for listing his computer as co-author on some of his papers, so I guess being pro-computational figures. =)


How long would the following program run?

  while (true) {}
I assume an ultrafinitist would argue that the question is ill-posed. It will always depend on the exact hardware that the program runs on (as every hardware will eventually fail). Or on us knowing when the heat death of the universe will be (which gives an upper bound).

But that means that suddenly a theory of computability must deal with physical concerns and can't even talk about an abstraction such as "program" anymore. This seems completely contrary to how even just practically minded programmers who aren't deep into infinitary maths would think about their activity.

Yes, you can make a philosophical argument for ultrafinitism - I would probably also say that arbitrarily large numbers don't "actually" exist in reality - but you just throw away so much useful abstraction that I honestly don't understand what the point is.


While TRUE do nothing

seems more of an abstract philosophical question than one of a pragmatic engineering nature.

The hardware will continue to do nothing even as it corrodes and blows away on the last winds of any remaining heat gradient.


Alright, let's use

  while (true) {
    val request = read(socket)
    handleRequest(request)
  }
instead.


Related:

The Mathematical Opinions of Dr. Doron Zeilberger - https://news.ycombinator.com/item?id=485899 - Feb 2009 (8 comments)


Doron's opinions are always fun to read.

People refer to him as the official mathematics troll (in a nice way).


I'm pretty sure that making arguments under idealistic assumption often allows us to make progress. Yea certain methods can seem problematic and I definitely have worried about this before. But I'm pretty sure there's evidence that certain, useful, theories just wouldn't exist unless we used infinity in some capacity.


It goes the other way too, when infinities are used to hand-wave some pesky detail; which turns out to itself have beautiful structure.


https://sites.math.rutgers.edu/~zeilberg/Opinion158.html

" So brace yourself. In two years, you would open-up an AMS journal, and read an abstract that looks like this:

    "Using Theory T1014, and Theorems Th100154, Th54135, and Th87651, as well as inequalities In54312, and In34567, we prove Conjecture C84231." 
Please! Mathematics papers are hard enough to read the way they are written now, and this new policy would make reading them so much harder. It is true that few people read papers any more, and eventually, only computers will write and read papers, and for them using numbered-theorems would be preferred, so let's postpone this reform for another fifty years, when humans will no longer care how unreadable a mathematics paper is"


The problem there is using uninformative names, rather than URLs/URIs. Using the latter would be quite nice, since (as a reader) we could click on any of these links, or spider them to download the whole transitive closure of prior results; as a developer we could query those links to show e.g. their latest name, whether they've since been retracted/disproved, etc.


Check the date.


I don't usually agree with Zeilberger, but his heart's in the right place and I do, in fact, have to hand it to him.


See Gödel, Escher, Bach [1979, pp. 452–456]) (that's pages 452 to 456 in the original) for more about problems caused by infinite precision, infinite numbers, and infinite "tape size" (for Turing machines). I and other people would also add "infinite time" as well.


Great to see. Not only a wonderful mathematician but also a wonderful human being.


I love reading Doron's opinions, whether I agree with them or not.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: