Sujet : Re: Defining a correct simulating halt decider
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theoryDate : 09. Sep 2024, 12:18:10
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vbmlhk$2ce7j$3@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12
User-Agent : Mozilla Thunderbird
Op 08.sep.2024 om 14:57 schreef olcott:
On 9/8/2024 7:46 AM, joes wrote:
Am Sat, 07 Sep 2024 08:57:00 -0500 schrieb olcott:
On 9/7/2024 3:29 AM, Mikko wrote:
On 2024-09-07 05:12:19 +0000, joes said:
Am Fri, 06 Sep 2024 06:42:48 -0500 schrieb olcott:
On 9/6/2024 6:19 AM, Mikko wrote:
On 2024-09-05 13:24:20 +0000, olcott said:
On 9/5/2024 2:34 AM, Mikko wrote:
On 2024-09-03 13:00:50 +0000, olcott said:
On 9/3/2024 5:25 AM, Mikko wrote:
On 2024-09-02 16:38:03 +0000, olcott said:
>
A halt decider is a Turing machine that computes the mapping
from its finite string input to the behavior that this finite
string specifies.
>
A halt decider needn't compute the full behaviour, only whether
that behaviour is finite or infinite.
>
New slave_stack at:1038c4 Begin Local Halt Decider Simulation
Local Halt Decider: Infinite Recursion Detected Simulation
Stopped
Hence HHH(DDD)==0 is correct
>
Nice to see that you don't disagree with what said.
Unvortunately I can't agree with what you say.
HHH terminates,
os DDD obviously terminates, too. No valid
>
DDD emulated by HHH never reaches it final halt state.
>
If that iis true it means that HHH called by DDD does not return and
therefore is not a ceicder.
The directly executed HHH is a decider.
What does simulating it change about that?
>
If the simulation is incorrect it may change anything.
>
PATHOLOGICAL RELATIONSHIPS CHANGE BEHAVIOR
How? What is pathological?
>
void DDD()
{
HHH(DDD);
return;
}
That DDD calls its own emulator (a pathological relationship)
makes this DDD and HHH stuck in infinite recursive emulation
unless the outermost HHH aborts its emulation at some point.
And when the outermost HHH is coded to abort, then the HHH that does not abort is no longer present when HHH simulates *itself*.
Olcott seems unable to understand that changing the code of the program also changes the behaviour of the program.
Whether HHH aborts its emulation at some point or not DDD
never reaches its final halt state of "return",
Because the aborting HHH fails to reach that part, because it aborts too soon.
> thus DDD cannot possibly halt no matter what HHH does.
The DDD that uses the HHH that halts does not halt because the incorrect simulation prevented it to reach its final state. But such an incorrect simulation does not say anything about the behaviour of the program.
DDD is a misleading and unneeded complication. It is easy to eliminate DDD:
int main() {
return HHH(main);
}
This has the same problem. This proves that the problem is not in DDD, but in HHH, which halts when it aborts the simulation, but it decides that the simulation of itself does not halt.
It shows that HHH cannot possibly simulate itself correctly.
But olcott is unable to process such simple evidence.