Liste des Groupes | Revenir à c theory |
On 5/28/2024 11:16 AM, olcott wrote:Your HH/DD above are nonsense functions - you have admitted that HH uses static variables deliberately to detect whether it is the outer (unsimulated) HH or an inner (simulated) HH. In the event of the latter it branches into a completely different code branch from the outer HH, so the "simulated" behaviour of HH is /nothing like/ the behaviour of outer HH.>A decider computes the mapping from finite string inputs to
When Ĥ is applied to ⟨Ĥ⟩
Ĥ.q0 ⟨Ĥ⟩ ⊢* embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qy ∞
Ĥ.q0 ⟨Ĥ⟩ ⊢* embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn
>
*Formalizing the Linz Proof structure*
∃H ∈ Turing_Machines
∀x ∈ Turing_Machines_Descriptions
∀y ∈ Finite_Strings
such that H(x,y) = Halts(x,y)
>
its own accept or reject state.
A decider does not and cannot compute the mapping from
Turing_Machine inputs to its own accept or reject state.
Halts(x,y) would report on the direct execution of x(y) thus ignores
the pathological behavior of x correctly simulated by pure function H.
This makes Halts(x,y) an incorrect measure of the correctness of H(x,y).
This is easier to see when we can see every single detail of all of
the steps as an x86 execution trace of D correctly simulated by pure
function H.
typedef int (*ptr)(); // ptr is pointer to int function in C
00 int HH(ptr p, ptr i);
01 int DD(ptr p)
02 {
03 int Halt_Status = HH(p, p);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 int main()
10 {
11 HH(DD,DD);
12 return 0;
13 }
*Begin simulation of DD by HH*
Begin Local Halt Decider Simulation Execution Trace Stored at:113075
[00001c22][00113061][00113065] 55 push ebp
[00001c23][00113061][00113065] 8bec mov ebp,esp
[00001c25][0011305d][00103031] 51 push ecx
[00001c26][0011305d][00103031] 8b4508 mov eax,[ebp+08]
[00001c29][00113059][00001c22] 50 push eax ; push DD
[00001c2a][00113059][00001c22] 8b4d08 mov ecx,[ebp+08]
[00001c2d][00113055][00001c22] 51 push ecx ; push DD
[00001c2e][00113051][00001c33] e80ff7ffff call 00001342 ; call HH
New slave_stack at:14da95
[00001c22][0015da89][0015da8d] 55 push ebp
[00001c23][0015da89][0015da8d] 8bec mov ebp,esp
[00001c25][0015da85][0014da59] 51 push ecx
[00001c26][0015da85][0014da59] 8b4508 mov eax,[ebp+08]
[00001c29][0015da81][00001c22] 50 push eax ; push DD
[00001c2a][0015da81][00001c22] 8b4d08 mov ecx,[ebp+08]
[00001c2d][0015da7d][00001c22] 51 push ecx ; push DD
[00001c2e][0015da79][00001c33] e80ff7ffff call 00001342 ; call HH
Local Halt Decider: Recursive Simulation Detected Simulation Stopped
DD correctly simulated by HH cannot possibly reach its own simulated
final state at line 06 in any number of steps including an infinite
number of steps because DD correctly simulated by HH remains stuck in
recursive simulation.
Les messages affichés proviennent d'usenet.