Hacker News new | past | comments | ask | show | jobs | submit login

I said: So it may be consistent and satisfiable to ask for a Y-program to compute halting for all X-programs. At least it has not yet been proven impossible.

You said: Alas, it has been proven. RAM computers are equivalent to Turing machines. If X and Y are Turing-complete languages then all X-programs can be converted to Turing machines, your proposed Y-program can also be converted into a Turing machine. Put another way, unless your language X is too weak to be useful, there should exist a deterministic program to convert any program written in Y into a program written in X with identical behavior (with regard to halting). This should be evident by the fact that the computers we use day-in and day-out execute one binary machine language. Any X-program and Y-program reduce to the same assembly language.

I say: You cannot have read my papers carefully. I spent a lot of time explaining, with examples, why programs with subjective specifications cannot be translated from one TM-equivalent language to another TM-equivalent language.

You said: This would disprove the Church-Turing thesis.

I say: Again, you cannot have read the paper carefully. There is a section in each of www.cs.utoronto.ca/~hehner/OSS.pdf and www.cs.utoronto.ca/~hehner/EGT+.pdf titled "Church-Turing Thesis", explaining that it applies to all objective specifications, which are the only specifications considered by Church and Turing, but not to subjective specifications.

You said: Regarding Cantor, indeed, there are many ways to compare the "sizes" of two sets. Cardinality is one such way. It can have applications, for instance Cantor's original paper used it to prove that there are infinitely many transcendental numbers. It is also used in real analysis, in Lebesgue integration, and in measure theory.

I say: Again, you cannot have read the paper carefully. Almost every time I mention applications in the paper, I say "applications outside mathematics". If you consider mathematics to be an application of mathematics, then all mathematics has applications.

You said: the "Program Analogy" section of the paper contains what I think is a flawed argument.

I say: Yes, I point out the flaw in the paper in the paragraph that starts with the sentence "Like the original Cantor argument, this program-analogy version is informal, and the informality may hide serious errors.". Did you miss it?

You will "win" this debate by throwing misunderstandings at me faster than I can reply. And it's disheartening because the replies are already in the papers, if you read them carefully.




> I say: You cannot have read my papers carefully. I spent a lot of time explaining, with examples, why programs with subjective specifications cannot be translated from one TM-equivalent language to another TM-equivalent language.

> I say: Again, you cannot have read the paper carefully. There is a section in each of www.cs.utoronto.ca/~hehner/OSS.pdf and www.cs.utoronto.ca/~hehner/EGT+.pdf titled "Church-Turing Thesis", explaining that it applies to all objective specifications, which are the only specifications considered by Church and Turing, but not to subjective specifications.

Fair point, I had not read OSS. That said, I think your interest in "subjective specifications" goes against your apparent disinterest in the "twisted self-reference" of Halting Problem proofs. It throws readers off as you attempt to add twisted self-reference to the domain of programming, where it isn't usually found, and simultaneously remove it from other places where it emerges naturally (as a consequence of the Church-Turing Thesis).

> I say: Again, you cannot have read the paper carefully. Almost every time I mention applications in the paper, I say "applications outside mathematics". If you consider mathematics to be an application of mathematics, then all mathematics has applications.

Fair point, I concede.

> I say: Yes, I point out the flaw in the paper in the paragraph that starts with the sentence "Like the original Cantor argument, this program-analogy version is informal, and the informality may hide serious errors.". Did you miss it?

No, I didn't miss it, but the inclusion of such an irrelevant and flawed analogy is perplexing and makes the paper harder to read, and seem less worth the time it takes to read carefully. You've written a lot, and some of the material can be tough to chew through (especially that written with the structure of formal logic).

> And it's disheartening because the replies are already in the papers, if you read them carefully.

https://www.youtube.com/watch?v=HMqZ2PPOLik

I've reread your OSS and EGT papers, with the additional help of your comments above, I think I now understand your stance better. I think part of your notoriety comes from your papers appearing to contradict the Halting Problem, with sections titled "How to Solve Halting" that don't actually provide a clear method. Instead, emphasizing that you're examining self-referential logic puzzles reminiscent of those found in Raymond Smullyan books would help clarify what you're doing. Many readers come in with the Bernard Russell mindset of "Let's try to avoid these self-referential questions" and thus have trouble adjusting to your angle. Most readers interested in The Halting Problem are not interested in "subjective specifications."

Your papers aren't easy reads (and I'm not complaining: it's an unavoidable consequence of their nature as papers on self-referential logic) and a brief first pass of your papers leaves many of us misinterpreting your angle. I think some editing of your introductions and conclusions could help immensely. Be very upfront and explicit that you don't disagree with the common conclusions of The Halting Problem for objective specifications, but instead that you're more interested in exploring a different side of programming. (In this regard, Jeffrey Shallit's mean-spirited "fringe computer science" comments make sense, but really ought not to be an insult since you are in fact exploring an oft-ignored side of the field.) Err on the side of caution, and over-communicate your intent with the papers! When many readers think you've said X when you have not, in fact, said X, take that as constructive feedback to more explicitly say "not X" in edits and future papers.

Thank you for guiding me in reading your papers. Your arguments in this thread have helped me make sense of them. I think I finally understand your arguments, and I hope with a change to your approach, you can successfully reach other readers too.


Your advice is good.




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

Search: