• Re: Why does Olcott care about simulation, anyway? --- Ben's Review

    From immibis@21:1/5 to olcott on Mon Jun 3 15:39:50 2024
    XPost: sci.logic

    On 3/06/24 14:20, olcott wrote:
    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    PO's D(D) halts, as illustrated in various traces that have been
    posted here.
    PO's H(D,D) returns 0 : [NOT halting] also as illustrated in various
    traces.
    i.e. exactly as the Linz proof claims.  PO has acknowledged both these
    results.  Same for the HH/DD variants.

    You might imagine that's the end of the matter - PO failed.  :)

    That's right, but PO just carries on anyway!

    He has quite explicitly stated that false (0) is the correct result for
    H(D,D) "even though D(D) halts".  I am mystified why anyone continues to
    discuss the matter until he equally explicitly repudiates that claim.


    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state. The correct emulation of the machine code input
    to H(DD,DD) requires DD emulated by HH to emulate each x86 instruction
    of the x86 machine code of DD correctly and in the correct order.

    *The input to HH(DD,DD) specifies non-halting behavior*

    The input to HH(DD,DD) is DD,DD. DD,DD is a representation of DD(DD). A
    halting decider returns 1 if its input is a representation of a program
    call which halt, and 0 if its input is a representation of a program
    call which doesn't halt. DD,DD is a representation of a program call
    which halts, so it's supposed to be mapped to 1.

    I think Olcott has kill-filed me, so he only responds when someone else
    quotes it. I don't know why it's me specifically and not any of the
    other people he keeps threatening to stop talking to (like Richard).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Mon Jun 3 17:27:21 2024
    On 2024-06-03 12:20:01 +0000, olcott said:

    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    PO's D(D) halts, as illustrated in various traces that have been posted here.
    PO's H(D,D) returns 0 : [NOT halting] also as illustrated in various traces.
    i.e. exactly as the Linz proof claims. PO has acknowledged both these
    results. Same for the HH/DD variants.

    You might imagine that's the end of the matter - PO failed. :)

    That's right, but PO just carries on anyway!

    He has quite explicitly stated that false (0) is the correct result for
    H(D,D) "even though D(D) halts". I am mystified why anyone continues to
    discuss the matter until he equally explicitly repudiates that claim.


    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state.

    That does not restrict what a problem statement can specify.
    If the computed mapping differs from the specified one the
    decider does not solve the problem.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Mon Jun 3 22:09:59 2024
    XPost: sci.logic

    Op 03.jun.2024 om 14:20 schreef olcott:
    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    PO's D(D) halts, as illustrated in various traces that have been
    posted here.
    PO's H(D,D) returns 0 : [NOT halting] also as illustrated in various
    traces.
    i.e. exactly as the Linz proof claims.  PO has acknowledged both these
    results.  Same for the HH/DD variants.

    You might imagine that's the end of the matter - PO failed.  :)

    That's right, but PO just carries on anyway!

    He has quite explicitly stated that false (0) is the correct result for
    H(D,D) "even though D(D) halts".  I am mystified why anyone continues to
    discuss the matter until he equally explicitly repudiates that claim.


    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state. The correct emulation of the machine code input
    to H(DD,DD) requires DD emulated by HH to emulate each x86 instruction
    of the x86 machine code of DD correctly and in the correct order.

    *The input to HH(DD,DD) specifies non-halting behavior*

    The only way to cause DD emulated by HH to have the same behavior as
    the directly executed (non input) DD(DD) is to emulate the instructions specified by the machine code of DD incorrectly or in the incorrect
    order. *This is not the behavior that the input to HH(DD,DD) specifies*

    The behavior of the directly executed DD(DD) has different behavior
    than DD correctly emulated by HH. This is because the behavior of DD(DD) reaps the benefits of HH having already aborted its simulation.

    No one ever noticed that these two behaviors could ever diverge before because everyone rejected the notion of a simulating halt decider out- of-hand without review.



    Two PhD computer science professors that I have communicated with
    agree with me that there is something wrong with the halting problem.

    Bill Stoddart. *The Halting Paradox*
    20 December 2017
    https://arxiv.org/abs/1906.05340
    arXiv:1906.05340 [cs.LO]

    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

    E C R Hehner. *Objective and Subjective Specifications*
    WST Workshop on Termination, Oxford.  2018 July 18.
    See https://www.cs.toronto.edu/~hehner/OSS.pdf



    *Introduction to the Theory of Computation, by Michael Sipser* https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X/

    On 10/13/2022 11:29:23 AM
    MIT Professor Michael Sipser agreed this verbatim paragraph is correct
    (He has neither reviewed nor agreed to anything else in this paper)

    <Professor Sipser agreed>
    If simulating halt decider H correctly simulates its input D until H correctly determines that its simulated D would never stop running
    unless aborted then

    H can abort its simulation of D and correctly report that D specifies a non-halting sequence of configurations.
    </Professor Sipser agreed>



    *DD correctly simulated by HH would never stop running unless aborted*
    *We can see that the following DD cannot possibly halt when*
    *correctly simulated by every HH that can possibly exist*

    It is very clear that if the simulated HH would halt, then DD would
    halt. So your claim comes down to HH not halting when simulating itself.

    It also shows that the simulator does not even reach the pathological
    part (lines 04, 05 and 06) of DD, where it contradicts the result of HH.
    Your own claim is that these lines are not processed by the simulator.
    The simulator is unable to process anything past the call to itself.

    This shows that by introducing a simulation, you introduced another
    non-halting problem. Every function that calls HH, even when it does not contradict HH are suddenly non-halting. This non-halting problem is very different from the one in the Linz proof.


    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       }

    _DD()
    [00001c22] 55         push ebp
    [00001c23] 8bec       mov ebp,esp
    [00001c25] 51         push ecx
    [00001c26] 8b4508     mov eax,[ebp+08]
    [00001c29] 50         push eax        ; push DD 1c22 [00001c2a] 8b4d08     mov ecx,[ebp+08]
    [00001c2d] 51         push ecx        ; push DD 1c22 [00001c2e] e80ff7ffff call 00001342   ; call HH
    [00001c33] 83c408     add esp,+08
    [00001c36] 8945fc     mov [ebp-04],eax
    [00001c39] 837dfc00   cmp dword [ebp-04],+00
    [00001c3d] 7402       jz 00001c41
    [00001c3f] ebfe       jmp 00001c3f
    [00001c41] 8b45fc     mov eax,[ebp-04]
    [00001c44] 8be5       mov esp,ebp
    [00001c46] 5d         pop ebp
    [00001c47] c3         ret
    Size in bytes:(0038) [00001c47]



    So really, there's no /need/ to "refute" everything he says - the end
    result will be exactly the same as just ignoring him, BUT WITH THE
    LATTER
    ONLY NEEDING 0.1% OF THE EFFORT and eliminating 99.9% of the posting
    clutter in these newsgroups.  [ok, comp.theory will die pretty
    quickly, but
    it is not discussing anything useful, so that's ok for most people...
    (with
    some reluctance)]

    Do we know that?  There's the start of a discussion of quines on
    comp.lang.c that probably belongs here, but no will dare come here to
    discuss it because of all the junk.


    You cannot show any mistake in what I said above because all you
    have is bluster and dogma. What I am saying is just not the way
    that you memorized it !


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Mon Jun 3 20:56:52 2024
    On 6/3/24 2:14 PM, olcott wrote:
    On 6/3/2024 9:27 AM, Mikko wrote:
    On 2024-06-03 12:20:01 +0000, olcott said:

    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    PO's D(D) halts, as illustrated in various traces that have been
    posted here.
    PO's H(D,D) returns 0 : [NOT halting] also as illustrated in
    various traces.
    i.e. exactly as the Linz proof claims.  PO has acknowledged both these >>>>> results.  Same for the HH/DD variants.

    You might imagine that's the end of the matter - PO failed.  :)

    That's right, but PO just carries on anyway!

    He has quite explicitly stated that false (0) is the correct result for >>>> H(D,D) "even though D(D) halts".  I am mystified why anyone
    continues to
    discuss the matter until he equally explicitly repudiates that claim.


    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state.

    That does not restrict what a problem statement can specify.
    If the computed mapping differs from the specified one the
    decider does not solve the problem.


    int sum(int x, int y) { return x + y; }
    sum(2,3) cannot return the sum of 5 + 6.

    Because 5 and 6 are not what 2 and 3 represent


    DD correctly simulated by HH does have provably
    different behavior than DD(DD) so HH is is not
    allowed to report on the behavior of DD(DD).


    Nope, it MUST report on the behavior of DD(DD) as that is what its input SPECIFIED.

    The machine described by DD *IS* DD
    The input to that machine, described by DD *IS* DD

    So, the input DD,DD speciefies DD(DD), just like the 2,3 to sum
    specifies 2 + 3.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Tue Jun 4 11:28:52 2024
    On 2024-06-03 18:14:39 +0000, olcott said:

    On 6/3/2024 9:27 AM, Mikko wrote:
    On 2024-06-03 12:20:01 +0000, olcott said:

    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    PO's D(D) halts, as illustrated in various traces that have been posted here.
    PO's H(D,D) returns 0 : [NOT halting] also as illustrated in various traces.
    i.e. exactly as the Linz proof claims.  PO has acknowledged both these >>>>> results.  Same for the HH/DD variants.

    You might imagine that's the end of the matter - PO failed.  :)

    That's right, but PO just carries on anyway!

    He has quite explicitly stated that false (0) is the correct result for >>>> H(D,D) "even though D(D) halts".  I am mystified why anyone continues to >>>> discuss the matter until he equally explicitly repudiates that claim.


    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state.

    That does not restrict what a problem statement can specify.
    If the computed mapping differs from the specified one the
    decider does not solve the problem.

    int sum(int x, int y) { return x + y; }
    sum(2,3) cannot return the sum of 5 + 6.

    That does not restrict what a problem statement can specify.
    If the mapping computed by sum differs from the specified one
    the program sum does not solve the problem.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From joes@21:1/5 to All on Tue Jun 4 08:21:30 2024
    Am Mon, 03 Jun 2024 13:14:39 -0500 schrieb olcott:
    On 6/3/2024 9:27 AM, Mikko wrote:
    On 2024-06-03 12:20:01 +0000, olcott said:
    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    He has quite explicitly stated that false (0) is the correct result
    for H(D,D) "even though D(D) halts".  I am mystified why anyone
    continues to discuss the matter until he equally explicitly
    repudiates that claim.

    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state.

    That does not restrict what a problem statement can specify.
    If the computed mapping differs from the specified one the decider does
    not solve the problem.

    int sum(int x, int y) { return x + y; } sum(2,3) cannot return the sum
    of 5 + 6.

    DD correctly simulated by HH does have provably different behavior than DD(DD) so HH is is not allowed to report on the behavior of DD(DD).
    Huh? Then HH is not a correct simulator if it produces different
    behaviour. Why is it not allowed?

    --
    joes

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From immibis@21:1/5 to olcott on Tue Jun 4 16:38:14 2024
    On 3/06/24 20:14, olcott wrote:
    On 6/3/2024 9:27 AM, Mikko wrote:
    On 2024-06-03 12:20:01 +0000, olcott said:

    On 6/3/2024 4:42 AM, Ben Bacarisse wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:

    PO's D(D) halts, as illustrated in various traces that have been
    posted here.
    PO's H(D,D) returns 0 : [NOT halting] also as illustrated in
    various traces.
    i.e. exactly as the Linz proof claims.  PO has acknowledged both these >>>>> results.  Same for the HH/DD variants.

    You might imagine that's the end of the matter - PO failed.  :)

    That's right, but PO just carries on anyway!

    He has quite explicitly stated that false (0) is the correct result for >>>> H(D,D) "even though D(D) halts".  I am mystified why anyone
    continues to
    discuss the matter until he equally explicitly repudiates that claim.


    Deciders only compute the mapping *from their inputs* to their own
    accept or reject state.

    That does not restrict what a problem statement can specify.
    If the computed mapping differs from the specified one the
    decider does not solve the problem.


    int sum(int x, int y) { return x + y; }
    sum(2,3) cannot return the sum of 5 + 6.

    DD correctly simulated by HH does have provably
    different behavior than DD(DD) so HH is is not
    allowed to report on the behavior of DD(DD).


    2+3=5, but the input to sum(2,3) specifies 5+6.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)