On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>> semantics of the x86 programming language.
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly. >>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity
steps of
DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the
input does
not specify a behaviour and the question whether DDD halts is
ill-posed.
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate
DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
Only because DDD calls HHH(DDD) in recursive emulation it is
impossible for DDD correctly emulated by HHH to reach past
its own machine address of 0000216b.
But we can see more, in particuar that DDD() halts
if HHH(DDD) does.
In the exact same way that we can see that we are no longer
hungry after we have eaten. It is still a fact that HHH(DDD)
was required to abort its emulation in the exact same way
that it was required for us to eat to no longer be hungry.
Anyway, if the function DDD calls is not a part of the input then the
question whether DDD halts is not well-posed and can only be ansered
with a conditional.
We are analyzing whether or not DDD halts.
We are NOT analyzing whether or not HHH halts.
On 7/16/2024 2:18 AM, Mikko wrote:
On 2024-07-15 13:32:27 +0000, olcott said:
On 7/15/2024 2:57 AM, Mikko wrote:
On 2024-07-14 14:48:05 +0000, olcott said:
On 7/14/2024 3:49 AM, Mikko wrote:
On 2024-07-13 12:18:27 +0000, olcott said:
When the source of your disagreement is your own ignorance
then your disagreement has no actual basis.
*You can comprehend this is a truism or fail to*
*comprehend it disagreement is necessarily incorrect*
Any input that must be aborted to prevent the non
termination of HHH necessarily specifies non-halting
behavior or it would never need to be aborted.
Disagreeing with the above is analogous to disagreeing
with arithmetic.
A lame analogy. A better one is: 2 + 3 = 5 is a proven theorem just
like the uncomputability of halting is.
The uncomputability of halting is only proven when the problem
is framed this way: HHH is required to report on the behavior
of an input that was defined to do exactly the opposite of
whatever DDD reports.
No, it is proven about the halting problem as that problem is.
Which is simply a logical impossibility thus no actual
limit to computation more that this logical impossibility:
What time is it (yes or no)?
*This is isomorphic the HP decider/input pair*
Can Carol correctly answer “no” to this (yes/no) question? (Hehner:2018:2)
Giving credit where credit is due Richard corrected
a loophole in the original question.
The program that predicts what HHH would say and does the opposite
is just one eample of a program.
It is just like a Liar Paradox input to a True(L, x) predicate.
The correct answer is INVALID INPUT.
When HHH is defined such that an input that was defined to
do the opposite of whatever HHH reports can never reach this
point in its execution trace then the prior halting problem
proof has been defeated.
From a programmer's point of view, if we apply an
interpreter to a program text that includes a call
to that same interpreter with that same text as
argument, then we have an infinite loop. A halting
program has some of the same character as an interpreter:
it applies to texts through abstract interpretation.
Unsurprisingly, if we apply a halting program to a
program text that includes a call to that same halting
program with that same text as argument, then we have
an infinite loop. (Hehner:2011:15)
[5] E C R Hehner. Problems with the Halting Problem, COMPUTING2011
Symposium on 75 years of Turing Machine and Lambda-Calculus, Karlsruhe Germany, invited, 2011 October 20-21; Advances in Computer Science and Engineering v.10 n.1 p.31-60, 2013
https://www.cs.toronto.edu/~hehner/PHP.pdf
No, not anymore that 2 + 3 = 5 is defeated by a 2 that is defined to
shrink to 1 if 3 is added to it.
*Simulating Termination Analyzer H is Not Fooled by Pathological Input D* https://www.researchgate.net/publication/369971402_Simulating_Termination_Analyzer_H_is_Not_Fooled_by_Pathological_Input_D
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 11:51:37 |
Calls: | 10,387 |
Calls today: | 2 |
Files: | 14,061 |
Messages: | 6,416,703 |