Perhaps this was actually intended as a joke of some kind.

If not, it's good to keep in mind that the internet, in my

experience, is replete with misinformation.

The NIST definition of the Halting Problem is assumed:

No program can ever be written to determine whether

any arbitrary program will halt

This version of the Halting Problem is supposed to be

analogous to every other version, thus valid refutations

of this version should equally apply (with adaptation)

to all other versions.

Or we could conclude that the NIST definition is flawed or

your interpretation is flawed in some way. Indeed, I believe

the interpretation is flawed as the NIST definition seems

slightly ambiguous to me. Perhaps this phrasing is better

No program can ever be written to determine whether

any and all programs will halt.

Then again this phrasing seems to require an infinite amount

of work (this is the problem with natural language ambiguity)

though it seems to be more inline with the framing of the

halting problem as a question of decidability.

The language

ATM = { <M,w> | M is a Turing Machine and M accepts w }

is undecidable.

The authors misinterpretati on of the halting problem seems to

come into play with his refute of objection (2) we he believes

it is sufficient to show that the proof does not apply to SOME

program. When it fact the opposite is true. The proof only

need to apply to a SINGLE program to be valid since this

single program would then be undecidable and since it is a

member of ATM then ATM is undecidable. In fact, the proof

only need to apply to a SINGLE program on a SINGLE input to

be valid.

The author also assumes that the proof requires the ability

to RUN and then READ the output of any program. This is not

the case. In fact, the proof assumes the ability to SIMULATE

or even ANALYZE in any way a program. Were we only able to

RUN a TM then the proof of the halting problem is even

simpler since it is impossible to even create a "WillHalt"

function. For example

M1 = loops on w1

WillHalt ( M1 , w1 ) = ?

In trying ot run M1 on w1 WillHalt will simply loop and thus

not halt. On the other hand, a simulation of M1 can stop at any

time.

Yet, even with the additional power to simulate or analyze

any and every TM it is impossible to decide language ATM.