Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Neil Armstrong tripped.


devel / comp.theory / Re: Technically competent Software engineers can verify this halting problem proof refutation

SubjectAuthor
* Technically competent Software engineers can verify this haltingolcott
+* Technically competent Software engineers can verify this haltingRichard Damon
|`* Technically competent Software engineers can verify this haltingolcott
| +- Technically competent Software engineers can verify this haltingRichard Damon
| +- Technically competent Software engineers can verify this haltingPython
| `* Technically competent Software engineers can verify this haltingMalcolm McLean
|  `* Technically competent Software engineers can verify this haltingolcott
|   `* Technically competent Software engineers can verify this haltingMalcolm McLean
|    +* Technically competent Software engineers can verify this haltingolcott
|    |`* Technically competent Software engineers can verify this haltingolcott
|    | `* Technically competent Software engineers can verify this haltingRichard Damon
|    |  `* Technically competent Software engineers can verify this haltingolcott
|    |   `* Technically competent Software engineers can verify this haltingRichard Damon
|    |    `* Technically competent Software engineers can verify this haltingolcott
|    |     `* Technically competent Software engineers can verify this haltingRichard Damon
|    |      `* Technically competent Software engineers can verify this haltingolcott
|    |       `* Technically competent Software engineers can verify this haltingRichard Damon
|    |        `* Technically competent Software engineers can verify this haltingolcott
|    |         `- Technically competent Software engineers can verify this haltingRichard Damon
|    `* Technically competent Software engineers can verify this halting problem proof rBen Bacarisse
|     +* Technically competent Software engineers can verify this haltingolcott
|     |`* Technically competent Software engineers can verify this haltingRichard Damon
|     | `* Technically competent Software engineers can verify this haltingolcott
|     |  `* Technically competent Software engineers can verify this haltingRichard Damon
|     |   `* Technically competent Software engineers can verify this haltingolcott
|     |    `- Technically competent Software engineers can verify this haltingRichard Damon
|     `* Technically competent Software engineers can verify this haltingMalcolm McLean
|      +* Software engineers can verify this halting problem proof refutation [olcott
|      |+- Software engineers can verify this halting problem proofDaniel Pehoushek
|      |`- Software engineers can verify this halting problem proofRichard Damon
|      `* Technically competent Software engineers can verify this halting problem proof rBen Bacarisse
|       +- Technically competent Software engineers can verify this haltingolcott
|       `* Technically competent Software engineers can verify this haltingMalcolm McLean
|        +* Technically competent Software engineers can verify this haltingolcott
|        |+- Technically competent Software engineers can verify this haltingRichard Damon
|        |`* Technically competent Software engineers can verify this haltingMalcolm McLean
|        | +* Technically competent Software engineers can verify this haltingolcott
|        | |`- Technically competent Software engineers can verify this haltingRichard Damon
|        | `* Technically competent Software engineers can verify this haltingolcott
|        |  `* Technically competent Software engineers can verify this haltingMalcolm McLean
|        |   `* Technically competent Software engineers can verify this haltingolcott
|        |    +- Technically competent Software engineers can verify this haltingRichard Damon
|        |    +* Technically competent Software engineers can verify this haltingolcott
|        |    |`- Technically competent Software engineers can verify this haltingRichard Damon
|        |    `* Technically competent Software engineers can verify this haltingMalcolm McLean
|        |     `* Technically competent Software engineers can verify this haltingolcott
|        |      +* Technically competent Software engineers can verify this haltingMalcolm McLean
|        |      |`- Technically competent Software engineers can verify this haltingolcott
|        |      `- Technically competent Software engineers can verify this haltingRichard Damon
|        `* Technically competent Software engineers can verify this halting problem proof rBen Bacarisse
|         `* Technically competent Software engineers can verify this haltingMalcolm McLean
|          +* Technically competent Software engineers can verify this haltingolcott
|          |`- Technically competent Software engineers can verify this haltingRichard Damon
|          `* Technically competent Software engineers can verify this halting problem proof rBen Bacarisse
|           +* Technically competent Software engineers can verify this haltingolcott
|           |`* Technically competent Software engineers can verify this haltingdklei...@gmail.com
|           | `* Technically competent Software engineers can verify this haltingolcott
|           |  +- Technically competent Software engineers can verify this haltingRichard Damon
|           |  `* Technically competent Software engineers can verify this haltingdklei...@gmail.com
|           |   `- Technically competent Software engineers can verify this haltingolcott
|           `* Technically competent Software engineers can verify this haltingMalcolm McLean
|            +* Technically competent Software engineers can verify this haltingolcott
|            |+* Technically competent Software engineers can verify this haltingMalcolm McLean
|            ||`* Technically competent Software engineers can verify this haltingolcott
|            || `* Technically competent Software engineers can verify this haltingMalcolm McLean
|            ||  `* Technically competent Software engineers can verify this haltingolcott
|            ||   `* Technically competent Software engineers can verify this haltingolcott
|            ||    `* Technically competent Software engineers can verify thisMr Flibble
|            ||     `* Technically competent Software engineers can verify this haltingolcott
|            ||      +* Technically competent Software engineers can verify thisMr Flibble
|            ||      |`* Technically competent Software engineers can verify this haltingolcott
|            ||      | +* Technically competent Software engineers can verify thisMr Flibble
|            ||      | |`* Technically competent Software engineers can verify this haltingolcott
|            ||      | | +* Technically competent Software engineers can verify thisMr Flibble
|            ||      | | |`* Technically competent Software engineers can verify this haltingolcott
|            ||      | | | `* Technically competent Software engineers can verify thisMr Flibble
|            ||      | | |  `* Technically competent Software engineers can verify this haltingolcott
|            ||      | | |   `- Technically competent Software engineers can verify thisMr Flibble
|            ||      | | `- Technically competent Software engineers can verify this haltingRichard Damon
|            ||      | `* Technically competent Software engineers can verify this haltingPython
|            ||      |  `- Technically competent Software engineers can verify this haltingolcott
|            ||      `- Technically competent Software engineers can verify this haltingRichard Damon
|            |`- Technically competent Software engineers can verify this haltingRichard Damon
|            `* Technically competent Software engineers can verify this halting problem proof rBen Bacarisse
|             +* Technically competent Software engineers can verify this haltingolcott
|             |`* Technically competent Software engineers can verify thisMr Flibble
|             | `* Technically competent Software engineers can verify this haltingolcott
|             |  `* Technically competent Software engineers can verify this haltingRichard Damon
|             |   `* Technically competent Software engineers can verify thisMr Flibble
|             |    `* Technically competent Software engineers can verify this halting problem proof rBen Bacarisse
|             |     `- Technically competent Software engineers can verify this haltingolcott
|             +* Technically competent Software engineers can verify this haltingolcott
|             |+* Technically competent Software engineers can verify thisMr Flibble
|             ||`* Technically competent Software engineers can verify this haltingolcott
|             || +* Technically competent Software engineers can verify thisMr Flibble
|             || |`* Technically competent Software engineers can verify this haltingolcott
|             || | `* Technically competent Software engineers can verify thisMr Flibble
|             || |  `* Technically competent Software engineers can verify this haltingolcott
|             || |   `* Technically competent Software engineers can verify thisMr Flibble
|             || |    `* Technically competent Software engineers can verify this haltingolcott
|             || |     `* Technically competent Software engineers can verify thisMr Flibble
|             || `- Technically competent Software engineers can verify this haltingRichard Damon
|             |`* Technically competent Software engineers can verify this haltingRichard Damon
|             `* Technically competent Software engineers can verify this haltingMalcolm McLean
+* Technically competent Software engineers can verify this haltingJeff Barnett
`* Technically competent Software engineers can verify thisMr Flibble

Pages:123456789
Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34902&group=comp.theory#34902

  copy link   Newsgroups: comp.theory
X-Received: by 2002:a5d:584c:0:b0:218:4ee2:38fd with SMTP id i12-20020a5d584c000000b002184ee238fdmr4311250wrf.584.1656173968504;
Sat, 25 Jun 2022 09:19:28 -0700 (PDT)
X-Received: by 2002:a05:6902:1147:b0:669:1652:9eec with SMTP id
p7-20020a056902114700b0066916529eecmr5120223ybu.248.1656173967663; Sat, 25
Jun 2022 09:19:27 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.theory
Date: Sat, 25 Jun 2022 09:19:27 -0700 (PDT)
In-Reply-To: <zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=89.240.148.226; posting-account=0B-afgoAAABP6274zLUJKa8ZpdIdhsYx
NNTP-Posting-Host: 89.240.148.226
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<xqSdnb2KKdOL5i7_nZ2dnUU7_81g4p2d@giganews.com> <20220622222043.00001cb9@reddwarf.jmc>
<_eidnf40g7wFES7_nZ2dnUU7_8zNnZ2d@giganews.com> <de67d3d5-10f3-4e28-9b31-082e97c1145en@googlegroups.com>
<MtadnVqn1dCkCy7_nZ2dnUU7_8zNnZ2d@giganews.com> <5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com> <58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com> <d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com> <5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com> <15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com> <ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com> <ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
From: gw7...@aol.com (Paul N)
Injection-Date: Sat, 25 Jun 2022 16:19:28 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 532
 by: Paul N - Sat, 25 Jun 2022 16:19 UTC

On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
> On 6/25/2022 6:56 AM, Paul N wrote:
> > On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
> >> On 6/24/2022 3:05 PM, Paul N wrote:
> >>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
> >>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
> >>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
> >>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
> >>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott wrote:
> >>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
> >>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott wrote:
> >>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
> >>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4, olcott wrote:
> >>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
> >>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
> >>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
> >>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> void P(ptr x)
> >>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>> if (H(x, x))
> >>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
> >>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
> >>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> _P()
> >>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
> >>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
> >>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
> >>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
> >>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
> >>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
> >>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
> >>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
> >>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
> >>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify
> >>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation of the input to H(P,P)
> >>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction of P because both H
> >>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is the case in a finite
> >>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input on this basis. Here
> >>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in a finite number of
> >>>>>>>>>>>>>>>>>>>> steps.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> typedef struct Decoded
> >>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>> u32 Address;
> >>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
> >>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
> >>>>>>>>>>>>>>>>>>>> u32 NumBytes;
> >>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
> >>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
> >>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
> >>>>>>>>>>>>>>>>>>>> address address data code language
> >>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========= =============
> >>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
> >>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax // push P
> >>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx // push P
> >>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff call 00000f02 // call H
> >>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> // actual fully operational code in the x86utm operating system
> >>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
> >>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>> HERE:
> >>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
> >>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
> >>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
> >>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded = (Decoded_Line_Of_Code*)
> >>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
> >>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
> >>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
> >>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
> >>>>>>>>>>>>>>>>>>>> u32 execution_trace =
> >>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
> >>>>>>>>>>>>>>>>>>>> * 1000);
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
> >>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
> >>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
> >>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
> >>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); // 2022-06-11
> >>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code, slave_state, slave_stack);
> >>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace Stored at:",
> >>>>>>>>>>>>>>>>>>>> execution_trace);
> >>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace, &decoded, code_end,
> >>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack, Address_of_H, P, I))
> >>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
> >>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
> >>>>>>>>>>>>>>>>>>>> END_OF_CODE:
> >>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
> >>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this basis it can easily
> >>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and determine:
> >>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments that H was called with.
> >>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly escape this otherwise
> >>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its call to H is invoked.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Technically competent software engineers may not know this computer
> >>>>>>>>>>>>>>>>>>>> science:
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs to an
> >>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior that is
> >>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine will halt whenever it
> >>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and Automata.
> >>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company. (317-320)
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> void Px(u32 x)
> >>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>> H(x, x);
> >>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
> >>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
> >>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
> >>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
> >>>>>>>>>>>>>>>>>>> Input_Halts = 0
> >>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
> >>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
> >>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
> >>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not been decided correctly.
> >>>>>>>>>>>>>>>>>>> QED.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> /Flibble
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically competent at software
> >>>>>>>>>>>>>>>>>> engineering not meeting these specs:
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C programming language,
> >>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C translates into x86 and
> >>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at the x86 assembly
> >>>>>>>>>>>>>>>>>> language level. No knowledge of the halting problem is required.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years C++ experience; I also
> >>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote a Zilog Z80A CPU
> >>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize an infinite recursion;
> >>>>>>>>>>>>>>>>> the problem is that you cannot recognize the fact that the infinite
> >>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid simulation-based
> >>>>>>>>>>>>>>>>> omnishambles:
> >>>>>>>>>>>>>>>> If you are competent then you already know this is true and lie about it:
> >>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
> >>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>> would never reach the "ret" instruction of P because both H and P would
> >>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> H (if it was constructed correctly) is a computation, and a computation *always* gives the same output for a given input. So it doesn't make sense to say what it "would" do. It either does or does not perform a complete and correct emulation. And because H contains code to abort, and does abort, it does not do a complete emulation.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> So the input must be given to a UTM, which by definition does a correct and complete simulation, to see what the actual behavior is. UTM(Px,Px) halts, therefore H(Px,Px)==0 is wrong.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
> >>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>> would never reach the "ret" instruction of Px because both H and Px
> >>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> So you just repeated what you said instead of explaining why I'm wrong. In other words you provided no rebuttal, which can only be taken to mean that you have none.
> >>>>>>>>>>>> Your entire basis and all of assumptions was incorrect so when I
> >>>>>>>>>>>> provided an infallible one to that cannot possibly be correctly refuted
> >>>>>>>>>>>> you simply dodged it. That is a smart move for a dishonest person that
> >>>>>>>>>>>> is only interested in rebuttal.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I dare you to go back to the prior post and find any error in my
> >>>>>>>>>>>> airtight correct reasoning. Another dodge will be construed as a tacit
> >>>>>>>>>>>> admission of defeat.
> >>>>>>>>>>>
> >>>>>>>>>>> As stated before H (or more accurately Ha) does not perform a complete and correct emulation because it aborts. So by definition it cannot be complete.
> >>>>>>>>>> I never claimed that H(P,P) performs a complete and correct emulation of
> >>>>>>>>>> its input so your rebuttal is the strawman deception.
> >>>>>>>>>>
> >>>>>>>>>> I claimed that H(P,P) correctly predicts that its complete and correct
> >>>>>>>>>> x86 emulation of its input would never reach the "ret" instruction of P.
> >>>>>>>>>
> >>>>>>>>> But since H, or more accurately Ha, *can't* do a correct and complete emulation of its input, your point is moot.
> >>>>>>>> _Infinite_Loop()
> >>>>>>>> [00001082](01) 55 push ebp
> >>>>>>>> [00001083](02) 8bec mov ebp,esp
> >>>>>>>> [00001085](02) ebfe jmp 00001085
> >>>>>>>> [00001087](01) 5d pop ebp
> >>>>>>>> [00001088](01) c3 ret
> >>>>>>>> Size in bytes:(0007) [00001088]
> >>>>>>>>
> >>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:211e8f
> >>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
> >>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
> >>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
> >>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
> >>>>>>>> Infinite Loop Detected Simulation Stopped
> >>>>>>>>
> >>>>>>>> On the basis of this exact same utterly moronic reasoning because H
> >>>>>>>> *can't* do a correct and complete emulation of its input, H cannot
> >>>>>>>> possibly determine that _Infinite_Loop() never halts.
> >>>>>>>
> >>>>>>> Now who's using the strawman error? Just because H can determine that _Infinite_Loop does not halt doesn't mean that it gets other cases right. B
> >>>>>> You just said that H(P,P) cannot correctly predict that the correct and
> >>>>>> complete x86 emulation of its input would never reach the "ret"
> >>>>>> instruction of P without a compete x86 emulation of its input. I just
> >>>>>> proved that is a very stupid thing to say.
> >>>>>
> >>>>> You said that H can predict what *its* correct and complete emulation would do, and I said that doesn't make sense because H does not do correct and complete emulation. What H *must* do is predict what *the* correct and complete emulation, i.e. UTM(P,P), would do. And it fails to do that.
> >>>> From a purely software engineering perspective H(P,P) is required to to
> >>>> correctly determine that its correct and complete x86 emulation of its
> >>>> input would never reach the "ret" instruction of this input and H must
> >>>> do this in a finite number of steps.
> >>>>
> >>>> The ordinary semantics of standard C and the conventional x86 language
> >>>> are the entire semantics required to conclusively prove that H(P,P) does
> >>>> correctly determine that its correct and complete x86 emulation of its
> >>>> input would never reach the "ret" instruction.
> >>>>
> >>>> That you disagree with easily verified software engineering when you
> >>>> already know that this software engineering is correct speaks loads
> >>>> about your character.
> >>>>
> >>>> The only computer science that need be added to this is that the "ret"
> >>>> instruction is the final state of P and that a sequence of
> >>>> configurations that cannot possibly reach its final state is a
> >>>> non-halting sequence.
> >>>
> >>> You say that "H(P,P) is required to to correctly determine that its correct and complete x86 emulation of its input would never reach the "ret" instruction of this input". You seem to be assuming that H does an emulation of P, that this emulation includes emulating the call to H, that this call to H would start emulating the call to P, etc, etc, and so the call to P does not terminate.
> >>>
> >> Thanks for continuing to review this.
> >>
> >> No assumptions two years of software development derived fully
> >> operational software that conclusively proves this.
> >
> > It might help people's understanding if we had a few more examples. Suppose, in addition to the normal P and H, we have two more functions as follows:
> >
> > void Q(void)
> > {
> > if (H(P, P))
> > H2: goto H2;
> > return;
> > }
> >
> > void R(void)
> > {
> > H(P, P);
> > return;
> > }
> >
> > Will Q return? Will R return?
> >
> Yes they both return.
> void Q(void)
> {
> if (H(P, P))
> H2: goto H2;
> return;
> }
>
> void R(void)
> {
> H(P, P);
> return;
> }
> _P()
> [000011f0](01) 55 push ebp
> [000011f1](02) 8bec mov ebp,esp
> [000011f3](03) 8b4508 mov eax,[ebp+08]
> [000011f6](01) 50 push eax
> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
> [000011fa](01) 51 push ecx
> [000011fb](05) e820feffff call 00001020
> [00001200](03) 83c408 add esp,+08
> [00001203](02) 85c0 test eax,eax
> [00001205](02) 7402 jz 00001209
> [00001207](02) ebfe jmp 00001207
> [00001209](01) 5d pop ebp
> [0000120a](01) c3 ret
> Size in bytes:(0027) [0000120a]
>
> _Q()
> [00001210](01) 55 push ebp
> [00001211](02) 8bec mov ebp,esp
> [00001213](05) 68f0110000 push 000011f0
> [00001218](05) 68f0110000 push 000011f0
> [0000121d](05) e8fefdffff call 00001020
> [00001222](03) 83c408 add esp,+08
> [00001225](02) 85c0 test eax,eax
> [00001227](02) 7402 jz 0000122b
> [00001229](02) ebfe jmp 00001229
> [0000122b](01) 5d pop ebp
> [0000122c](01) c3 ret
> Size in bytes:(0029) [0000122c]
>
> _main()
> [00001250](01) 55 push ebp
> [00001251](02) 8bec mov ebp,esp
> [00001253](05) e8b8ffffff call 00001210
> [00001258](02) 33c0 xor eax,eax
> [0000125a](01) 5d pop ebp
> [0000125b](01) c3 ret
> Size in bytes:(0012) [0000125b]
> machine stack stack machine assembly
> address address data code language
> ======== ======== ======== ========= ============> ...[00001250][00102048][00000000] 55 push ebp
> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
> ...[00001210][00102040][00102048] 55 push ebp
> ...[00001211][00102040][00102048] 8bec mov ebp,esp
> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
>
> Begin Simulation Execution Trace Stored at:2120fc
> Address_of_H:1020
> ...[000011f0][002120e8][002120ec] 55 push ebp
> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> ...[000011f6][002120e4][000011f0] 50 push eax
> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> ...[000011fa][002120e0][000011f0] 51 push ecx
> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> Infinitely Recursive Simulation Detected Simulation Stopped
> ...[00001222][00102040][00102048] 83c408 add esp,+08
> ...[00001225][00102040][00102048] 85c0 test eax,eax
> ...[00001227][00102040][00102048] 7402 jz 0000122b
> ...[0000122b][00102044][00001258] 5d pop ebp
> ...[0000122c][00102048][00000000] c3 ret
> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> ...[0000125a][0010204c][00100000] 5d pop ebp
> ...[0000125b][00102050][00000000] c3 ret
> Number of Instructions Executed(874)
>
> Above is:
> int main()
> {
> Q();
> //R();
> }
>
> ---
> machine stack stack machine assembly
> address address data code language
> ======== ======== ======== ========= ============> ...[00001250][00102048][00000000] 55 push ebp
> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
> ...[00001230][00102040][00102048] 55 push ebp
> ...[00001231][00102040][00102048] 8bec mov ebp,esp
> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
> ...[0000123d][00102034][00001242] e8defdffff call 00001020
>
> Begin Simulation Execution Trace Stored at:2120fc
> Address_of_H:1020
> ...[000011f0][002120e8][002120ec] 55 push ebp
> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> ...[000011f6][002120e4][000011f0] 50 push eax
> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> ...[000011fa][002120e0][000011f0] 51 push ecx
> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> Infinitely Recursive Simulation Detected Simulation Stopped
> ...[00001242][00102040][00102048] 83c408 add esp,+08
> ...[00001245][00102044][00001258] 5d pop ebp
> ...[00001246][00102048][00000000] c3 ret
> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> ...[0000125a][0010204c][00100000] 5d pop ebp
> ...[0000125b][00102050][00000000] c3 ret
> Number of Instructions Executed(872)
>
> Above is:
> int main()
> {
> //Q();
> R();
> }


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation

<20220625172518.00002fb8@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34903&group=comp.theory#34903

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx03.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
Subject: Re: Technically competent Software engineers can verify this
halting problem proof refutation
Message-ID: <20220625172518.00002fb8@reddwarf.jmc>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<87a6a44s02.fsf@bsb.me.uk>
<a9adde1d-ad2c-444c-9b14-88841f5e8783n@googlegroups.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220625165919.0000287e@reddwarf.jmc>
<_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
Organization: Jupiter Mining Corp
X-Newsreader: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-w64-mingw32)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Lines: 308
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Sat, 25 Jun 2022 16:25:15 UTC
Date: Sat, 25 Jun 2022 17:25:18 +0100
X-Received-Bytes: 16179
 by: Mr Flibble - Sat, 25 Jun 2022 16:25 UTC

On Sat, 25 Jun 2022 11:06:12 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/25/2022 10:59 AM, Mr Flibble wrote:
> > On Sat, 25 Jun 2022 10:54:13 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/25/2022 10:21 AM, Mr Flibble wrote:
> >>> On Sat, 25 Jun 2022 10:19:02 -0500
> >>> olcott <NoOne@NoWhere.com> wrote:
> >>>
> >>>> On 6/25/2022 10:09 AM, Mr Flibble wrote:
> >>>>> On Sat, 25 Jun 2022 10:03:17 -0500
> >>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>
> >>>>>> On 6/25/2022 9:28 AM, olcott wrote:
> >>>>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
> >>>>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott wrote:
> >>>>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
> >>>>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott wrote:
> >>>>>>>>>>
> >>>>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
> >>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben Bacarisse
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> "Dry run" means that a human programmer looks at the
> >>>>>>>>>>>>>> code, and determines
> >>>>>>>>>>>>>> what it does, without actually executing it.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Going back, now, to what you think needs to be resolved:
> >>>>>>>>>>>>> | He's dry-run P(P) and established that it doesn't
> >>>>>>>>>>>>> halt. He's invoked H
> >>>>>>>>>>>>> | on it and H reports that it doesn't halt. He's run
> >>>>>>>>>>>>> P(P) and it halts.
> >>>>>>>>>>>>> The obvious conclusion is that PO's dry run (if he has
> >>>>>>>>>>>>> indeed done such
> >>>>>>>>>>>>> a thing) is incorrect.
> >>>>>>>>>>>>>
> >>>>>>>>>>>> Exactly.
> >>>>>>>>>>>> We do our little energy budget on tigers, and find that
> >>>>>>>>>>>> tigers spend more energy
> >>>>>>>>>>>> than they take in. Well potentially this is dynamite. One
> >>>>>>>>>>>> explanation is that the
> >>>>>>>>>>>> law of conservation of energy is wrong.
> >>>>>>>>>>>> Except, before we countenance that explanation, we need
> >>>>>>>>>>>> to rule out a much
> >>>>>>>>>>>> simpler explanation. Which is that our measurements are
> >>>>>>>>>>>> wrong.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should
> >>>>>>>>>>>> be doing, by dry-running
> >>>>>>>>>>>> it, and then actually run P(P) and obtained a different
> >>>>>>>>>>>> result. He also found that H
> >>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
> >>>>>>>>>>>> conclusion, but it is extensive
> >>>>>>>>>>>> and far-reaching in its implications. The behaviour of
> >>>>>>>>>>>> code when run is different
> >>>>>>>>>>>> from the correct behaviour of the code when simulated. If
> >>>>>>>>>>>> that's true, then it has
> >>>>>>>>>>>> similar implications for computer science that disproving
> >>>>>>>>>>>> the conservation law
> >>>>>>>>>>>> has for physics.
> >>>>>>>>>>>>
> >>>>>>>>>>>> But the obvious explanation is that the dry-run was
> >>>>>>>>>>>> incorrect. Lots of people have
> >>>>>>>>>>>> suggested why it is incorrect. But they can't actually
> >>>>>>>>>>>> see the code. PO needs to
> >>>>>>>>>>>> understand that no-one will accept the complicated,
> >>>>>>>>>>>> far-reaching explanation,
> >>>>>>>>>>>> until the simple explanation has been ruled out.
> >>>>>>>>>>>
> >>>>>>>>>>> I already proved that the dry run is correct.
> >>>>>>>>>>>
> >>>>>>>>>> Someone reports that tigers use more energy than they take
> >>>>>>>>>> in, and concludes that
> >>>>>>>>>> the energy conservation law is incorrect.
> >>>>>>>>>> Naturally, everyone is going to say "There must be some
> >>>>>>>>>> mistake. How were your
> >>>>>>>>>> measurements taken? Show us your calculations, maybe you've
> >>>>>>>>>> got your sums wrong."
> >>>>>>>>>>
> >>>>>>>>>> Now if they are also uncooperative about sharing the
> >>>>>>>>>> details of the investigation,
> >>>>>>>>>> those reservations will be magnified. There can be
> >>>>>>>>>> legitimate reasons. Tigers are
> >>>>>>>>>> rare and need to be conserved, you can't let anyone who
> >>>>>>>>>> wants have access to the
> >>>>>>>>>> tigers to try to repeat the measurements. But there's also
> >>>>>>>>>> a common illegitimate
> >>>>>>>>>> reason put forwards by people who make extraordinary
> >>>>>>>>>> claims. If the claims were
> >>>>>>>>>> unexceptional, such as that tigers have a similar energy
> >>>>>>>>>> budget to lions, then no-one
> >>>>>>>>>> would be saying "Show me your notebooks. How do you know
> >>>>>>>>>> that calorimeter was
> >>>>>>>>>> calibrated accurately? What's the name of the person who
> >>>>>>>>>> took that measurement
> >>>>>>>>>> and can I interview them?" Extraordinary claims are put
> >>>>>>>>>> through the wringer in a way
> >>>>>>>>>> that ordinary ones are not. I've seen complaints about this
> >>>>>>>>>> from parapsychologists.
> >>>>>>>>>> But if you're going to claim to have discovered a new
> >>>>>>>>>> physical principle, you need
> >>>>>>>>>> to present rock solid evidence.
> >>>>>>>>>>
> >>>>>>>>>> In this case, we can't see H. We can only suggest
> >>>>>>>>>> explanations for its behaviour.
> >>>>>>>>> It seems that you simply lack the technical competence.
> >>>>>>>>> Go back and look at my proof again.
> >>>>>>>>>
> >>>>>>>> Sorry no. I've been programming since I was a boy and I have
> >>>>>>>> a PhD in a computational-
> >>>>>>>> related subject. I'm confident of my technical abilities.
> >>>>>>>> What I can't do of course
> >>>>>>>> is tell you exactly what is going on in code I cannot see.
> >>>>>>>> I've got a pretty good idea,
> >>>>>>>> but I can only reconstruct on the basis of what you tell me.
> >>>>>>>> Ben thinks that I've
> >>>>>>>> got it wrong and in fact there are no nested emulations at
> >>>>>>>> all. I've no way of actually
> >>>>>>>> disproving that idea without seeing H.
> >>>>>>>>
> >>>>>>>
> >>>>>>> To fully understand this a software engineer must be an expert
> >>>>>>> in: (a) The C programming language,
> >>>>>>> (b) The x86 programming language,
> >>>>>>> (c) Exactly how C translates into x86 and,
> >>>>>>> (d) The ability to recognize infinite recursion at the x86
> >>>>>>> assembly language level.
> >>>>>>>
> >>>>>>> Anyone having the above credentials can validate my work, if
> >>>>>>> you cannot validate my work then you do not sufficiently have
> >>>>>>> the above credentials.
> >>>>>>>
> >>>>>>> Exactly how C translates into x86 is mandatory. If you don't
> >>>>>>> know how the C calling conventions are implemented in x86 you
> >>>>>>> cannot validate my work.
> >>>>>>>
> >>>>>>> From a purely software engineering perspective H(P,P) is
> >>>>>>> required to to correctly determine that its correct and
> >>>>>>> complete x86 emulation of its input would never reach the
> >>>>>>> "ret" instruction of this input and H must do this in a
> >>>>>>> finite number of steps.
> >>>>>>>
> >>>>>>> The ordinary semantics of standard C and the conventional x86
> >>>>>>> language are the entire semantics required to conclusively
> >>>>>>> prove that H(P,P) does correctly determine that its correct
> >>>>>>> and complete x86 emulation of its input would never reach the
> >>>>>>> "ret" instruction (final state) of this input thus never
> >>>>>>> halts.
> >>>>>>>
> >>>>>>> The correct and complete x86 emulation of its input by H(P,P)
> >>>>>>> would never reach the "ret" instruction of P because both H
> >>>>>>> and P would remain stuck in infinitely nested emulation.
> >>>>>>>
> >>>>>>> void P(u32 x)
> >>>>>>> {
> >>>>>>>   if (H(x, x))
> >>>>>>>     HERE: goto HERE;
> >>>>>>>   return;
> >>>>>>> }
> >>>>>>>
> >>>>>>> int main()
> >>>>>>> {
> >>>>>>>   Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>>>>> }
> >>>>>>>
> >>>>>>> _P()
> >>>>>>> [00001202](01)  55              push ebp
> >>>>>>> [00001203](02)  8bec            mov ebp,esp
> >>>>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
> >>>>>>> [00001208](01)  50              push eax
> >>>>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
> >>>>>>> [0000120c](01)  51              push ecx
> >>>>>>> [0000120d](05)  e820feffff      call 00001032
> >>>>>>> [00001212](03)  83c408          add esp,+08
> >>>>>>> [00001215](02)  85c0            test eax,eax
> >>>>>>> [00001217](02)  7402            jz 0000121b
> >>>>>>> [00001219](02)  ebfe            jmp 00001219
> >>>>>>> [0000121b](01)  5d              pop ebp
> >>>>>>> [0000121c](01)  c3              ret
> >>>>>>> Size in bytes:(0027) [0000121c]
> >>>>>>>
> >>>>>>> _main()
> >>>>>>> [00001222](01)  55              push ebp
> >>>>>>> [00001223](02)  8bec            mov ebp,esp
> >>>>>>> [00001225](05)  6802120000      push 00001202
> >>>>>>> [0000122a](05)  6802120000      push 00001202
> >>>>>>> [0000122f](05)  e8fefdffff      call 00001032
> >>>>>>> [00001234](03)  83c408          add esp,+08
> >>>>>>> [00001237](01)  50              push eax
> >>>>>>> [00001238](05)  68b3030000      push 000003b3
> >>>>>>> [0000123d](05)  e8c0f1ffff      call 00000402
> >>>>>>> [00001242](03)  83c408          add esp,+08
> >>>>>>> [00001245](02)  33c0            xor eax,eax
> >>>>>>> [00001247](01)  5d              pop ebp
> >>>>>>> [00001248](01)  c3              ret
> >>>>>>> Size in bytes:(0039) [00001248]
> >>>>>>>
> >>>>>>>  machine   stack     stack     machine    assembly
> >>>>>>>  address   address   data      code       language
> >>>>>>>  ========  ========  ========  =========  ============> >>>>>>> [00001222][0010200f][00000000] 55         push ebp
> >>>>>>> [00001223][0010200f][00000000] 8bec       mov ebp,esp
> >>>>>>> [00001225][0010200b][00001202] 6802120000 push 00001202 //
> >>>>>>> push P [0000122a][00102007][00001202] 6802120000 push
> >>>>>>> 00001202 // push P [0000122f][00102003][00001234] e8fefdffff
> >>>>>>> call 00001032 // call executed H
> >>>>>>>
> >>>>>>> Begin Simulation   Execution Trace Stored at:2120c3
> >>>>>>> Address_of_H:1032
> >>>>>>> [00001202][002120af][002120b3] 55         push ebp
> >>>>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
> >>>>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
> >>>>>>> [00001208][002120ab][00001202] 50         push eax      //
> >>>>>>> push P [00001209][002120ab][00001202] 8b4d08     mov
> >>>>>>> ecx,[ebp+08] [0000120c][002120a7][00001202] 51         push
> >>>>>>> ecx      // push P [0000120d][002120a3][00001212] e820feffff
> >>>>>>> call 00001032 // call emulated H Infinitely Recursive
> >>>>>>> Simulation Detected Simulation Stopped
> >>>>>>>
> >>>>>>> H knows its own machine address and on this basis it can
> >>>>>>> easily examine its stored execution_trace of P (see above) to
> >>>>>>> determine: (a) P is calling H with the same arguments that H
> >>>>>>> was called with. (b) No instructions in P could possibly
> >>>>>>> escape this otherwise infinitely recursive emulation.
> >>>>>>> (c) H aborts its emulation of P before its call to H is
> >>>>>>> emulated.
> >>>>>>
> >>>>>> When you know that H simply implements the above algorithm
> >>>>>> there is no need to see its source code. I am reserving the
> >>>>>> publication of the 5 pages of the source code of the halt
> >>>>>> decider for journal publication.
> >>>>>
> >>>>> Your H is not a pure function as it behaves differently
> >>>>> depending on what is invoking it (it returns a decision answer
> >>>>> to main() but not to P()) and it has side effects (aborting a
> >>>>> simulation).
> >>>>>
> >>>>> /Flibble
> >>>>>
> >>>>
> >>>> Finally a critique that has a reasonable basis.
> >>>>
> >>>> When I transformed H into a pure function of its inputs it always
> >>>> has the same behavior no matter how it is invoked.
> >>>>
> >>>> The x86 emulation of P is aborted before P invokes H.
> >>>
> >>> Nope. Preventing a call to H is equivalent to H behaving
> >>> differently for same inputs. Aborting a simulation is a side
> >>> effect: pure functions do not have side effects.
> >>>
> >>> /Flibble
> >>>
> >>
> >> In other words you are saying that a halt decider is simply not
> >> allowed to report when it correctly detects that it is being called
> >> in infinitely recursive simulation.
> >
> > I keep telling you this: the infinite recursion is NOT present when
> > using a valid halt decider: your H is NOT a valid halt
> > decider.
> >
> > Simulation is an erroneous approach as a simulating halt decider
> > can not answer in finite time for a non-halting input as there is no
> > proven general solution for detecting non-halting behaviour.
> >
> > /Flibble
> >
>
> IN OTHER WORDS THOROUGH LACK OF TECHNICAL COMPETANCE OR DISHONESTLY
> YOU DENY THIS VERIFIABLE FACT:
>
> The correct and complete x86 emulation of its input by H(P,P)
> would never reach the "ret" instruction of P because both H and
> P would remain stuck in infinitely nested emulation.

Click here to read the complete article

Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34904&group=comp.theory#34904

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 11:29:26 -0500
Date: Sat, 25 Jun 2022 11:29:24 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<de67d3d5-10f3-4e28-9b31-082e97c1145en@googlegroups.com>
<MtadnVqn1dCkCy7_nZ2dnUU7_8zNnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 457
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-pqnXiUN48w18figteJaSwD/dhbbkiO5L7ble3XFz4E5jTm4pXiS1DwSq8gdFSNCVSS0LUHAfQuUvL1w!+LNHPstkNGkfJbtIZ9pdoxIJriFBiXD8EAlF8UmAjCYU/fkH4nmU71ewa9JRIvIQDrLux26knLa5
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 24793
 by: olcott - Sat, 25 Jun 2022 16:29 UTC

On 6/25/2022 11:19 AM, Paul N wrote:
> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
>> On 6/25/2022 6:56 AM, Paul N wrote:
>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
>>>> On 6/24/2022 3:05 PM, Paul N wrote:
>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott wrote:
>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott wrote:
>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> _P()
>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify
>>>>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation of the input to H(P,P)
>>>>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction of P because both H
>>>>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is the case in a finite
>>>>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input on this basis. Here
>>>>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in a finite number of
>>>>>>>>>>>>>>>>>>>>>> steps.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>> u32 Address;
>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
>>>>>>>>>>>>>>>>>>>>>> address address data code language
>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========= =============
>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax // push P
>>>>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx // push P
>>>>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff call 00000f02 // call H
>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the x86utm operating system
>>>>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>> HERE:
>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded = (Decoded_Line_Of_Code*)
>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace =
>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
>>>>>>>>>>>>>>>>>>>>>> * 1000);
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); // 2022-06-11
>>>>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code, slave_state, slave_stack);
>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace Stored at:",
>>>>>>>>>>>>>>>>>>>>>> execution_trace);
>>>>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace, &decoded, code_end,
>>>>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack, Address_of_H, P, I))
>>>>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
>>>>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
>>>>>>>>>>>>>>>>>>>>>> END_OF_CODE:
>>>>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this basis it can easily
>>>>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and determine:
>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments that H was called with.
>>>>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly escape this otherwise
>>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its call to H is invoked.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers may not know this computer
>>>>>>>>>>>>>>>>>>>>>> science:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs to an
>>>>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior that is
>>>>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine will halt whenever it
>>>>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and Automata.
>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company. (317-320)
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>> H(x, x);
>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
>>>>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
>>>>>>>>>>>>>>>>>>>>> Input_Halts = 0
>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
>>>>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not been decided correctly.
>>>>>>>>>>>>>>>>>>>>> QED.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> /Flibble
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically competent at software
>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C programming language,
>>>>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C translates into x86 and
>>>>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at the x86 assembly
>>>>>>>>>>>>>>>>>>>> language level. No knowledge of the halting problem is required.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years C++ experience; I also
>>>>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote a Zilog Z80A CPU
>>>>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize an infinite recursion;
>>>>>>>>>>>>>>>>>>> the problem is that you cannot recognize the fact that the infinite
>>>>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid simulation-based
>>>>>>>>>>>>>>>>>>> omnishambles:
>>>>>>>>>>>>>>>>>> If you are competent then you already know this is true and lie about it:
>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P because both H and P would
>>>>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a computation, and a computation *always* gives the same output for a given input. So it doesn't make sense to say what it "would" do. It either does or does not perform a complete and correct emulation. And because H contains code to abort, and does abort, it does not do a complete emulation.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by definition does a correct and complete simulation, to see what the actual behavior is. UTM(Px,Px) halts, therefore H(Px,Px)==0 is wrong.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px because both H and Px
>>>>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> So you just repeated what you said instead of explaining why I'm wrong. In other words you provided no rebuttal, which can only be taken to mean that you have none.
>>>>>>>>>>>>>> Your entire basis and all of assumptions was incorrect so when I
>>>>>>>>>>>>>> provided an infallible one to that cannot possibly be correctly refuted
>>>>>>>>>>>>>> you simply dodged it. That is a smart move for a dishonest person that
>>>>>>>>>>>>>> is only interested in rebuttal.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I dare you to go back to the prior post and find any error in my
>>>>>>>>>>>>>> airtight correct reasoning. Another dodge will be construed as a tacit
>>>>>>>>>>>>>> admission of defeat.
>>>>>>>>>>>>>
>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not perform a complete and correct emulation because it aborts. So by definition it cannot be complete.
>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and correct emulation of
>>>>>>>>>>>> its input so your rebuttal is the strawman deception.
>>>>>>>>>>>>
>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its complete and correct
>>>>>>>>>>>> x86 emulation of its input would never reach the "ret" instruction of P.
>>>>>>>>>>>
>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a correct and complete emulation of its input, your point is moot.
>>>>>>>>>> _Infinite_Loop()
>>>>>>>>>> [00001082](01) 55 push ebp
>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
>>>>>>>>>> [00001085](02) ebfe jmp 00001085
>>>>>>>>>> [00001087](01) 5d pop ebp
>>>>>>>>>> [00001088](01) c3 ret
>>>>>>>>>> Size in bytes:(0007) [00001088]
>>>>>>>>>>
>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:211e8f
>>>>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
>>>>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>> Infinite Loop Detected Simulation Stopped
>>>>>>>>>>
>>>>>>>>>> On the basis of this exact same utterly moronic reasoning because H
>>>>>>>>>> *can't* do a correct and complete emulation of its input, H cannot
>>>>>>>>>> possibly determine that _Infinite_Loop() never halts.
>>>>>>>>>
>>>>>>>>> Now who's using the strawman error? Just because H can determine that _Infinite_Loop does not halt doesn't mean that it gets other cases right. B
>>>>>>>> You just said that H(P,P) cannot correctly predict that the correct and
>>>>>>>> complete x86 emulation of its input would never reach the "ret"
>>>>>>>> instruction of P without a compete x86 emulation of its input. I just
>>>>>>>> proved that is a very stupid thing to say.
>>>>>>>
>>>>>>> You said that H can predict what *its* correct and complete emulation would do, and I said that doesn't make sense because H does not do correct and complete emulation. What H *must* do is predict what *the* correct and complete emulation, i.e. UTM(P,P), would do. And it fails to do that.
>>>>>> From a purely software engineering perspective H(P,P) is required to to
>>>>>> correctly determine that its correct and complete x86 emulation of its
>>>>>> input would never reach the "ret" instruction of this input and H must
>>>>>> do this in a finite number of steps.
>>>>>>
>>>>>> The ordinary semantics of standard C and the conventional x86 language
>>>>>> are the entire semantics required to conclusively prove that H(P,P) does
>>>>>> correctly determine that its correct and complete x86 emulation of its
>>>>>> input would never reach the "ret" instruction.
>>>>>>
>>>>>> That you disagree with easily verified software engineering when you
>>>>>> already know that this software engineering is correct speaks loads
>>>>>> about your character.
>>>>>>
>>>>>> The only computer science that need be added to this is that the "ret"
>>>>>> instruction is the final state of P and that a sequence of
>>>>>> configurations that cannot possibly reach its final state is a
>>>>>> non-halting sequence.
>>>>>
>>>>> You say that "H(P,P) is required to to correctly determine that its correct and complete x86 emulation of its input would never reach the "ret" instruction of this input". You seem to be assuming that H does an emulation of P, that this emulation includes emulating the call to H, that this call to H would start emulating the call to P, etc, etc, and so the call to P does not terminate.
>>>>>
>>>> Thanks for continuing to review this.
>>>>
>>>> No assumptions two years of software development derived fully
>>>> operational software that conclusively proves this.
>>>
>>> It might help people's understanding if we had a few more examples. Suppose, in addition to the normal P and H, we have two more functions as follows:
>>>
>>> void Q(void)
>>> {
>>> if (H(P, P))
>>> H2: goto H2;
>>> return;
>>> }
>>>
>>> void R(void)
>>> {
>>> H(P, P);
>>> return;
>>> }
>>>
>>> Will Q return? Will R return?
>>>
>> Yes they both return.
>> void Q(void)
>> {
>> if (H(P, P))
>> H2: goto H2;
>> return;
>> }
>>
>> void R(void)
>> {
>> H(P, P);
>> return;
>> }
>> _P()
>> [000011f0](01) 55 push ebp
>> [000011f1](02) 8bec mov ebp,esp
>> [000011f3](03) 8b4508 mov eax,[ebp+08]
>> [000011f6](01) 50 push eax
>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
>> [000011fa](01) 51 push ecx
>> [000011fb](05) e820feffff call 00001020
>> [00001200](03) 83c408 add esp,+08
>> [00001203](02) 85c0 test eax,eax
>> [00001205](02) 7402 jz 00001209
>> [00001207](02) ebfe jmp 00001207
>> [00001209](01) 5d pop ebp
>> [0000120a](01) c3 ret
>> Size in bytes:(0027) [0000120a]
>>
>> _Q()
>> [00001210](01) 55 push ebp
>> [00001211](02) 8bec mov ebp,esp
>> [00001213](05) 68f0110000 push 000011f0
>> [00001218](05) 68f0110000 push 000011f0
>> [0000121d](05) e8fefdffff call 00001020
>> [00001222](03) 83c408 add esp,+08
>> [00001225](02) 85c0 test eax,eax
>> [00001227](02) 7402 jz 0000122b
>> [00001229](02) ebfe jmp 00001229
>> [0000122b](01) 5d pop ebp
>> [0000122c](01) c3 ret
>> Size in bytes:(0029) [0000122c]
>>
>> _main()
>> [00001250](01) 55 push ebp
>> [00001251](02) 8bec mov ebp,esp
>> [00001253](05) e8b8ffffff call 00001210
>> [00001258](02) 33c0 xor eax,eax
>> [0000125a](01) 5d pop ebp
>> [0000125b](01) c3 ret
>> Size in bytes:(0012) [0000125b]
>> machine stack stack machine assembly
>> address address data code language
>> ======== ======== ======== ========= =============
>> ...[00001250][00102048][00000000] 55 push ebp
>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
>> ...[00001210][00102040][00102048] 55 push ebp
>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
>>
>> Begin Simulation Execution Trace Stored at:2120fc
>> Address_of_H:1020
>> ...[000011f0][002120e8][002120ec] 55 push ebp
>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>> ...[000011f6][002120e4][000011f0] 50 push eax
>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>> ...[000011fa][002120e0][000011f0] 51 push ecx
>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>> Infinitely Recursive Simulation Detected Simulation Stopped
>> ...[00001222][00102040][00102048] 83c408 add esp,+08
>> ...[00001225][00102040][00102048] 85c0 test eax,eax
>> ...[00001227][00102040][00102048] 7402 jz 0000122b
>> ...[0000122b][00102044][00001258] 5d pop ebp
>> ...[0000122c][00102048][00000000] c3 ret
>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>> ...[0000125a][0010204c][00100000] 5d pop ebp
>> ...[0000125b][00102050][00000000] c3 ret
>> Number of Instructions Executed(874)
>>
>> Above is:
>> int main()
>> {
>> Q();
>> //R();
>> }
>>
>> ---
>> machine stack stack machine assembly
>> address address data code language
>> ======== ======== ======== ========= =============
>> ...[00001250][00102048][00000000] 55 push ebp
>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
>> ...[00001230][00102040][00102048] 55 push ebp
>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
>>
>> Begin Simulation Execution Trace Stored at:2120fc
>> Address_of_H:1020
>> ...[000011f0][002120e8][002120ec] 55 push ebp
>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>> ...[000011f6][002120e4][000011f0] 50 push eax
>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>> ...[000011fa][002120e0][000011f0] 51 push ecx
>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>> Infinitely Recursive Simulation Detected Simulation Stopped
>> ...[00001242][00102040][00102048] 83c408 add esp,+08
>> ...[00001245][00102044][00001258] 5d pop ebp
>> ...[00001246][00102048][00000000] c3 ret
>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>> ...[0000125a][0010204c][00100000] 5d pop ebp
>> ...[0000125b][00102050][00000000] c3 ret
>> Number of Instructions Executed(872)
>>
>> Above is:
>> int main()
>> {
>> //Q();
>> R();
>> }
>
> Right, so we're getting somewhere. Can you explain why Q() returns, and P(P) doesn't, when they both do the same thing in the same way?


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation

<t97d9j$135f$2@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34905&group=comp.theory#34905

  copy link   Newsgroups: comp.theory
Path: i2pn2.org!i2pn.org!aioe.org!7a25jG6pUKCqa0zKnKnvdg.user.46.165.242.75.POSTED!not-for-mail
From: pyt...@example.invalid (Python)
Newsgroups: comp.theory
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation
Date: Sat, 25 Jun 2022 18:31:51 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t97d9j$135f$2@gioia.aioe.org>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<g9qdnRjZj9uBlS7_nZ2dnUU7_8zNnZ2d@giganews.com>
<0f7ed34c-5aaa-4858-885e-66e16777f599n@googlegroups.com>
<87a6a44s02.fsf@bsb.me.uk>
<a9adde1d-ad2c-444c-9b14-88841f5e8783n@googlegroups.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="36015"; posting-host="7a25jG6pUKCqa0zKnKnvdg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
X-Notice: Filtered by postfilter v. 0.9.2
 by: Python - Sat, 25 Jun 2022 16:31 UTC

Demented bigot, Peter Olcott wrote:
....
> In other words you are saying that a halt decider is simply not allowed
> to report when it correctly detects that it is being called in
> infinitely recursive simulation.
>
> We could also "prove" that a correct halt decider is impossible by
> making another similar rule that halt deciders are simply not allowed to
> report on infinite loops.

You can also "prove" that a natural number that is both even and odd
is even. It doesn't mean that such a number exists.

Publish your code for H. We do have a proof (mutiple proofs) that it
cannot exist as you specify it. You know that we could, then, prove
that it doesn't work. This is why you are not publishing it. You are
a LIAR, a DELUSIONAL CRANK, a DESPICABLE FRAUD, Olcott.

[AGAIN: STOP MULTI-POSTING WITHOUT FOLLOW-UP, YOU ASSHOLE!!!]

Re: Technically competent Software engineers can verify this halting problem proof refutation

<S8udnWfpo60QpSr_nZ2dnUU7_8xh4p2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34906&group=comp.theory#34906

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 11:32:13 -0500
Date: Sat, 25 Jun 2022 11:32:12 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<87a6a44s02.fsf@bsb.me.uk>
<a9adde1d-ad2c-444c-9b14-88841f5e8783n@googlegroups.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220625165919.0000287e@reddwarf.jmc>
<_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
<20220625172518.00002fb8@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220625172518.00002fb8@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <S8udnWfpo60QpSr_nZ2dnUU7_8xh4p2d@giganews.com>
Lines: 298
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-xMTzlDp4vi3Dqq6n5WCwdB650g+dEmHDwSLLpzxzvrr5GGWsAVjSMjz3HZlFDnAV1oxrcm8Qv/1A0nu!r8l2CjkRflZoWwNTdhC9rZSXtXKNBh1Qo4NwXuoHh3tLWtLHGitHte2K5/QnqiHbbZH68QyoFirQ
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 16485
 by: olcott - Sat, 25 Jun 2022 16:32 UTC

On 6/25/2022 11:25 AM, Mr Flibble wrote:
> On Sat, 25 Jun 2022 11:06:12 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/25/2022 10:59 AM, Mr Flibble wrote:
>>> On Sat, 25 Jun 2022 10:54:13 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>
>>>> On 6/25/2022 10:21 AM, Mr Flibble wrote:
>>>>> On Sat, 25 Jun 2022 10:19:02 -0500
>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>
>>>>>> On 6/25/2022 10:09 AM, Mr Flibble wrote:
>>>>>>> On Sat, 25 Jun 2022 10:03:17 -0500
>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>
>>>>>>>> On 6/25/2022 9:28 AM, olcott wrote:
>>>>>>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
>>>>>>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott wrote:
>>>>>>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
>>>>>>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
>>>>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben Bacarisse
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> "Dry run" means that a human programmer looks at the
>>>>>>>>>>>>>>>> code, and determines
>>>>>>>>>>>>>>>> what it does, without actually executing it.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Going back, now, to what you think needs to be resolved:
>>>>>>>>>>>>>>> | He's dry-run P(P) and established that it doesn't
>>>>>>>>>>>>>>> halt. He's invoked H
>>>>>>>>>>>>>>> | on it and H reports that it doesn't halt. He's run
>>>>>>>>>>>>>>> P(P) and it halts.
>>>>>>>>>>>>>>> The obvious conclusion is that PO's dry run (if he has
>>>>>>>>>>>>>>> indeed done such
>>>>>>>>>>>>>>> a thing) is incorrect.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Exactly.
>>>>>>>>>>>>>> We do our little energy budget on tigers, and find that
>>>>>>>>>>>>>> tigers spend more energy
>>>>>>>>>>>>>> than they take in. Well potentially this is dynamite. One
>>>>>>>>>>>>>> explanation is that the
>>>>>>>>>>>>>> law of conservation of energy is wrong.
>>>>>>>>>>>>>> Except, before we countenance that explanation, we need
>>>>>>>>>>>>>> to rule out a much
>>>>>>>>>>>>>> simpler explanation. Which is that our measurements are
>>>>>>>>>>>>>> wrong.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should
>>>>>>>>>>>>>> be doing, by dry-running
>>>>>>>>>>>>>> it, and then actually run P(P) and obtained a different
>>>>>>>>>>>>>> result. He also found that H
>>>>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
>>>>>>>>>>>>>> conclusion, but it is extensive
>>>>>>>>>>>>>> and far-reaching in its implications. The behaviour of
>>>>>>>>>>>>>> code when run is different
>>>>>>>>>>>>>> from the correct behaviour of the code when simulated. If
>>>>>>>>>>>>>> that's true, then it has
>>>>>>>>>>>>>> similar implications for computer science that disproving
>>>>>>>>>>>>>> the conservation law
>>>>>>>>>>>>>> has for physics.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> But the obvious explanation is that the dry-run was
>>>>>>>>>>>>>> incorrect. Lots of people have
>>>>>>>>>>>>>> suggested why it is incorrect. But they can't actually
>>>>>>>>>>>>>> see the code. PO needs to
>>>>>>>>>>>>>> understand that no-one will accept the complicated,
>>>>>>>>>>>>>> far-reaching explanation,
>>>>>>>>>>>>>> until the simple explanation has been ruled out.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I already proved that the dry run is correct.
>>>>>>>>>>>>>
>>>>>>>>>>>> Someone reports that tigers use more energy than they take
>>>>>>>>>>>> in, and concludes that
>>>>>>>>>>>> the energy conservation law is incorrect.
>>>>>>>>>>>> Naturally, everyone is going to say "There must be some
>>>>>>>>>>>> mistake. How were your
>>>>>>>>>>>> measurements taken? Show us your calculations, maybe you've
>>>>>>>>>>>> got your sums wrong."
>>>>>>>>>>>>
>>>>>>>>>>>> Now if they are also uncooperative about sharing the
>>>>>>>>>>>> details of the investigation,
>>>>>>>>>>>> those reservations will be magnified. There can be
>>>>>>>>>>>> legitimate reasons. Tigers are
>>>>>>>>>>>> rare and need to be conserved, you can't let anyone who
>>>>>>>>>>>> wants have access to the
>>>>>>>>>>>> tigers to try to repeat the measurements. But there's also
>>>>>>>>>>>> a common illegitimate
>>>>>>>>>>>> reason put forwards by people who make extraordinary
>>>>>>>>>>>> claims. If the claims were
>>>>>>>>>>>> unexceptional, such as that tigers have a similar energy
>>>>>>>>>>>> budget to lions, then no-one
>>>>>>>>>>>> would be saying "Show me your notebooks. How do you know
>>>>>>>>>>>> that calorimeter was
>>>>>>>>>>>> calibrated accurately? What's the name of the person who
>>>>>>>>>>>> took that measurement
>>>>>>>>>>>> and can I interview them?" Extraordinary claims are put
>>>>>>>>>>>> through the wringer in a way
>>>>>>>>>>>> that ordinary ones are not. I've seen complaints about this
>>>>>>>>>>>> from parapsychologists.
>>>>>>>>>>>> But if you're going to claim to have discovered a new
>>>>>>>>>>>> physical principle, you need
>>>>>>>>>>>> to present rock solid evidence.
>>>>>>>>>>>>
>>>>>>>>>>>> In this case, we can't see H. We can only suggest
>>>>>>>>>>>> explanations for its behaviour.
>>>>>>>>>>> It seems that you simply lack the technical competence.
>>>>>>>>>>> Go back and look at my proof again.
>>>>>>>>>>>
>>>>>>>>>> Sorry no. I've been programming since I was a boy and I have
>>>>>>>>>> a PhD in a computational-
>>>>>>>>>> related subject. I'm confident of my technical abilities.
>>>>>>>>>> What I can't do of course
>>>>>>>>>> is tell you exactly what is going on in code I cannot see.
>>>>>>>>>> I've got a pretty good idea,
>>>>>>>>>> but I can only reconstruct on the basis of what you tell me.
>>>>>>>>>> Ben thinks that I've
>>>>>>>>>> got it wrong and in fact there are no nested emulations at
>>>>>>>>>> all. I've no way of actually
>>>>>>>>>> disproving that idea without seeing H.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> To fully understand this a software engineer must be an expert
>>>>>>>>> in: (a) The C programming language,
>>>>>>>>> (b) The x86 programming language,
>>>>>>>>> (c) Exactly how C translates into x86 and,
>>>>>>>>> (d) The ability to recognize infinite recursion at the x86
>>>>>>>>> assembly language level.
>>>>>>>>>
>>>>>>>>> Anyone having the above credentials can validate my work, if
>>>>>>>>> you cannot validate my work then you do not sufficiently have
>>>>>>>>> the above credentials.
>>>>>>>>>
>>>>>>>>> Exactly how C translates into x86 is mandatory. If you don't
>>>>>>>>> know how the C calling conventions are implemented in x86 you
>>>>>>>>> cannot validate my work.
>>>>>>>>>
>>>>>>>>> From a purely software engineering perspective H(P,P) is
>>>>>>>>> required to to correctly determine that its correct and
>>>>>>>>> complete x86 emulation of its input would never reach the
>>>>>>>>> "ret" instruction of this input and H must do this in a
>>>>>>>>> finite number of steps.
>>>>>>>>>
>>>>>>>>> The ordinary semantics of standard C and the conventional x86
>>>>>>>>> language are the entire semantics required to conclusively
>>>>>>>>> prove that H(P,P) does correctly determine that its correct
>>>>>>>>> and complete x86 emulation of its input would never reach the
>>>>>>>>> "ret" instruction (final state) of this input thus never
>>>>>>>>> halts.
>>>>>>>>>
>>>>>>>>> The correct and complete x86 emulation of its input by H(P,P)
>>>>>>>>> would never reach the "ret" instruction of P because both H
>>>>>>>>> and P would remain stuck in infinitely nested emulation.
>>>>>>>>>
>>>>>>>>> void P(u32 x)
>>>>>>>>> {
>>>>>>>>>   if (H(x, x))
>>>>>>>>>     HERE: goto HERE;
>>>>>>>>>   return;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> int main()
>>>>>>>>> {
>>>>>>>>>   Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> _P()
>>>>>>>>> [00001202](01)  55              push ebp
>>>>>>>>> [00001203](02)  8bec            mov ebp,esp
>>>>>>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>> [00001208](01)  50              push eax
>>>>>>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>> [0000120c](01)  51              push ecx
>>>>>>>>> [0000120d](05)  e820feffff      call 00001032
>>>>>>>>> [00001212](03)  83c408          add esp,+08
>>>>>>>>> [00001215](02)  85c0            test eax,eax
>>>>>>>>> [00001217](02)  7402            jz 0000121b
>>>>>>>>> [00001219](02)  ebfe            jmp 00001219
>>>>>>>>> [0000121b](01)  5d              pop ebp
>>>>>>>>> [0000121c](01)  c3              ret
>>>>>>>>> Size in bytes:(0027) [0000121c]
>>>>>>>>>
>>>>>>>>> _main()
>>>>>>>>> [00001222](01)  55              push ebp
>>>>>>>>> [00001223](02)  8bec            mov ebp,esp
>>>>>>>>> [00001225](05)  6802120000      push 00001202
>>>>>>>>> [0000122a](05)  6802120000      push 00001202
>>>>>>>>> [0000122f](05)  e8fefdffff      call 00001032
>>>>>>>>> [00001234](03)  83c408          add esp,+08
>>>>>>>>> [00001237](01)  50              push eax
>>>>>>>>> [00001238](05)  68b3030000      push 000003b3
>>>>>>>>> [0000123d](05)  e8c0f1ffff      call 00000402
>>>>>>>>> [00001242](03)  83c408          add esp,+08
>>>>>>>>> [00001245](02)  33c0            xor eax,eax
>>>>>>>>> [00001247](01)  5d              pop ebp
>>>>>>>>> [00001248](01)  c3              ret
>>>>>>>>> Size in bytes:(0039) [00001248]
>>>>>>>>>
>>>>>>>>>  machine   stack     stack     machine    assembly
>>>>>>>>>  address   address   data      code       language
>>>>>>>>>  ========  ========  ========  =========  =============
>>>>>>>>> [00001222][0010200f][00000000] 55         push ebp
>>>>>>>>> [00001223][0010200f][00000000] 8bec       mov ebp,esp
>>>>>>>>> [00001225][0010200b][00001202] 6802120000 push 00001202 //
>>>>>>>>> push P [0000122a][00102007][00001202] 6802120000 push
>>>>>>>>> 00001202 // push P [0000122f][00102003][00001234] e8fefdffff
>>>>>>>>> call 00001032 // call executed H
>>>>>>>>>
>>>>>>>>> Begin Simulation   Execution Trace Stored at:2120c3
>>>>>>>>> Address_of_H:1032
>>>>>>>>> [00001202][002120af][002120b3] 55         push ebp
>>>>>>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
>>>>>>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
>>>>>>>>> [00001208][002120ab][00001202] 50         push eax      //
>>>>>>>>> push P [00001209][002120ab][00001202] 8b4d08     mov
>>>>>>>>> ecx,[ebp+08] [0000120c][002120a7][00001202] 51         push
>>>>>>>>> ecx      // push P [0000120d][002120a3][00001212] e820feffff
>>>>>>>>> call 00001032 // call emulated H Infinitely Recursive
>>>>>>>>> Simulation Detected Simulation Stopped
>>>>>>>>>
>>>>>>>>> H knows its own machine address and on this basis it can
>>>>>>>>> easily examine its stored execution_trace of P (see above) to
>>>>>>>>> determine: (a) P is calling H with the same arguments that H
>>>>>>>>> was called with. (b) No instructions in P could possibly
>>>>>>>>> escape this otherwise infinitely recursive emulation.
>>>>>>>>> (c) H aborts its emulation of P before its call to H is
>>>>>>>>> emulated.
>>>>>>>>
>>>>>>>> When you know that H simply implements the above algorithm
>>>>>>>> there is no need to see its source code. I am reserving the
>>>>>>>> publication of the 5 pages of the source code of the halt
>>>>>>>> decider for journal publication.
>>>>>>>
>>>>>>> Your H is not a pure function as it behaves differently
>>>>>>> depending on what is invoking it (it returns a decision answer
>>>>>>> to main() but not to P()) and it has side effects (aborting a
>>>>>>> simulation).
>>>>>>>
>>>>>>> /Flibble
>>>>>>>
>>>>>>
>>>>>> Finally a critique that has a reasonable basis.
>>>>>>
>>>>>> When I transformed H into a pure function of its inputs it always
>>>>>> has the same behavior no matter how it is invoked.
>>>>>>
>>>>>> The x86 emulation of P is aborted before P invokes H.
>>>>>
>>>>> Nope. Preventing a call to H is equivalent to H behaving
>>>>> differently for same inputs. Aborting a simulation is a side
>>>>> effect: pure functions do not have side effects.
>>>>>
>>>>> /Flibble
>>>>>
>>>>
>>>> In other words you are saying that a halt decider is simply not
>>>> allowed to report when it correctly detects that it is being called
>>>> in infinitely recursive simulation.
>>>
>>> I keep telling you this: the infinite recursion is NOT present when
>>> using a valid halt decider: your H is NOT a valid halt
>>> decider.
>>>
>>> Simulation is an erroneous approach as a simulating halt decider
>>> can not answer in finite time for a non-halting input as there is no
>>> proven general solution for detecting non-halting behaviour.
>>>
>>> /Flibble
>>>
>>
>> IN OTHER WORDS THOROUGH LACK OF TECHNICAL COMPETANCE OR DISHONESTLY
>> YOU DENY THIS VERIFIABLE FACT:
>>
>> The correct and complete x86 emulation of its input by H(P,P)
>> would never reach the "ret" instruction of P because both H and
>> P would remain stuck in infinitely nested emulation.
>
> For [Strachey 1965] (and the proofs based on it) H is NOT a simulating
> halt decider so there is no infinite recursion as there is no emulation.
>
> Valid halt deciders ANALYSE P, they do not EMULATE P.
>
> /Flibble
>


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation

<M_idneTbv7rvpyr_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34907&group=comp.theory#34907

  copy link   Newsgroups: comp.theory
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 11:40:18 -0500
Date: Sat, 25 Jun 2022 11:40:16 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation
Content-Language: en-US
Newsgroups: comp.theory
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<g9qdnRjZj9uBlS7_nZ2dnUU7_8zNnZ2d@giganews.com>
<0f7ed34c-5aaa-4858-885e-66e16777f599n@googlegroups.com>
<87a6a44s02.fsf@bsb.me.uk>
<a9adde1d-ad2c-444c-9b14-88841f5e8783n@googlegroups.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<t97d9j$135f$2@gioia.aioe.org>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <t97d9j$135f$2@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Message-ID: <M_idneTbv7rvpyr_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 54
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-kICcvM7ON2qaDBmi/+qsI+fpRJZcq4KuKHRKMPmkiUu31zSYilP4fNS6jiopp+Q5RvFnW4FNW+YMY4L!3gxIiK2CZ8TU4pGD9uI3PVbe5/ThJ5AlHMZe9bfS3VsRhbR1ldBkMBbHFnIreG7lxu2euoxSnreU
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 4268
 by: olcott - Sat, 25 Jun 2022 16:40 UTC

On 6/25/2022 11:31 AM, Python wrote:
> Demented bigot, Peter Olcott wrote:
> ...
>> In other words you are saying that a halt decider is simply not
>> allowed to report when it correctly detects that it is being called in
>> infinitely recursive simulation.
>>
>> We could also "prove" that a correct halt decider is impossible by
>> making another similar rule that halt deciders are simply not allowed
>> to report on infinite loops.
>
> You can also "prove" that a natural number that is both even and odd
> is even. It doesn't mean that such a number exists.
>
> Publish your code for H. We do have a proof (mutiple proofs) that it
> cannot exist as you specify it.

To fully understand this a software engineer must be an expert in:
(a) The C programming language.
(b) The x86 programming language.
(c) Exactly how C translates into x86 (how C function calls are
implemented in x86).
(d) The ability to recognize infinite recursion at the x86 assembly
language level.

The ordinary semantics of standard C and the conventional x86 language
are the entire semantics required to conclusively prove that H(P,P) does
correctly determine that its correct and complete x86 emulation of its
input would never reach the "ret" instruction (final state) of this
input thus never halts.

THIS IS ALL THAT IS NEEDED TO VERIFY THAT:
On 6/25/2022 10:03 AM, olcott wrote:
[Technically competent Software engineers can verify this halting
problem proof refutation]

> You know that we could, then, prove
> that it doesn't work. This is why you are not publishing it. You are
> a LIAR, a DELUSIONAL CRANK, a DESPICABLE FRAUD, Olcott.
>
>
> [AGAIN: STOP MULTI-POSTING WITHOUT FOLLOW-UP, YOU ASSHOLE!!!]
>

Multi-posting without followup to four relevant groups does not not seem
to breach netiquette guidelines and does get more reviewers of my work.

--
Copyright 2022 Pete Olcott

"Talent hits a target no one else can hit;
Genius hits a target no one else can see."
Arthur Schopenhauer

Re: Technically competent Software engineers can verify this halting problem proof refutation

<N9HtK.236183$70j.16465@fx16.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34908&group=comp.theory#34908

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx16.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<CaWdnZEntLawFS__nZ2dnUU7_83NnZ2d@giganews.com>
<ccb8af3c-e497-4d6e-8040-826a4e87a6e7n@googlegroups.com>
<g9qdnRjZj9uBlS7_nZ2dnUU7_8zNnZ2d@giganews.com>
<0f7ed34c-5aaa-4858-885e-66e16777f599n@googlegroups.com>
<87a6a44s02.fsf@bsb.me.uk>
<a9adde1d-ad2c-444c-9b14-88841f5e8783n@googlegroups.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 244
Message-ID: <N9HtK.236183$70j.16465@fx16.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 25 Jun 2022 12:59:25 -0400
X-Received-Bytes: 13032
 by: Richard Damon - Sat, 25 Jun 2022 16:59 UTC

On 6/25/22 11:19 AM, olcott wrote:
> On 6/25/2022 10:09 AM, Mr Flibble wrote:
>> On Sat, 25 Jun 2022 10:03:17 -0500
>> olcott <NoOne@NoWhere.com> wrote:
>>
>>> On 6/25/2022 9:28 AM, olcott wrote:
>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott wrote:
>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott wrote:
>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben Bacarisse
>>>>>>>>> wrote:
>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
>>>>>>>>>>> "Dry run" means that a human programmer looks at the code,
>>>>>>>>>>> and determines
>>>>>>>>>>> what it does, without actually executing it.
>>>>>>>>>>
>>>>>>>>>> Going back, now, to what you think needs to be resolved:
>>>>>>>>>> | He's dry-run P(P) and established that it doesn't halt.
>>>>>>>>>> He's invoked H
>>>>>>>>>> | on it and H reports that it doesn't halt. He's run P(P) and
>>>>>>>>>> it halts.
>>>>>>>>>> The obvious conclusion is that PO's dry run (if he has indeed
>>>>>>>>>> done such
>>>>>>>>>> a thing) is incorrect.
>>>>>>>>> Exactly.
>>>>>>>>> We do our little energy budget on tigers, and find that tigers
>>>>>>>>> spend more energy
>>>>>>>>> than they take in. Well potentially this is dynamite. One
>>>>>>>>> explanation is that the
>>>>>>>>> law of conservation of energy is wrong.
>>>>>>>>> Except, before we countenance that explanation, we need to
>>>>>>>>> rule out a much
>>>>>>>>> simpler explanation. Which is that our measurements are wrong.
>>>>>>>>>
>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should be
>>>>>>>>> doing, by dry-running
>>>>>>>>> it, and then actually run P(P) and obtained a different
>>>>>>>>> result. He also found that H
>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
>>>>>>>>> conclusion, but it is extensive
>>>>>>>>> and far-reaching in its implications. The behaviour of code
>>>>>>>>> when run is different
>>>>>>>>> from the correct behaviour of the code when simulated. If
>>>>>>>>> that's true, then it has
>>>>>>>>> similar implications for computer science that disproving the
>>>>>>>>> conservation law
>>>>>>>>> has for physics.
>>>>>>>>>
>>>>>>>>> But the obvious explanation is that the dry-run was incorrect.
>>>>>>>>> Lots of people have
>>>>>>>>> suggested why it is incorrect. But they can't actually see the
>>>>>>>>> code. PO needs to
>>>>>>>>> understand that no-one will accept the complicated,
>>>>>>>>> far-reaching explanation,
>>>>>>>>> until the simple explanation has been ruled out.
>>>>>>>>
>>>>>>>> I already proved that the dry run is correct.
>>>>>>> Someone reports that tigers use more energy than they take in,
>>>>>>> and concludes that
>>>>>>> the energy conservation law is incorrect.
>>>>>>> Naturally, everyone is going to say "There must be some mistake.
>>>>>>> How were your
>>>>>>> measurements taken? Show us your calculations, maybe you've got
>>>>>>> your sums wrong."
>>>>>>>
>>>>>>> Now if they are also uncooperative about sharing the details of
>>>>>>> the investigation,
>>>>>>> those reservations will be magnified. There can be legitimate
>>>>>>> reasons. Tigers are
>>>>>>> rare and need to be conserved, you can't let anyone who wants
>>>>>>> have access to the
>>>>>>> tigers to try to repeat the measurements. But there's also a
>>>>>>> common illegitimate
>>>>>>> reason put forwards by people who make extraordinary claims. If
>>>>>>> the claims were
>>>>>>> unexceptional, such as that tigers have a similar energy budget
>>>>>>> to lions, then no-one
>>>>>>> would be saying "Show me your notebooks. How do you know that
>>>>>>> calorimeter was
>>>>>>> calibrated accurately? What's the name of the person who took
>>>>>>> that measurement
>>>>>>> and can I interview them?" Extraordinary claims are put through
>>>>>>> the wringer in a way
>>>>>>> that ordinary ones are not. I've seen complaints about this from
>>>>>>> parapsychologists.
>>>>>>> But if you're going to claim to have discovered a new physical
>>>>>>> principle, you need
>>>>>>> to present rock solid evidence.
>>>>>>>
>>>>>>> In this case, we can't see H. We can only suggest explanations
>>>>>>> for its behaviour.
>>>>>> It seems that you simply lack the technical competence.
>>>>>> Go back and look at my proof again.
>>>>> Sorry no. I've been programming since I was a boy and I have a PhD
>>>>> in a computational-
>>>>> related subject. I'm confident of my technical abilities. What I
>>>>> can't do of course
>>>>> is tell you exactly what is going on in code I cannot see. I've
>>>>> got a pretty good idea,
>>>>> but I can only reconstruct on the basis of what you tell me. Ben
>>>>> thinks that I've
>>>>> got it wrong and in fact there are no nested emulations at all.
>>>>> I've no way of actually
>>>>> disproving that idea without seeing H.
>>>>
>>>> To fully understand this a software engineer must be an expert in:
>>>> (a) The C programming language,
>>>> (b) The x86 programming language,
>>>> (c) Exactly how C translates into x86 and,
>>>> (d) The ability to recognize infinite recursion at the x86 assembly
>>>> language level.
>>>>
>>>> Anyone having the above credentials can validate my work, if you
>>>> cannot validate my work then you do not sufficiently have the above
>>>> credentials.
>>>>
>>>> Exactly how C translates into x86 is mandatory. If you don't know
>>>> how the C calling conventions are implemented in x86 you cannot
>>>> validate my work.
>>>>
>>>>   From a purely software engineering perspective H(P,P) is required
>>>> to to correctly determine that its correct and complete x86
>>>> emulation of its input would never reach the "ret" instruction of
>>>> this input and H must do this in a finite number of steps.
>>>>
>>>> The ordinary semantics of standard C and the conventional x86
>>>> language are the entire semantics required to conclusively prove
>>>> that H(P,P) does correctly determine that its correct and complete
>>>> x86 emulation of its input would never reach the "ret" instruction
>>>> (final state) of this input thus never halts.
>>>>
>>>> The correct and complete x86 emulation of its input by H(P,P) would
>>>> never reach the "ret" instruction of P because both H and P would
>>>> remain stuck in infinitely nested emulation.
>>>>
>>>> void P(u32 x)
>>>> {
>>>>     if (H(x, x))
>>>>       HERE: goto HERE;
>>>>     return;
>>>> }
>>>>
>>>> int main()
>>>> {
>>>>     Output("Input_Halts = ", H((u32)P, (u32)P));
>>>> }
>>>>
>>>> _P()
>>>> [00001202](01)  55              push ebp
>>>> [00001203](02)  8bec            mov ebp,esp
>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
>>>> [00001208](01)  50              push eax
>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
>>>> [0000120c](01)  51              push ecx
>>>> [0000120d](05)  e820feffff      call 00001032
>>>> [00001212](03)  83c408          add esp,+08
>>>> [00001215](02)  85c0            test eax,eax
>>>> [00001217](02)  7402            jz 0000121b
>>>> [00001219](02)  ebfe            jmp 00001219
>>>> [0000121b](01)  5d              pop ebp
>>>> [0000121c](01)  c3              ret
>>>> Size in bytes:(0027) [0000121c]
>>>>
>>>> _main()
>>>> [00001222](01)  55              push ebp
>>>> [00001223](02)  8bec            mov ebp,esp
>>>> [00001225](05)  6802120000      push 00001202
>>>> [0000122a](05)  6802120000      push 00001202
>>>> [0000122f](05)  e8fefdffff      call 00001032
>>>> [00001234](03)  83c408          add esp,+08
>>>> [00001237](01)  50              push eax
>>>> [00001238](05)  68b3030000      push 000003b3
>>>> [0000123d](05)  e8c0f1ffff      call 00000402
>>>> [00001242](03)  83c408          add esp,+08
>>>> [00001245](02)  33c0            xor eax,eax
>>>> [00001247](01)  5d              pop ebp
>>>> [00001248](01)  c3              ret
>>>> Size in bytes:(0039) [00001248]
>>>>
>>>>    machine   stack     stack     machine    assembly
>>>>    address   address   data      code       language
>>>>    ========  ========  ========  =========  =============
>>>> [00001222][0010200f][00000000] 55         push ebp
>>>> [00001223][0010200f][00000000] 8bec       mov ebp,esp
>>>> [00001225][0010200b][00001202] 6802120000 push 00001202 // push P
>>>> [0000122a][00102007][00001202] 6802120000 push 00001202 // push P
>>>> [0000122f][00102003][00001234] e8fefdffff call 00001032 // call
>>>> executed H
>>>>
>>>> Begin Simulation   Execution Trace Stored at:2120c3
>>>> Address_of_H:1032
>>>> [00001202][002120af][002120b3] 55         push ebp
>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
>>>> [00001208][002120ab][00001202] 50         push eax      // push P
>>>> [00001209][002120ab][00001202] 8b4d08     mov ecx,[ebp+08]
>>>> [0000120c][002120a7][00001202] 51         push ecx      // push P
>>>> [0000120d][002120a3][00001212] e820feffff call 00001032 // call
>>>> emulated H Infinitely Recursive Simulation Detected Simulation
>>>> Stopped
>>>>
>>>> H knows its own machine address and on this basis it can easily
>>>> examine its stored execution_trace of P (see above) to determine:
>>>> (a) P is calling H with the same arguments that H was called with.
>>>> (b) No instructions in P could possibly escape this otherwise
>>>> infinitely recursive emulation.
>>>> (c) H aborts its emulation of P before its call to H is emulated.
>>>
>>> When you know that H simply implements the above algorithm there is
>>> no need to see its source code. I am reserving the publication of the
>>> 5 pages of the source code of the halt decider for journal
>>> publication.
>>
>> Your H is not a pure function as it behaves differently depending on
>> what is invoking it (it returns a decision answer to main() but not
>> to P()) and it has side effects (aborting a simulation).
>>
>> /Flibble
>>
>
> Finally a critique that has a reasonable basis.
>
> When I transformed H into a pure function of its inputs it always has
> the same behavior no matter how it is invoked.
>
> The x86 emulation of P is aborted before P invokes H.
>


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation

<ndHtK.236184$70j.134397@fx16.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34910&group=comp.theory#34910

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx16.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<87a6a44s02.fsf@bsb.me.uk>
<a9adde1d-ad2c-444c-9b14-88841f5e8783n@googlegroups.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220625165919.0000287e@reddwarf.jmc>
<_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 282
Message-ID: <ndHtK.236184$70j.134397@fx16.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 25 Jun 2022 13:03:15 -0400
X-Received-Bytes: 15487
 by: Richard Damon - Sat, 25 Jun 2022 17:03 UTC

On 6/25/22 12:06 PM, olcott wrote:
> On 6/25/2022 10:59 AM, Mr Flibble wrote:
>> On Sat, 25 Jun 2022 10:54:13 -0500
>> olcott <NoOne@NoWhere.com> wrote:
>>
>>> On 6/25/2022 10:21 AM, Mr Flibble wrote:
>>>> On Sat, 25 Jun 2022 10:19:02 -0500
>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>> On 6/25/2022 10:09 AM, Mr Flibble wrote:
>>>>>> On Sat, 25 Jun 2022 10:03:17 -0500
>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>> On 6/25/2022 9:28 AM, olcott wrote:
>>>>>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
>>>>>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott wrote:
>>>>>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
>>>>>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott wrote:
>>>>>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
>>>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben Bacarisse
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
>>>>>>>>>>>>>>> "Dry run" means that a human programmer looks at the
>>>>>>>>>>>>>>> code, and determines
>>>>>>>>>>>>>>> what it does, without actually executing it.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Going back, now, to what you think needs to be resolved:
>>>>>>>>>>>>>> | He's dry-run P(P) and established that it doesn't halt.
>>>>>>>>>>>>>> He's invoked H
>>>>>>>>>>>>>> | on it and H reports that it doesn't halt. He's run P(P)
>>>>>>>>>>>>>> and it halts.
>>>>>>>>>>>>>> The obvious conclusion is that PO's dry run (if he has
>>>>>>>>>>>>>> indeed done such
>>>>>>>>>>>>>> a thing) is incorrect.
>>>>>>>>>>>>> Exactly.
>>>>>>>>>>>>> We do our little energy budget on tigers, and find that
>>>>>>>>>>>>> tigers spend more energy
>>>>>>>>>>>>> than they take in. Well potentially this is dynamite. One
>>>>>>>>>>>>> explanation is that the
>>>>>>>>>>>>> law of conservation of energy is wrong.
>>>>>>>>>>>>> Except, before we countenance that explanation, we need to
>>>>>>>>>>>>> rule out a much
>>>>>>>>>>>>> simpler explanation. Which is that our measurements are
>>>>>>>>>>>>> wrong.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should be
>>>>>>>>>>>>> doing, by dry-running
>>>>>>>>>>>>> it, and then actually run P(P) and obtained a different
>>>>>>>>>>>>> result. He also found that H
>>>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
>>>>>>>>>>>>> conclusion, but it is extensive
>>>>>>>>>>>>> and far-reaching in its implications. The behaviour of code
>>>>>>>>>>>>> when run is different
>>>>>>>>>>>>> from the correct behaviour of the code when simulated. If
>>>>>>>>>>>>> that's true, then it has
>>>>>>>>>>>>> similar implications for computer science that disproving
>>>>>>>>>>>>> the conservation law
>>>>>>>>>>>>> has for physics.
>>>>>>>>>>>>>
>>>>>>>>>>>>> But the obvious explanation is that the dry-run was
>>>>>>>>>>>>> incorrect. Lots of people have
>>>>>>>>>>>>> suggested why it is incorrect. But they can't actually see
>>>>>>>>>>>>> the code. PO needs to
>>>>>>>>>>>>> understand that no-one will accept the complicated,
>>>>>>>>>>>>> far-reaching explanation,
>>>>>>>>>>>>> until the simple explanation has been ruled out.
>>>>>>>>>>>>
>>>>>>>>>>>> I already proved that the dry run is correct.
>>>>>>>>>>> Someone reports that tigers use more energy than they take
>>>>>>>>>>> in, and concludes that
>>>>>>>>>>> the energy conservation law is incorrect.
>>>>>>>>>>> Naturally, everyone is going to say "There must be some
>>>>>>>>>>> mistake. How were your
>>>>>>>>>>> measurements taken? Show us your calculations, maybe you've
>>>>>>>>>>> got your sums wrong."
>>>>>>>>>>>
>>>>>>>>>>> Now if they are also uncooperative about sharing the details
>>>>>>>>>>> of the investigation,
>>>>>>>>>>> those reservations will be magnified. There can be legitimate
>>>>>>>>>>> reasons. Tigers are
>>>>>>>>>>> rare and need to be conserved, you can't let anyone who wants
>>>>>>>>>>> have access to the
>>>>>>>>>>> tigers to try to repeat the measurements. But there's also a
>>>>>>>>>>> common illegitimate
>>>>>>>>>>> reason put forwards by people who make extraordinary claims.
>>>>>>>>>>> If the claims were
>>>>>>>>>>> unexceptional, such as that tigers have a similar energy
>>>>>>>>>>> budget to lions, then no-one
>>>>>>>>>>> would be saying "Show me your notebooks. How do you know that
>>>>>>>>>>> calorimeter was
>>>>>>>>>>> calibrated accurately? What's the name of the person who took
>>>>>>>>>>> that measurement
>>>>>>>>>>> and can I interview them?" Extraordinary claims are put
>>>>>>>>>>> through the wringer in a way
>>>>>>>>>>> that ordinary ones are not. I've seen complaints about this
>>>>>>>>>>> from parapsychologists.
>>>>>>>>>>> But if you're going to claim to have discovered a new
>>>>>>>>>>> physical principle, you need
>>>>>>>>>>> to present rock solid evidence.
>>>>>>>>>>>
>>>>>>>>>>> In this case, we can't see H. We can only suggest
>>>>>>>>>>> explanations for its behaviour.
>>>>>>>>>> It seems that you simply lack the technical competence.
>>>>>>>>>> Go back and look at my proof again.
>>>>>>>>> Sorry no. I've been programming since I was a boy and I have a
>>>>>>>>> PhD in a computational-
>>>>>>>>> related subject. I'm confident of my technical abilities. What
>>>>>>>>> I can't do of course
>>>>>>>>> is tell you exactly what is going on in code I cannot see. I've
>>>>>>>>> got a pretty good idea,
>>>>>>>>> but I can only reconstruct on the basis of what you tell me.
>>>>>>>>> Ben thinks that I've
>>>>>>>>> got it wrong and in fact there are no nested emulations at all.
>>>>>>>>> I've no way of actually
>>>>>>>>> disproving that idea without seeing H.
>>>>>>>>
>>>>>>>> To fully understand this a software engineer must be an expert
>>>>>>>> in: (a) The C programming language,
>>>>>>>> (b) The x86 programming language,
>>>>>>>> (c) Exactly how C translates into x86 and,
>>>>>>>> (d) The ability to recognize infinite recursion at the x86
>>>>>>>> assembly language level.
>>>>>>>>
>>>>>>>> Anyone having the above credentials can validate my work, if you
>>>>>>>> cannot validate my work then you do not sufficiently have the
>>>>>>>> above credentials.
>>>>>>>>
>>>>>>>> Exactly how C translates into x86 is mandatory. If you don't
>>>>>>>> know how the C calling conventions are implemented in x86 you
>>>>>>>> cannot validate my work.
>>>>>>>>
>>>>>>>>     From a purely software engineering perspective H(P,P) is
>>>>>>>> required to to correctly determine that its correct and complete
>>>>>>>> x86 emulation of its input would never reach the "ret"
>>>>>>>> instruction of this input and H must do this in a finite number
>>>>>>>> of steps.
>>>>>>>>
>>>>>>>> The ordinary semantics of standard C and the conventional x86
>>>>>>>> language are the entire semantics required to conclusively prove
>>>>>>>> that H(P,P) does correctly determine that its correct and
>>>>>>>> complete x86 emulation of its input would never reach the "ret"
>>>>>>>> instruction (final state) of this input thus never halts.
>>>>>>>>
>>>>>>>> The correct and complete x86 emulation of its input by H(P,P)
>>>>>>>> would never reach the "ret" instruction of P because both H and
>>>>>>>> P would remain stuck in infinitely nested emulation.
>>>>>>>>
>>>>>>>> void P(u32 x)
>>>>>>>> {
>>>>>>>>       if (H(x, x))
>>>>>>>>         HERE: goto HERE;
>>>>>>>>       return;
>>>>>>>> }
>>>>>>>>
>>>>>>>> int main()
>>>>>>>> {
>>>>>>>>       Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>>>> }
>>>>>>>>
>>>>>>>> _P()
>>>>>>>> [00001202](01)  55              push ebp
>>>>>>>> [00001203](02)  8bec            mov ebp,esp
>>>>>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
>>>>>>>> [00001208](01)  50              push eax
>>>>>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>> [0000120c](01)  51              push ecx
>>>>>>>> [0000120d](05)  e820feffff      call 00001032
>>>>>>>> [00001212](03)  83c408          add esp,+08
>>>>>>>> [00001215](02)  85c0            test eax,eax
>>>>>>>> [00001217](02)  7402            jz 0000121b
>>>>>>>> [00001219](02)  ebfe            jmp 00001219
>>>>>>>> [0000121b](01)  5d              pop ebp
>>>>>>>> [0000121c](01)  c3              ret
>>>>>>>> Size in bytes:(0027) [0000121c]
>>>>>>>>
>>>>>>>> _main()
>>>>>>>> [00001222](01)  55              push ebp
>>>>>>>> [00001223](02)  8bec            mov ebp,esp
>>>>>>>> [00001225](05)  6802120000      push 00001202
>>>>>>>> [0000122a](05)  6802120000      push 00001202
>>>>>>>> [0000122f](05)  e8fefdffff      call 00001032
>>>>>>>> [00001234](03)  83c408          add esp,+08
>>>>>>>> [00001237](01)  50              push eax
>>>>>>>> [00001238](05)  68b3030000      push 000003b3
>>>>>>>> [0000123d](05)  e8c0f1ffff      call 00000402
>>>>>>>> [00001242](03)  83c408          add esp,+08
>>>>>>>> [00001245](02)  33c0            xor eax,eax
>>>>>>>> [00001247](01)  5d              pop ebp
>>>>>>>> [00001248](01)  c3              ret
>>>>>>>> Size in bytes:(0039) [00001248]
>>>>>>>>
>>>>>>>>      machine   stack     stack     machine    assembly
>>>>>>>>      address   address   data      code       language
>>>>>>>>      ========  ========  ========  =========  =============
>>>>>>>> [00001222][0010200f][00000000] 55         push ebp
>>>>>>>> [00001223][0010200f][00000000] 8bec       mov ebp,esp
>>>>>>>> [00001225][0010200b][00001202] 6802120000 push 00001202 // push
>>>>>>>> P [0000122a][00102007][00001202] 6802120000 push 00001202 //
>>>>>>>> push P [0000122f][00102003][00001234] e8fefdffff call 00001032
>>>>>>>> // call executed H
>>>>>>>>
>>>>>>>> Begin Simulation   Execution Trace Stored at:2120c3
>>>>>>>> Address_of_H:1032
>>>>>>>> [00001202][002120af][002120b3] 55         push ebp
>>>>>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
>>>>>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
>>>>>>>> [00001208][002120ab][00001202] 50         push eax      // push
>>>>>>>> P [00001209][002120ab][00001202] 8b4d08     mov ecx,[ebp+08]
>>>>>>>> [0000120c][002120a7][00001202] 51         push ecx      // push
>>>>>>>> P [0000120d][002120a3][00001212] e820feffff call 00001032 //
>>>>>>>> call emulated H Infinitely Recursive Simulation Detected
>>>>>>>> Simulation Stopped
>>>>>>>>
>>>>>>>> H knows its own machine address and on this basis it can easily
>>>>>>>> examine its stored execution_trace of P (see above) to
>>>>>>>> determine: (a) P is calling H with the same arguments that H
>>>>>>>> was called with. (b) No instructions in P could possibly escape
>>>>>>>> this otherwise infinitely recursive emulation.
>>>>>>>> (c) H aborts its emulation of P before its call to H is
>>>>>>>> emulated.
>>>>>>>
>>>>>>> When you know that H simply implements the above algorithm there
>>>>>>> is no need to see its source code. I am reserving the
>>>>>>> publication of the 5 pages of the source code of the halt
>>>>>>> decider for journal publication.
>>>>>>
>>>>>> Your H is not a pure function as it behaves differently depending
>>>>>> on what is invoking it (it returns a decision answer to main()
>>>>>> but not to P()) and it has side effects (aborting a simulation).
>>>>>>
>>>>>> /Flibble
>>>>>
>>>>> Finally a critique that has a reasonable basis.
>>>>>
>>>>> When I transformed H into a pure function of its inputs it always
>>>>> has the same behavior no matter how it is invoked.
>>>>>
>>>>> The x86 emulation of P is aborted before P invokes H.
>>>> Nope. Preventing a call to H is equivalent to H behaving differently
>>>> for same inputs. Aborting a simulation is a side effect: pure
>>>> functions do not have side effects.
>>>>
>>>> /Flibble
>>>
>>> In other words you are saying that a halt decider is simply not
>>> allowed to report when it correctly detects that it is being called
>>> in infinitely recursive simulation.
>>
>> I keep telling you this: the infinite recursion is NOT present when
>> using a valid halt decider: your H is NOT a valid halt
>> decider.
>>
>> Simulation is an erroneous approach as a simulating halt decider
>> can not answer in finite time for a non-halting input as there is no
>> proven general solution for detecting non-halting behaviour.
>>
>> /Flibble
>>
>
> IN OTHER WORDS THOROUGH LACK OF TECHNICAL COMPETANCE OR DISHONESTLY YOU
> DENY THIS VERIFIABLE FACT:
>
> The correct and complete x86 emulation of its input by H(P,P)
> would never reach the "ret" instruction of P because both H and
> P would remain stuck in infinitely nested emulation.
>


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34911&group=comp.theory#34911

  copy link   Newsgroups: comp.theory
X-Received: by 2002:a05:600c:1c8d:b0:39c:4db1:5595 with SMTP id k13-20020a05600c1c8d00b0039c4db15595mr10114317wms.175.1656177684587;
Sat, 25 Jun 2022 10:21:24 -0700 (PDT)
X-Received: by 2002:a81:47d4:0:b0:318:5f2d:8a4a with SMTP id
u203-20020a8147d4000000b003185f2d8a4amr5417533ywa.248.1656177683847; Sat, 25
Jun 2022 10:21:23 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.theory
Date: Sat, 25 Jun 2022 10:21:23 -0700 (PDT)
In-Reply-To: <S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=89.240.148.226; posting-account=0B-afgoAAABP6274zLUJKa8ZpdIdhsYx
NNTP-Posting-Host: 89.240.148.226
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<de67d3d5-10f3-4e28-9b31-082e97c1145en@googlegroups.com> <MtadnVqn1dCkCy7_nZ2dnUU7_8zNnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com> <9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com> <SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com> <NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com> <AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com> <YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com> <Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com> <zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com> <S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
From: gw7...@aol.com (Paul N)
Injection-Date: Sat, 25 Jun 2022 17:21:24 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Paul N - Sat, 25 Jun 2022 17:21 UTC

On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
> On 6/25/2022 11:19 AM, Paul N wrote:
> > On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
> >> On 6/25/2022 6:56 AM, Paul N wrote:
> >>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
> >>>> On 6/24/2022 3:05 PM, Paul N wrote:
> >>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
> >>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
> >>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
> >>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
> >>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott wrote:
> >>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
> >>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott wrote:
> >>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
> >>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
> >>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
> >>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
> >>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
> >>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
> >>>>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
> >>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> _P()
> >>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
> >>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
> >>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
> >>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
> >>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
> >>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
> >>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
> >>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
> >>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
> >>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify
> >>>>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation of the input to H(P,P)
> >>>>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction of P because both H
> >>>>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is the case in a finite
> >>>>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input on this basis. Here
> >>>>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in a finite number of
> >>>>>>>>>>>>>>>>>>>>>> steps.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
> >>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>> u32 Address;
> >>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
> >>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
> >>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
> >>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
> >>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
> >>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
> >>>>>>>>>>>>>>>>>>>>>> address address data code language
> >>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========= =============
> >>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
> >>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax // push P
> >>>>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx // push P
> >>>>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff call 00000f02 // call H
> >>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the x86utm operating system
> >>>>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
> >>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>> HERE:
> >>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
> >>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
> >>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
> >>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded = (Decoded_Line_Of_Code*)
> >>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
> >>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
> >>>>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
> >>>>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
> >>>>>>>>>>>>>>>>>>>>>> u32 execution_trace =
> >>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
> >>>>>>>>>>>>>>>>>>>>>> * 1000);
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
> >>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); // 2022-06-11
> >>>>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code, slave_state, slave_stack);
> >>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace Stored at:",
> >>>>>>>>>>>>>>>>>>>>>> execution_trace);
> >>>>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace, &decoded, code_end,
> >>>>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack, Address_of_H, P, I))
> >>>>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
> >>>>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
> >>>>>>>>>>>>>>>>>>>>>> END_OF_CODE:
> >>>>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
> >>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this basis it can easily
> >>>>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and determine:
> >>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments that H was called with.
> >>>>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly escape this otherwise
> >>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its call to H is invoked.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers may not know this computer
> >>>>>>>>>>>>>>>>>>>>>> science:
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs to an
> >>>>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior that is
> >>>>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine will halt whenever it
> >>>>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and Automata.
> >>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company. (317-320)
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
> >>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>> H(x, x);
> >>>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
> >>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
> >>>>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
> >>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
> >>>>>>>>>>>>>>>>>>>>> Input_Halts = 0
> >>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
> >>>>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
> >>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
> >>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not been decided correctly.
> >>>>>>>>>>>>>>>>>>>>> QED.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> /Flibble
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically competent at software
> >>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C programming language,
> >>>>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C translates into x86 and
> >>>>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at the x86 assembly
> >>>>>>>>>>>>>>>>>>>> language level. No knowledge of the halting problem is required.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years C++ experience; I also
> >>>>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote a Zilog Z80A CPU
> >>>>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize an infinite recursion;
> >>>>>>>>>>>>>>>>>>> the problem is that you cannot recognize the fact that the infinite
> >>>>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid simulation-based
> >>>>>>>>>>>>>>>>>>> omnishambles:
> >>>>>>>>>>>>>>>>>> If you are competent then you already know this is true and lie about it:
> >>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
> >>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P because both H and P would
> >>>>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a computation, and a computation *always* gives the same output for a given input. So it doesn't make sense to say what it "would" do. It either does or does not perform a complete and correct emulation. And because H contains code to abort, and does abort, it does not do a complete emulation.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by definition does a correct and complete simulation, to see what the actual behavior is. UTM(Px,Px) halts, therefore H(Px,Px)==0 is wrong.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
> >>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px because both H and Px
> >>>>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> So you just repeated what you said instead of explaining why I'm wrong. In other words you provided no rebuttal, which can only be taken to mean that you have none.
> >>>>>>>>>>>>>> Your entire basis and all of assumptions was incorrect so when I
> >>>>>>>>>>>>>> provided an infallible one to that cannot possibly be correctly refuted
> >>>>>>>>>>>>>> you simply dodged it. That is a smart move for a dishonest person that
> >>>>>>>>>>>>>> is only interested in rebuttal.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> I dare you to go back to the prior post and find any error in my
> >>>>>>>>>>>>>> airtight correct reasoning. Another dodge will be construed as a tacit
> >>>>>>>>>>>>>> admission of defeat.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> As stated before H (or more accurately Ha) does not perform a complete and correct emulation because it aborts. So by definition it cannot be complete.
> >>>>>>>>>>>> I never claimed that H(P,P) performs a complete and correct emulation of
> >>>>>>>>>>>> its input so your rebuttal is the strawman deception.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its complete and correct
> >>>>>>>>>>>> x86 emulation of its input would never reach the "ret" instruction of P.
> >>>>>>>>>>>
> >>>>>>>>>>> But since H, or more accurately Ha, *can't* do a correct and complete emulation of its input, your point is moot.
> >>>>>>>>>> _Infinite_Loop()
> >>>>>>>>>> [00001082](01) 55 push ebp
> >>>>>>>>>> [00001083](02) 8bec mov ebp,esp
> >>>>>>>>>> [00001085](02) ebfe jmp 00001085
> >>>>>>>>>> [00001087](01) 5d pop ebp
> >>>>>>>>>> [00001088](01) c3 ret
> >>>>>>>>>> Size in bytes:(0007) [00001088]
> >>>>>>>>>>
> >>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:211e8f
> >>>>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
> >>>>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
> >>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
> >>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
> >>>>>>>>>> Infinite Loop Detected Simulation Stopped
> >>>>>>>>>>
> >>>>>>>>>> On the basis of this exact same utterly moronic reasoning because H
> >>>>>>>>>> *can't* do a correct and complete emulation of its input, H cannot
> >>>>>>>>>> possibly determine that _Infinite_Loop() never halts.
> >>>>>>>>>
> >>>>>>>>> Now who's using the strawman error? Just because H can determine that _Infinite_Loop does not halt doesn't mean that it gets other cases right. B
> >>>>>>>> You just said that H(P,P) cannot correctly predict that the correct and
> >>>>>>>> complete x86 emulation of its input would never reach the "ret"
> >>>>>>>> instruction of P without a compete x86 emulation of its input. I just
> >>>>>>>> proved that is a very stupid thing to say.
> >>>>>>>
> >>>>>>> You said that H can predict what *its* correct and complete emulation would do, and I said that doesn't make sense because H does not do correct and complete emulation. What H *must* do is predict what *the* correct and complete emulation, i.e. UTM(P,P), would do. And it fails to do that.
> >>>>>> From a purely software engineering perspective H(P,P) is required to to
> >>>>>> correctly determine that its correct and complete x86 emulation of its
> >>>>>> input would never reach the "ret" instruction of this input and H must
> >>>>>> do this in a finite number of steps.
> >>>>>>
> >>>>>> The ordinary semantics of standard C and the conventional x86 language
> >>>>>> are the entire semantics required to conclusively prove that H(P,P) does
> >>>>>> correctly determine that its correct and complete x86 emulation of its
> >>>>>> input would never reach the "ret" instruction.
> >>>>>>
> >>>>>> That you disagree with easily verified software engineering when you
> >>>>>> already know that this software engineering is correct speaks loads
> >>>>>> about your character.
> >>>>>>
> >>>>>> The only computer science that need be added to this is that the "ret"
> >>>>>> instruction is the final state of P and that a sequence of
> >>>>>> configurations that cannot possibly reach its final state is a
> >>>>>> non-halting sequence.
> >>>>>
> >>>>> You say that "H(P,P) is required to to correctly determine that its correct and complete x86 emulation of its input would never reach the "ret" instruction of this input". You seem to be assuming that H does an emulation of P, that this emulation includes emulating the call to H, that this call to H would start emulating the call to P, etc, etc, and so the call to P does not terminate.
> >>>>>
> >>>> Thanks for continuing to review this.
> >>>>
> >>>> No assumptions two years of software development derived fully
> >>>> operational software that conclusively proves this.
> >>>
> >>> It might help people's understanding if we had a few more examples. Suppose, in addition to the normal P and H, we have two more functions as follows:
> >>>
> >>> void Q(void)
> >>> {
> >>> if (H(P, P))
> >>> H2: goto H2;
> >>> return;
> >>> }
> >>>
> >>> void R(void)
> >>> {
> >>> H(P, P);
> >>> return;
> >>> }
> >>>
> >>> Will Q return? Will R return?
> >>>
> >> Yes they both return.
> >> void Q(void)
> >> {
> >> if (H(P, P))
> >> H2: goto H2;
> >> return;
> >> }
> >>
> >> void R(void)
> >> {
> >> H(P, P);
> >> return;
> >> }
> >> _P()
> >> [000011f0](01) 55 push ebp
> >> [000011f1](02) 8bec mov ebp,esp
> >> [000011f3](03) 8b4508 mov eax,[ebp+08]
> >> [000011f6](01) 50 push eax
> >> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
> >> [000011fa](01) 51 push ecx
> >> [000011fb](05) e820feffff call 00001020
> >> [00001200](03) 83c408 add esp,+08
> >> [00001203](02) 85c0 test eax,eax
> >> [00001205](02) 7402 jz 00001209
> >> [00001207](02) ebfe jmp 00001207
> >> [00001209](01) 5d pop ebp
> >> [0000120a](01) c3 ret
> >> Size in bytes:(0027) [0000120a]
> >>
> >> _Q()
> >> [00001210](01) 55 push ebp
> >> [00001211](02) 8bec mov ebp,esp
> >> [00001213](05) 68f0110000 push 000011f0
> >> [00001218](05) 68f0110000 push 000011f0
> >> [0000121d](05) e8fefdffff call 00001020
> >> [00001222](03) 83c408 add esp,+08
> >> [00001225](02) 85c0 test eax,eax
> >> [00001227](02) 7402 jz 0000122b
> >> [00001229](02) ebfe jmp 00001229
> >> [0000122b](01) 5d pop ebp
> >> [0000122c](01) c3 ret
> >> Size in bytes:(0029) [0000122c]
> >>
> >> _main()
> >> [00001250](01) 55 push ebp
> >> [00001251](02) 8bec mov ebp,esp
> >> [00001253](05) e8b8ffffff call 00001210
> >> [00001258](02) 33c0 xor eax,eax
> >> [0000125a](01) 5d pop ebp
> >> [0000125b](01) c3 ret
> >> Size in bytes:(0012) [0000125b]
> >> machine stack stack machine assembly
> >> address address data code language
> >> ======== ======== ======== ========= =============
> >> ...[00001250][00102048][00000000] 55 push ebp
> >> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> >> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
> >> ...[00001210][00102040][00102048] 55 push ebp
> >> ...[00001211][00102040][00102048] 8bec mov ebp,esp
> >> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
> >> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
> >> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
> >>
> >> Begin Simulation Execution Trace Stored at:2120fc
> >> Address_of_H:1020
> >> ...[000011f0][002120e8][002120ec] 55 push ebp
> >> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> >> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> >> ...[000011f6][002120e4][000011f0] 50 push eax
> >> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> >> ...[000011fa][002120e0][000011f0] 51 push ecx
> >> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> >> Infinitely Recursive Simulation Detected Simulation Stopped
> >> ...[00001222][00102040][00102048] 83c408 add esp,+08
> >> ...[00001225][00102040][00102048] 85c0 test eax,eax
> >> ...[00001227][00102040][00102048] 7402 jz 0000122b
> >> ...[0000122b][00102044][00001258] 5d pop ebp
> >> ...[0000122c][00102048][00000000] c3 ret
> >> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> >> ...[0000125a][0010204c][00100000] 5d pop ebp
> >> ...[0000125b][00102050][00000000] c3 ret
> >> Number of Instructions Executed(874)
> >>
> >> Above is:
> >> int main()
> >> {
> >> Q();
> >> //R();
> >> }
> >>
> >> ---
> >> machine stack stack machine assembly
> >> address address data code language
> >> ======== ======== ======== ========= =============
> >> ...[00001250][00102048][00000000] 55 push ebp
> >> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> >> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
> >> ...[00001230][00102040][00102048] 55 push ebp
> >> ...[00001231][00102040][00102048] 8bec mov ebp,esp
> >> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
> >> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
> >> ...[0000123d][00102034][00001242] e8defdffff call 00001020
> >>
> >> Begin Simulation Execution Trace Stored at:2120fc
> >> Address_of_H:1020
> >> ...[000011f0][002120e8][002120ec] 55 push ebp
> >> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> >> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> >> ...[000011f6][002120e4][000011f0] 50 push eax
> >> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> >> ...[000011fa][002120e0][000011f0] 51 push ecx
> >> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> >> Infinitely Recursive Simulation Detected Simulation Stopped
> >> ...[00001242][00102040][00102048] 83c408 add esp,+08
> >> ...[00001245][00102044][00001258] 5d pop ebp
> >> ...[00001246][00102048][00000000] c3 ret
> >> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> >> ...[0000125a][0010204c][00100000] 5d pop ebp
> >> ...[0000125b][00102050][00000000] c3 ret
> >> Number of Instructions Executed(872)
> >>
> >> Above is:
> >> int main()
> >> {
> >> //Q();
> >> R();
> >> }
> >
> > Right, so we're getting somewhere. Can you explain why Q() returns, and P(P) doesn't, when they both do the same thing in the same way?
> int main()
> {
> P(P);
> }
>
> does return.
>
> The correct and complete x86 emulation of its input by H(P,P)
> would never reach the "ret" instruction of P because both H and
> P would remain stuck in infinitely nested emulation.


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34914&group=comp.theory#34914

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 12:52:26 -0500
Date: Sat, 25 Jun 2022 12:52:24 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ tautology ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 487
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-2Ca+Xl4wTtzOPNDjLTQlp02Ta9EshNbnGsN2xweZtUaXsj0w5I05oc6OhPZxgCZmdX1mDBM6zTSBf0P!q34W8iXgFxV5/87KQzybvupoNQ7htFMW1UumteX2+grWcGSZ5bU1TtFDcwzB1ZqT4GDc9dsdhRnO
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 27838
 by: olcott - Sat, 25 Jun 2022 17:52 UTC

On 6/25/2022 12:21 PM, Paul N wrote:
> On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
>> On 6/25/2022 11:19 AM, Paul N wrote:
>>> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
>>>> On 6/25/2022 6:56 AM, Paul N wrote:
>>>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
>>>>>> On 6/24/2022 3:05 PM, Paul N wrote:
>>>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
>>>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
>>>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
>>>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott wrote:
>>>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
>>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
>>>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
>>>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> _P()
>>>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
>>>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
>>>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
>>>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
>>>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
>>>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
>>>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
>>>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
>>>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify
>>>>>>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation of the input to H(P,P)
>>>>>>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction of P because both H
>>>>>>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is the case in a finite
>>>>>>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input on this basis. Here
>>>>>>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in a finite number of
>>>>>>>>>>>>>>>>>>>>>>>> steps.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>> u32 Address;
>>>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
>>>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
>>>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
>>>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
>>>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
>>>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
>>>>>>>>>>>>>>>>>>>>>>>> address address data code language
>>>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========= =============
>>>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
>>>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax // push P
>>>>>>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx // push P
>>>>>>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff call 00000f02 // call H
>>>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the x86utm operating system
>>>>>>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>> HERE:
>>>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
>>>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
>>>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded = (Decoded_Line_Of_Code*)
>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
>>>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
>>>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace =
>>>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
>>>>>>>>>>>>>>>>>>>>>>>> * 1000);
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
>>>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); // 2022-06-11
>>>>>>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code, slave_state, slave_stack);
>>>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace Stored at:",
>>>>>>>>>>>>>>>>>>>>>>>> execution_trace);
>>>>>>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace, &decoded, code_end,
>>>>>>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack, Address_of_H, P, I))
>>>>>>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
>>>>>>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
>>>>>>>>>>>>>>>>>>>>>>>> END_OF_CODE:
>>>>>>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this basis it can easily
>>>>>>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and determine:
>>>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments that H was called with.
>>>>>>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly escape this otherwise
>>>>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its call to H is invoked.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers may not know this computer
>>>>>>>>>>>>>>>>>>>>>>>> science:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs to an
>>>>>>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior that is
>>>>>>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine will halt whenever it
>>>>>>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and Automata.
>>>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company. (317-320)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>> H(x, x);
>>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
>>>>>>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
>>>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
>>>>>>>>>>>>>>>>>>>>>>> Input_Halts = 0
>>>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
>>>>>>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
>>>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not been decided correctly.
>>>>>>>>>>>>>>>>>>>>>>> QED.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> /Flibble
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically competent at software
>>>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C programming language,
>>>>>>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C translates into x86 and
>>>>>>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at the x86 assembly
>>>>>>>>>>>>>>>>>>>>>> language level. No knowledge of the halting problem is required.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years C++ experience; I also
>>>>>>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote a Zilog Z80A CPU
>>>>>>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize an infinite recursion;
>>>>>>>>>>>>>>>>>>>>> the problem is that you cannot recognize the fact that the infinite
>>>>>>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid simulation-based
>>>>>>>>>>>>>>>>>>>>> omnishambles:
>>>>>>>>>>>>>>>>>>>> If you are competent then you already know this is true and lie about it:
>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
>>>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
>>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P because both H and P would
>>>>>>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a computation, and a computation *always* gives the same output for a given input. So it doesn't make sense to say what it "would" do. It either does or does not perform a complete and correct emulation. And because H contains code to abort, and does abort, it does not do a complete emulation.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by definition does a correct and complete simulation, to see what the actual behavior is. UTM(Px,Px) halts, therefore H(Px,Px)==0 is wrong.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px because both H and Px
>>>>>>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> So you just repeated what you said instead of explaining why I'm wrong. In other words you provided no rebuttal, which can only be taken to mean that you have none.
>>>>>>>>>>>>>>>> Your entire basis and all of assumptions was incorrect so when I
>>>>>>>>>>>>>>>> provided an infallible one to that cannot possibly be correctly refuted
>>>>>>>>>>>>>>>> you simply dodged it. That is a smart move for a dishonest person that
>>>>>>>>>>>>>>>> is only interested in rebuttal.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I dare you to go back to the prior post and find any error in my
>>>>>>>>>>>>>>>> airtight correct reasoning. Another dodge will be construed as a tacit
>>>>>>>>>>>>>>>> admission of defeat.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not perform a complete and correct emulation because it aborts. So by definition it cannot be complete.
>>>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and correct emulation of
>>>>>>>>>>>>>> its input so your rebuttal is the strawman deception.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its complete and correct
>>>>>>>>>>>>>> x86 emulation of its input would never reach the "ret" instruction of P.
>>>>>>>>>>>>>
>>>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a correct and complete emulation of its input, your point is moot.
>>>>>>>>>>>> _Infinite_Loop()
>>>>>>>>>>>> [00001082](01) 55 push ebp
>>>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
>>>>>>>>>>>> [00001085](02) ebfe jmp 00001085
>>>>>>>>>>>> [00001087](01) 5d pop ebp
>>>>>>>>>>>> [00001088](01) c3 ret
>>>>>>>>>>>> Size in bytes:(0007) [00001088]
>>>>>>>>>>>>
>>>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:211e8f
>>>>>>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
>>>>>>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
>>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>>>> Infinite Loop Detected Simulation Stopped
>>>>>>>>>>>>
>>>>>>>>>>>> On the basis of this exact same utterly moronic reasoning because H
>>>>>>>>>>>> *can't* do a correct and complete emulation of its input, H cannot
>>>>>>>>>>>> possibly determine that _Infinite_Loop() never halts.
>>>>>>>>>>>
>>>>>>>>>>> Now who's using the strawman error? Just because H can determine that _Infinite_Loop does not halt doesn't mean that it gets other cases right. B
>>>>>>>>>> You just said that H(P,P) cannot correctly predict that the correct and
>>>>>>>>>> complete x86 emulation of its input would never reach the "ret"
>>>>>>>>>> instruction of P without a compete x86 emulation of its input. I just
>>>>>>>>>> proved that is a very stupid thing to say.
>>>>>>>>>
>>>>>>>>> You said that H can predict what *its* correct and complete emulation would do, and I said that doesn't make sense because H does not do correct and complete emulation. What H *must* do is predict what *the* correct and complete emulation, i.e. UTM(P,P), would do. And it fails to do that.
>>>>>>>> From a purely software engineering perspective H(P,P) is required to to
>>>>>>>> correctly determine that its correct and complete x86 emulation of its
>>>>>>>> input would never reach the "ret" instruction of this input and H must
>>>>>>>> do this in a finite number of steps.
>>>>>>>>
>>>>>>>> The ordinary semantics of standard C and the conventional x86 language
>>>>>>>> are the entire semantics required to conclusively prove that H(P,P) does
>>>>>>>> correctly determine that its correct and complete x86 emulation of its
>>>>>>>> input would never reach the "ret" instruction.
>>>>>>>>
>>>>>>>> That you disagree with easily verified software engineering when you
>>>>>>>> already know that this software engineering is correct speaks loads
>>>>>>>> about your character.
>>>>>>>>
>>>>>>>> The only computer science that need be added to this is that the "ret"
>>>>>>>> instruction is the final state of P and that a sequence of
>>>>>>>> configurations that cannot possibly reach its final state is a
>>>>>>>> non-halting sequence.
>>>>>>>
>>>>>>> You say that "H(P,P) is required to to correctly determine that its correct and complete x86 emulation of its input would never reach the "ret" instruction of this input". You seem to be assuming that H does an emulation of P, that this emulation includes emulating the call to H, that this call to H would start emulating the call to P, etc, etc, and so the call to P does not terminate.
>>>>>>>
>>>>>> Thanks for continuing to review this.
>>>>>>
>>>>>> No assumptions two years of software development derived fully
>>>>>> operational software that conclusively proves this.
>>>>>
>>>>> It might help people's understanding if we had a few more examples. Suppose, in addition to the normal P and H, we have two more functions as follows:
>>>>>
>>>>> void Q(void)
>>>>> {
>>>>> if (H(P, P))
>>>>> H2: goto H2;
>>>>> return;
>>>>> }
>>>>>
>>>>> void R(void)
>>>>> {
>>>>> H(P, P);
>>>>> return;
>>>>> }
>>>>>
>>>>> Will Q return? Will R return?
>>>>>
>>>> Yes they both return.
>>>> void Q(void)
>>>> {
>>>> if (H(P, P))
>>>> H2: goto H2;
>>>> return;
>>>> }
>>>>
>>>> void R(void)
>>>> {
>>>> H(P, P);
>>>> return;
>>>> }
>>>> _P()
>>>> [000011f0](01) 55 push ebp
>>>> [000011f1](02) 8bec mov ebp,esp
>>>> [000011f3](03) 8b4508 mov eax,[ebp+08]
>>>> [000011f6](01) 50 push eax
>>>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
>>>> [000011fa](01) 51 push ecx
>>>> [000011fb](05) e820feffff call 00001020
>>>> [00001200](03) 83c408 add esp,+08
>>>> [00001203](02) 85c0 test eax,eax
>>>> [00001205](02) 7402 jz 00001209
>>>> [00001207](02) ebfe jmp 00001207
>>>> [00001209](01) 5d pop ebp
>>>> [0000120a](01) c3 ret
>>>> Size in bytes:(0027) [0000120a]
>>>>
>>>> _Q()
>>>> [00001210](01) 55 push ebp
>>>> [00001211](02) 8bec mov ebp,esp
>>>> [00001213](05) 68f0110000 push 000011f0
>>>> [00001218](05) 68f0110000 push 000011f0
>>>> [0000121d](05) e8fefdffff call 00001020
>>>> [00001222](03) 83c408 add esp,+08
>>>> [00001225](02) 85c0 test eax,eax
>>>> [00001227](02) 7402 jz 0000122b
>>>> [00001229](02) ebfe jmp 00001229
>>>> [0000122b](01) 5d pop ebp
>>>> [0000122c](01) c3 ret
>>>> Size in bytes:(0029) [0000122c]
>>>>
>>>> _main()
>>>> [00001250](01) 55 push ebp
>>>> [00001251](02) 8bec mov ebp,esp
>>>> [00001253](05) e8b8ffffff call 00001210
>>>> [00001258](02) 33c0 xor eax,eax
>>>> [0000125a](01) 5d pop ebp
>>>> [0000125b](01) c3 ret
>>>> Size in bytes:(0012) [0000125b]
>>>> machine stack stack machine assembly
>>>> address address data code language
>>>> ======== ======== ======== ========= =============
>>>> ...[00001250][00102048][00000000] 55 push ebp
>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>>>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
>>>> ...[00001210][00102040][00102048] 55 push ebp
>>>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
>>>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
>>>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
>>>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
>>>>
>>>> Begin Simulation Execution Trace Stored at:2120fc
>>>> Address_of_H:1020
>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>>>> ...[000011f6][002120e4][000011f0] 50 push eax
>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>> ...[00001222][00102040][00102048] 83c408 add esp,+08
>>>> ...[00001225][00102040][00102048] 85c0 test eax,eax
>>>> ...[00001227][00102040][00102048] 7402 jz 0000122b
>>>> ...[0000122b][00102044][00001258] 5d pop ebp
>>>> ...[0000122c][00102048][00000000] c3 ret
>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
>>>> ...[0000125b][00102050][00000000] c3 ret
>>>> Number of Instructions Executed(874)
>>>>
>>>> Above is:
>>>> int main()
>>>> {
>>>> Q();
>>>> //R();
>>>> }
>>>>
>>>> ---
>>>> machine stack stack machine assembly
>>>> address address data code language
>>>> ======== ======== ======== ========= =============
>>>> ...[00001250][00102048][00000000] 55 push ebp
>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>>>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
>>>> ...[00001230][00102040][00102048] 55 push ebp
>>>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
>>>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
>>>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
>>>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
>>>>
>>>> Begin Simulation Execution Trace Stored at:2120fc
>>>> Address_of_H:1020
>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>>>> ...[000011f6][002120e4][000011f0] 50 push eax
>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>> ...[00001242][00102040][00102048] 83c408 add esp,+08
>>>> ...[00001245][00102044][00001258] 5d pop ebp
>>>> ...[00001246][00102048][00000000] c3 ret
>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
>>>> ...[0000125b][00102050][00000000] c3 ret
>>>> Number of Instructions Executed(872)
>>>>
>>>> Above is:
>>>> int main()
>>>> {
>>>> //Q();
>>>> R();
>>>> }
>>>
>>> Right, so we're getting somewhere. Can you explain why Q() returns, and P(P) doesn't, when they both do the same thing in the same way?
>> int main()
>> {
>> P(P);
>> }
>>
>> does return.
>>
>> The correct and complete x86 emulation of its input by H(P,P)
>> would never reach the "ret" instruction of P because both H and
>> P would remain stuck in infinitely nested emulation.
>
> These last two statements of yours are a contradiction.
>
> If P(P) returns, then a CORRECT emulation of it will reach the ret instruction. An emulation that runs forever, when P(P) does not, is not a correct emulation.


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34915&group=comp.theory#34915

  copy link   Newsgroups: comp.theory
X-Received: by 2002:a05:600c:210a:b0:3a0:3be1:fb8b with SMTP id u10-20020a05600c210a00b003a03be1fb8bmr5702478wml.195.1656183501375;
Sat, 25 Jun 2022 11:58:21 -0700 (PDT)
X-Received: by 2002:a25:e750:0:b0:66c:8064:624 with SMTP id
e77-20020a25e750000000b0066c80640624mr5395331ybh.632.1656183500875; Sat, 25
Jun 2022 11:58:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.theory
Date: Sat, 25 Jun 2022 11:58:20 -0700 (PDT)
In-Reply-To: <w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=89.240.148.226; posting-account=0B-afgoAAABP6274zLUJKa8ZpdIdhsYx
NNTP-Posting-Host: 89.240.148.226
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com> <9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com> <SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com> <NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com> <AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com> <YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com> <Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com> <zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com> <S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com> <w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ tautology ]
From: gw7...@aol.com (Paul N)
Injection-Date: Sat, 25 Jun 2022 18:58:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Paul N - Sat, 25 Jun 2022 18:58 UTC

On Saturday, June 25, 2022 at 6:52:33 PM UTC+1, olcott wrote:
> On 6/25/2022 12:21 PM, Paul N wrote:
> > On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
> >> On 6/25/2022 11:19 AM, Paul N wrote:
> >>> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
> >>>> On 6/25/2022 6:56 AM, Paul N wrote:
> >>>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
> >>>>>> On 6/24/2022 3:05 PM, Paul N wrote:
> >>>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
> >>>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
> >>>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
> >>>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
> >>>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott wrote:
> >>>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
> >>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
> >>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
> >>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
> >>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
> >>>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
> >>>>>>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
> >>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> _P()
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
> >>>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
> >>>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
> >>>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
> >>>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
> >>>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
> >>>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
> >>>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify
> >>>>>>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation of the input to H(P,P)
> >>>>>>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction of P because both H
> >>>>>>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is the case in a finite
> >>>>>>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input on this basis. Here
> >>>>>>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in a finite number of
> >>>>>>>>>>>>>>>>>>>>>>>> steps.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
> >>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>> u32 Address;
> >>>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
> >>>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
> >>>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
> >>>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
> >>>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
> >>>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
> >>>>>>>>>>>>>>>>>>>>>>>> address address data code language
> >>>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========= =============
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax // push P
> >>>>>>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx // push P
> >>>>>>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff call 00000f02 // call H
> >>>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the x86utm operating system
> >>>>>>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
> >>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>> HERE:
> >>>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
> >>>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
> >>>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
> >>>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded = (Decoded_Line_Of_Code*)
> >>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
> >>>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
> >>>>>>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
> >>>>>>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
> >>>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace =
> >>>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
> >>>>>>>>>>>>>>>>>>>>>>>> * 1000);
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
> >>>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); // 2022-06-11
> >>>>>>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code, slave_state, slave_stack);
> >>>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace Stored at:",
> >>>>>>>>>>>>>>>>>>>>>>>> execution_trace);
> >>>>>>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace, &decoded, code_end,
> >>>>>>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack, Address_of_H, P, I))
> >>>>>>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
> >>>>>>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
> >>>>>>>>>>>>>>>>>>>>>>>> END_OF_CODE:
> >>>>>>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
> >>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this basis it can easily
> >>>>>>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and determine:
> >>>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments that H was called with.
> >>>>>>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly escape this otherwise
> >>>>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its call to H is invoked.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers may not know this computer
> >>>>>>>>>>>>>>>>>>>>>>>> science:
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs to an
> >>>>>>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior that is
> >>>>>>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine will halt whenever it
> >>>>>>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and Automata.
> >>>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company. (317-320)
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
> >>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>> H(x, x);
> >>>>>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
> >>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
> >>>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
> >>>>>>>>>>>>>>>>>>>>>>> Input_Halts = 0
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
> >>>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
> >>>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not been decided correctly.
> >>>>>>>>>>>>>>>>>>>>>>> QED.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> /Flibble
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically competent at software
> >>>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C programming language,
> >>>>>>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C translates into x86 and
> >>>>>>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at the x86 assembly
> >>>>>>>>>>>>>>>>>>>>>> language level. No knowledge of the halting problem is required.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years C++ experience; I also
> >>>>>>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote a Zilog Z80A CPU
> >>>>>>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize an infinite recursion;
> >>>>>>>>>>>>>>>>>>>>> the problem is that you cannot recognize the fact that the infinite
> >>>>>>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid simulation-based
> >>>>>>>>>>>>>>>>>>>>> omnishambles:
> >>>>>>>>>>>>>>>>>>>> If you are competent then you already know this is true and lie about it:
> >>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
> >>>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P because both H and P would
> >>>>>>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a computation, and a computation *always* gives the same output for a given input. So it doesn't make sense to say what it "would" do. It either does or does not perform a complete and correct emulation. And because H contains code to abort, and does abort, it does not do a complete emulation.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by definition does a correct and complete simulation, to see what the actual behavior is. UTM(Px,Px) halts, therefore H(Px,Px)==0 is wrong.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
> >>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px because both H and Px
> >>>>>>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> So you just repeated what you said instead of explaining why I'm wrong. In other words you provided no rebuttal, which can only be taken to mean that you have none.
> >>>>>>>>>>>>>>>> Your entire basis and all of assumptions was incorrect so when I
> >>>>>>>>>>>>>>>> provided an infallible one to that cannot possibly be correctly refuted
> >>>>>>>>>>>>>>>> you simply dodged it. That is a smart move for a dishonest person that
> >>>>>>>>>>>>>>>> is only interested in rebuttal.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> I dare you to go back to the prior post and find any error in my
> >>>>>>>>>>>>>>>> airtight correct reasoning. Another dodge will be construed as a tacit
> >>>>>>>>>>>>>>>> admission of defeat.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not perform a complete and correct emulation because it aborts. So by definition it cannot be complete.
> >>>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and correct emulation of
> >>>>>>>>>>>>>> its input so your rebuttal is the strawman deception.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its complete and correct
> >>>>>>>>>>>>>> x86 emulation of its input would never reach the "ret" instruction of P.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a correct and complete emulation of its input, your point is moot.
> >>>>>>>>>>>> _Infinite_Loop()
> >>>>>>>>>>>> [00001082](01) 55 push ebp
> >>>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
> >>>>>>>>>>>> [00001085](02) ebfe jmp 00001085
> >>>>>>>>>>>> [00001087](01) 5d pop ebp
> >>>>>>>>>>>> [00001088](01) c3 ret
> >>>>>>>>>>>> Size in bytes:(0007) [00001088]
> >>>>>>>>>>>>
> >>>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:211e8f
> >>>>>>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
> >>>>>>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
> >>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
> >>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
> >>>>>>>>>>>> Infinite Loop Detected Simulation Stopped
> >>>>>>>>>>>>
> >>>>>>>>>>>> On the basis of this exact same utterly moronic reasoning because H
> >>>>>>>>>>>> *can't* do a correct and complete emulation of its input, H cannot
> >>>>>>>>>>>> possibly determine that _Infinite_Loop() never halts.
> >>>>>>>>>>>
> >>>>>>>>>>> Now who's using the strawman error? Just because H can determine that _Infinite_Loop does not halt doesn't mean that it gets other cases right. B
> >>>>>>>>>> You just said that H(P,P) cannot correctly predict that the correct and
> >>>>>>>>>> complete x86 emulation of its input would never reach the "ret"
> >>>>>>>>>> instruction of P without a compete x86 emulation of its input. I just
> >>>>>>>>>> proved that is a very stupid thing to say.
> >>>>>>>>>
> >>>>>>>>> You said that H can predict what *its* correct and complete emulation would do, and I said that doesn't make sense because H does not do correct and complete emulation. What H *must* do is predict what *the* correct and complete emulation, i.e. UTM(P,P), would do. And it fails to do that..
> >>>>>>>> From a purely software engineering perspective H(P,P) is required to to
> >>>>>>>> correctly determine that its correct and complete x86 emulation of its
> >>>>>>>> input would never reach the "ret" instruction of this input and H must
> >>>>>>>> do this in a finite number of steps.
> >>>>>>>>
> >>>>>>>> The ordinary semantics of standard C and the conventional x86 language
> >>>>>>>> are the entire semantics required to conclusively prove that H(P,P) does
> >>>>>>>> correctly determine that its correct and complete x86 emulation of its
> >>>>>>>> input would never reach the "ret" instruction.
> >>>>>>>>
> >>>>>>>> That you disagree with easily verified software engineering when you
> >>>>>>>> already know that this software engineering is correct speaks loads
> >>>>>>>> about your character.
> >>>>>>>>
> >>>>>>>> The only computer science that need be added to this is that the "ret"
> >>>>>>>> instruction is the final state of P and that a sequence of
> >>>>>>>> configurations that cannot possibly reach its final state is a
> >>>>>>>> non-halting sequence.
> >>>>>>>
> >>>>>>> You say that "H(P,P) is required to to correctly determine that its correct and complete x86 emulation of its input would never reach the "ret" instruction of this input". You seem to be assuming that H does an emulation of P, that this emulation includes emulating the call to H, that this call to H would start emulating the call to P, etc, etc, and so the call to P does not terminate.
> >>>>>>>
> >>>>>> Thanks for continuing to review this.
> >>>>>>
> >>>>>> No assumptions two years of software development derived fully
> >>>>>> operational software that conclusively proves this.
> >>>>>
> >>>>> It might help people's understanding if we had a few more examples. Suppose, in addition to the normal P and H, we have two more functions as follows:
> >>>>>
> >>>>> void Q(void)
> >>>>> {
> >>>>> if (H(P, P))
> >>>>> H2: goto H2;
> >>>>> return;
> >>>>> }
> >>>>>
> >>>>> void R(void)
> >>>>> {
> >>>>> H(P, P);
> >>>>> return;
> >>>>> }
> >>>>>
> >>>>> Will Q return? Will R return?
> >>>>>
> >>>> Yes they both return.
> >>>> void Q(void)
> >>>> {
> >>>> if (H(P, P))
> >>>> H2: goto H2;
> >>>> return;
> >>>> }
> >>>>
> >>>> void R(void)
> >>>> {
> >>>> H(P, P);
> >>>> return;
> >>>> }
> >>>> _P()
> >>>> [000011f0](01) 55 push ebp
> >>>> [000011f1](02) 8bec mov ebp,esp
> >>>> [000011f3](03) 8b4508 mov eax,[ebp+08]
> >>>> [000011f6](01) 50 push eax
> >>>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
> >>>> [000011fa](01) 51 push ecx
> >>>> [000011fb](05) e820feffff call 00001020
> >>>> [00001200](03) 83c408 add esp,+08
> >>>> [00001203](02) 85c0 test eax,eax
> >>>> [00001205](02) 7402 jz 00001209
> >>>> [00001207](02) ebfe jmp 00001207
> >>>> [00001209](01) 5d pop ebp
> >>>> [0000120a](01) c3 ret
> >>>> Size in bytes:(0027) [0000120a]
> >>>>
> >>>> _Q()
> >>>> [00001210](01) 55 push ebp
> >>>> [00001211](02) 8bec mov ebp,esp
> >>>> [00001213](05) 68f0110000 push 000011f0
> >>>> [00001218](05) 68f0110000 push 000011f0
> >>>> [0000121d](05) e8fefdffff call 00001020
> >>>> [00001222](03) 83c408 add esp,+08
> >>>> [00001225](02) 85c0 test eax,eax
> >>>> [00001227](02) 7402 jz 0000122b
> >>>> [00001229](02) ebfe jmp 00001229
> >>>> [0000122b](01) 5d pop ebp
> >>>> [0000122c](01) c3 ret
> >>>> Size in bytes:(0029) [0000122c]
> >>>>
> >>>> _main()
> >>>> [00001250](01) 55 push ebp
> >>>> [00001251](02) 8bec mov ebp,esp
> >>>> [00001253](05) e8b8ffffff call 00001210
> >>>> [00001258](02) 33c0 xor eax,eax
> >>>> [0000125a](01) 5d pop ebp
> >>>> [0000125b](01) c3 ret
> >>>> Size in bytes:(0012) [0000125b]
> >>>> machine stack stack machine assembly
> >>>> address address data code language
> >>>> ======== ======== ======== ========= =============
> >>>> ...[00001250][00102048][00000000] 55 push ebp
> >>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> >>>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
> >>>> ...[00001210][00102040][00102048] 55 push ebp
> >>>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
> >>>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
> >>>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
> >>>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
> >>>>
> >>>> Begin Simulation Execution Trace Stored at:2120fc
> >>>> Address_of_H:1020
> >>>> ...[000011f0][002120e8][002120ec] 55 push ebp
> >>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> >>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> >>>> ...[000011f6][002120e4][000011f0] 50 push eax
> >>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> >>>> ...[000011fa][002120e0][000011f0] 51 push ecx
> >>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> >>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>> ...[00001222][00102040][00102048] 83c408 add esp,+08
> >>>> ...[00001225][00102040][00102048] 85c0 test eax,eax
> >>>> ...[00001227][00102040][00102048] 7402 jz 0000122b
> >>>> ...[0000122b][00102044][00001258] 5d pop ebp
> >>>> ...[0000122c][00102048][00000000] c3 ret
> >>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> >>>> ...[0000125a][0010204c][00100000] 5d pop ebp
> >>>> ...[0000125b][00102050][00000000] c3 ret
> >>>> Number of Instructions Executed(874)
> >>>>
> >>>> Above is:
> >>>> int main()
> >>>> {
> >>>> Q();
> >>>> //R();
> >>>> }
> >>>>
> >>>> ---
> >>>> machine stack stack machine assembly
> >>>> address address data code language
> >>>> ======== ======== ======== ========= =============
> >>>> ...[00001250][00102048][00000000] 55 push ebp
> >>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> >>>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
> >>>> ...[00001230][00102040][00102048] 55 push ebp
> >>>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
> >>>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
> >>>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
> >>>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
> >>>>
> >>>> Begin Simulation Execution Trace Stored at:2120fc
> >>>> Address_of_H:1020
> >>>> ...[000011f0][002120e8][002120ec] 55 push ebp
> >>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> >>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> >>>> ...[000011f6][002120e4][000011f0] 50 push eax
> >>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> >>>> ...[000011fa][002120e0][000011f0] 51 push ecx
> >>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> >>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>> ...[00001242][00102040][00102048] 83c408 add esp,+08
> >>>> ...[00001245][00102044][00001258] 5d pop ebp
> >>>> ...[00001246][00102048][00000000] c3 ret
> >>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> >>>> ...[0000125a][0010204c][00100000] 5d pop ebp
> >>>> ...[0000125b][00102050][00000000] c3 ret
> >>>> Number of Instructions Executed(872)
> >>>>
> >>>> Above is:
> >>>> int main()
> >>>> {
> >>>> //Q();
> >>>> R();
> >>>> }
> >>>
> >>> Right, so we're getting somewhere. Can you explain why Q() returns, and P(P) doesn't, when they both do the same thing in the same way?
> >> int main()
> >> {
> >> P(P);
> >> }
> >>
> >> does return.
> >>
> >> The correct and complete x86 emulation of its input by H(P,P)
> >> would never reach the "ret" instruction of P because both H and
> >> P would remain stuck in infinitely nested emulation.
> >
> > These last two statements of yours are a contradiction.
> >
> > If P(P) returns, then a CORRECT emulation of it will reach the ret instruction. An emulation that runs forever, when P(P) does not, is not a correct emulation.
>
> The ordinary semantics of standard C and the conventional x86 language
> are the entire semantics required to conclusively prove that H(P,P)
> *does correctly predict*
> that its correct and complete x86 emulation of its input would never
> reach the "ret" instruction (final state) of this input thus never halts.
> The correct and complete x86 emulation of its input by H would never
> reach the "ret" instruction of P because both H and P would remain stuck
> in infinitely nested emulation.
>
> I need reviewers like you so that I can *fine tune* my words.


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation

<20220625201230.00000c34@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34916&group=comp.theory#34916

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx01.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
Subject: Re: Technically competent Software engineers can verify this
halting problem proof refutation
Message-ID: <20220625201230.00000c34@reddwarf.jmc>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220625165919.0000287e@reddwarf.jmc>
<_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
<20220625172518.00002fb8@reddwarf.jmc>
<S8udnWfpo60QpSr_nZ2dnUU7_8xh4p2d@giganews.com>
Organization: Jupiter Mining Corp
X-Newsreader: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-w64-mingw32)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Lines: 354
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Sat, 25 Jun 2022 19:12:26 UTC
Date: Sat, 25 Jun 2022 20:12:30 +0100
X-Received-Bytes: 18023
 by: Mr Flibble - Sat, 25 Jun 2022 19:12 UTC

On Sat, 25 Jun 2022 11:32:12 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/25/2022 11:25 AM, Mr Flibble wrote:
> > On Sat, 25 Jun 2022 11:06:12 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/25/2022 10:59 AM, Mr Flibble wrote:
> >>> On Sat, 25 Jun 2022 10:54:13 -0500
> >>> olcott <NoOne@NoWhere.com> wrote:
> >>>
> >>>> On 6/25/2022 10:21 AM, Mr Flibble wrote:
> >>>>> On Sat, 25 Jun 2022 10:19:02 -0500
> >>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>
> >>>>>> On 6/25/2022 10:09 AM, Mr Flibble wrote:
> >>>>>>> On Sat, 25 Jun 2022 10:03:17 -0500
> >>>>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>>>
> >>>>>>>> On 6/25/2022 9:28 AM, olcott wrote:
> >>>>>>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
> >>>>>>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott wrote:
> >>>>>>>>>>
> >>>>>>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
> >>>>>>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
> >>>>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben
> >>>>>>>>>>>>>> Bacarisse wrote:
> >>>>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> "Dry run" means that a human programmer looks at the
> >>>>>>>>>>>>>>>> code, and determines
> >>>>>>>>>>>>>>>> what it does, without actually executing it.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Going back, now, to what you think needs to be
> >>>>>>>>>>>>>>> resolved: | He's dry-run P(P) and established that it
> >>>>>>>>>>>>>>> doesn't halt. He's invoked H
> >>>>>>>>>>>>>>> | on it and H reports that it doesn't halt. He's run
> >>>>>>>>>>>>>>> P(P) and it halts.
> >>>>>>>>>>>>>>> The obvious conclusion is that PO's dry run (if he has
> >>>>>>>>>>>>>>> indeed done such
> >>>>>>>>>>>>>>> a thing) is incorrect.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Exactly.
> >>>>>>>>>>>>>> We do our little energy budget on tigers, and find that
> >>>>>>>>>>>>>> tigers spend more energy
> >>>>>>>>>>>>>> than they take in. Well potentially this is dynamite.
> >>>>>>>>>>>>>> One explanation is that the
> >>>>>>>>>>>>>> law of conservation of energy is wrong.
> >>>>>>>>>>>>>> Except, before we countenance that explanation, we need
> >>>>>>>>>>>>>> to rule out a much
> >>>>>>>>>>>>>> simpler explanation. Which is that our measurements are
> >>>>>>>>>>>>>> wrong.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should
> >>>>>>>>>>>>>> be doing, by dry-running
> >>>>>>>>>>>>>> it, and then actually run P(P) and obtained a different
> >>>>>>>>>>>>>> result. He also found that H
> >>>>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
> >>>>>>>>>>>>>> conclusion, but it is extensive
> >>>>>>>>>>>>>> and far-reaching in its implications. The behaviour of
> >>>>>>>>>>>>>> code when run is different
> >>>>>>>>>>>>>> from the correct behaviour of the code when simulated.
> >>>>>>>>>>>>>> If that's true, then it has
> >>>>>>>>>>>>>> similar implications for computer science that
> >>>>>>>>>>>>>> disproving the conservation law
> >>>>>>>>>>>>>> has for physics.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> But the obvious explanation is that the dry-run was
> >>>>>>>>>>>>>> incorrect. Lots of people have
> >>>>>>>>>>>>>> suggested why it is incorrect. But they can't actually
> >>>>>>>>>>>>>> see the code. PO needs to
> >>>>>>>>>>>>>> understand that no-one will accept the complicated,
> >>>>>>>>>>>>>> far-reaching explanation,
> >>>>>>>>>>>>>> until the simple explanation has been ruled out.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I already proved that the dry run is correct.
> >>>>>>>>>>>>>
> >>>>>>>>>>>> Someone reports that tigers use more energy than they
> >>>>>>>>>>>> take in, and concludes that
> >>>>>>>>>>>> the energy conservation law is incorrect.
> >>>>>>>>>>>> Naturally, everyone is going to say "There must be some
> >>>>>>>>>>>> mistake. How were your
> >>>>>>>>>>>> measurements taken? Show us your calculations, maybe
> >>>>>>>>>>>> you've got your sums wrong."
> >>>>>>>>>>>>
> >>>>>>>>>>>> Now if they are also uncooperative about sharing the
> >>>>>>>>>>>> details of the investigation,
> >>>>>>>>>>>> those reservations will be magnified. There can be
> >>>>>>>>>>>> legitimate reasons. Tigers are
> >>>>>>>>>>>> rare and need to be conserved, you can't let anyone who
> >>>>>>>>>>>> wants have access to the
> >>>>>>>>>>>> tigers to try to repeat the measurements. But there's
> >>>>>>>>>>>> also a common illegitimate
> >>>>>>>>>>>> reason put forwards by people who make extraordinary
> >>>>>>>>>>>> claims. If the claims were
> >>>>>>>>>>>> unexceptional, such as that tigers have a similar energy
> >>>>>>>>>>>> budget to lions, then no-one
> >>>>>>>>>>>> would be saying "Show me your notebooks. How do you know
> >>>>>>>>>>>> that calorimeter was
> >>>>>>>>>>>> calibrated accurately? What's the name of the person who
> >>>>>>>>>>>> took that measurement
> >>>>>>>>>>>> and can I interview them?" Extraordinary claims are put
> >>>>>>>>>>>> through the wringer in a way
> >>>>>>>>>>>> that ordinary ones are not. I've seen complaints about
> >>>>>>>>>>>> this from parapsychologists.
> >>>>>>>>>>>> But if you're going to claim to have discovered a new
> >>>>>>>>>>>> physical principle, you need
> >>>>>>>>>>>> to present rock solid evidence.
> >>>>>>>>>>>>
> >>>>>>>>>>>> In this case, we can't see H. We can only suggest
> >>>>>>>>>>>> explanations for its behaviour.
> >>>>>>>>>>> It seems that you simply lack the technical competence.
> >>>>>>>>>>> Go back and look at my proof again.
> >>>>>>>>>>>
> >>>>>>>>>> Sorry no. I've been programming since I was a boy and I
> >>>>>>>>>> have a PhD in a computational-
> >>>>>>>>>> related subject. I'm confident of my technical abilities.
> >>>>>>>>>> What I can't do of course
> >>>>>>>>>> is tell you exactly what is going on in code I cannot see.
> >>>>>>>>>> I've got a pretty good idea,
> >>>>>>>>>> but I can only reconstruct on the basis of what you tell
> >>>>>>>>>> me. Ben thinks that I've
> >>>>>>>>>> got it wrong and in fact there are no nested emulations at
> >>>>>>>>>> all. I've no way of actually
> >>>>>>>>>> disproving that idea without seeing H.
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> To fully understand this a software engineer must be an
> >>>>>>>>> expert in: (a) The C programming language,
> >>>>>>>>> (b) The x86 programming language,
> >>>>>>>>> (c) Exactly how C translates into x86 and,
> >>>>>>>>> (d) The ability to recognize infinite recursion at the x86
> >>>>>>>>> assembly language level.
> >>>>>>>>>
> >>>>>>>>> Anyone having the above credentials can validate my work, if
> >>>>>>>>> you cannot validate my work then you do not sufficiently
> >>>>>>>>> have the above credentials.
> >>>>>>>>>
> >>>>>>>>> Exactly how C translates into x86 is mandatory. If you don't
> >>>>>>>>> know how the C calling conventions are implemented in x86
> >>>>>>>>> you cannot validate my work.
> >>>>>>>>>
> >>>>>>>>> From a purely software engineering perspective H(P,P)
> >>>>>>>>> is required to to correctly determine that its correct and
> >>>>>>>>> complete x86 emulation of its input would never reach the
> >>>>>>>>> "ret" instruction of this input and H must do this in a
> >>>>>>>>> finite number of steps.
> >>>>>>>>>
> >>>>>>>>> The ordinary semantics of standard C and the conventional
> >>>>>>>>> x86 language are the entire semantics required to
> >>>>>>>>> conclusively prove that H(P,P) does correctly determine
> >>>>>>>>> that its correct and complete x86 emulation of its input
> >>>>>>>>> would never reach the "ret" instruction (final state) of
> >>>>>>>>> this input thus never halts.
> >>>>>>>>>
> >>>>>>>>> The correct and complete x86 emulation of its input by
> >>>>>>>>> H(P,P) would never reach the "ret" instruction of P because
> >>>>>>>>> both H and P would remain stuck in infinitely nested
> >>>>>>>>> emulation.
> >>>>>>>>>
> >>>>>>>>> void P(u32 x)
> >>>>>>>>> {
> >>>>>>>>>   if (H(x, x))
> >>>>>>>>>     HERE: goto HERE;
> >>>>>>>>>   return;
> >>>>>>>>> }
> >>>>>>>>>
> >>>>>>>>> int main()
> >>>>>>>>> {
> >>>>>>>>>   Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>>>>>>> }
> >>>>>>>>>
> >>>>>>>>> _P()
> >>>>>>>>> [00001202](01)  55              push ebp
> >>>>>>>>> [00001203](02)  8bec            mov ebp,esp
> >>>>>>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
> >>>>>>>>> [00001208](01)  50              push eax
> >>>>>>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
> >>>>>>>>> [0000120c](01)  51              push ecx
> >>>>>>>>> [0000120d](05)  e820feffff      call 00001032
> >>>>>>>>> [00001212](03)  83c408          add esp,+08
> >>>>>>>>> [00001215](02)  85c0            test eax,eax
> >>>>>>>>> [00001217](02)  7402            jz 0000121b
> >>>>>>>>> [00001219](02)  ebfe            jmp 00001219
> >>>>>>>>> [0000121b](01)  5d              pop ebp
> >>>>>>>>> [0000121c](01)  c3              ret
> >>>>>>>>> Size in bytes:(0027) [0000121c]
> >>>>>>>>>
> >>>>>>>>> _main()
> >>>>>>>>> [00001222](01)  55              push ebp
> >>>>>>>>> [00001223](02)  8bec            mov ebp,esp
> >>>>>>>>> [00001225](05)  6802120000      push 00001202
> >>>>>>>>> [0000122a](05)  6802120000      push 00001202
> >>>>>>>>> [0000122f](05)  e8fefdffff      call 00001032
> >>>>>>>>> [00001234](03)  83c408          add esp,+08
> >>>>>>>>> [00001237](01)  50              push eax
> >>>>>>>>> [00001238](05)  68b3030000      push 000003b3
> >>>>>>>>> [0000123d](05)  e8c0f1ffff      call 00000402
> >>>>>>>>> [00001242](03)  83c408          add esp,+08
> >>>>>>>>> [00001245](02)  33c0            xor eax,eax
> >>>>>>>>> [00001247](01)  5d              pop ebp
> >>>>>>>>> [00001248](01)  c3              ret
> >>>>>>>>> Size in bytes:(0039) [00001248]
> >>>>>>>>>
> >>>>>>>>>  machine   stack     stack     machine    assembly
> >>>>>>>>>  address   address   data      code       language
> >>>>>>>>>  ========  ========  ========  =========  ============> >>>>>>>>> [00001222][0010200f][00000000] 55         push ebp
> >>>>>>>>> [00001223][0010200f][00000000] 8bec       mov ebp,esp
> >>>>>>>>> [00001225][0010200b][00001202] 6802120000 push 00001202 //
> >>>>>>>>> push P [0000122a][00102007][00001202] 6802120000 push
> >>>>>>>>> 00001202 // push P [0000122f][00102003][00001234] e8fefdffff
> >>>>>>>>> call 00001032 // call executed H
> >>>>>>>>>
> >>>>>>>>> Begin Simulation   Execution Trace Stored at:2120c3
> >>>>>>>>> Address_of_H:1032
> >>>>>>>>> [00001202][002120af][002120b3] 55         push ebp
> >>>>>>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
> >>>>>>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
> >>>>>>>>> [00001208][002120ab][00001202] 50         push eax      //
> >>>>>>>>> push P [00001209][002120ab][00001202] 8b4d08     mov
> >>>>>>>>> ecx,[ebp+08] [0000120c][002120a7][00001202] 51         push
> >>>>>>>>> ecx      // push P [0000120d][002120a3][00001212] e820feffff
> >>>>>>>>> call 00001032 // call emulated H Infinitely Recursive
> >>>>>>>>> Simulation Detected Simulation Stopped
> >>>>>>>>>
> >>>>>>>>> H knows its own machine address and on this basis it can
> >>>>>>>>> easily examine its stored execution_trace of P (see above)
> >>>>>>>>> to determine: (a) P is calling H with the same arguments
> >>>>>>>>> that H was called with. (b) No instructions in P could
> >>>>>>>>> possibly escape this otherwise infinitely recursive
> >>>>>>>>> emulation. (c) H aborts its emulation of P before its call
> >>>>>>>>> to H is emulated.
> >>>>>>>>
> >>>>>>>> When you know that H simply implements the above algorithm
> >>>>>>>> there is no need to see its source code. I am reserving the
> >>>>>>>> publication of the 5 pages of the source code of the halt
> >>>>>>>> decider for journal publication.
> >>>>>>>
> >>>>>>> Your H is not a pure function as it behaves differently
> >>>>>>> depending on what is invoking it (it returns a decision answer
> >>>>>>> to main() but not to P()) and it has side effects (aborting a
> >>>>>>> simulation).
> >>>>>>>
> >>>>>>> /Flibble
> >>>>>>>
> >>>>>>
> >>>>>> Finally a critique that has a reasonable basis.
> >>>>>>
> >>>>>> When I transformed H into a pure function of its inputs it
> >>>>>> always has the same behavior no matter how it is invoked.
> >>>>>>
> >>>>>> The x86 emulation of P is aborted before P invokes H.
> >>>>>
> >>>>> Nope. Preventing a call to H is equivalent to H behaving
> >>>>> differently for same inputs. Aborting a simulation is a side
> >>>>> effect: pure functions do not have side effects.
> >>>>>
> >>>>> /Flibble
> >>>>>
> >>>>
> >>>> In other words you are saying that a halt decider is simply not
> >>>> allowed to report when it correctly detects that it is being
> >>>> called in infinitely recursive simulation.
> >>>
> >>> I keep telling you this: the infinite recursion is NOT present
> >>> when using a valid halt decider: your H is NOT a valid halt
> >>> decider.
> >>>
> >>> Simulation is an erroneous approach as a simulating halt decider
> >>> can not answer in finite time for a non-halting input as there is
> >>> no proven general solution for detecting non-halting behaviour.
> >>>
> >>> /Flibble
> >>>
> >>
> >> IN OTHER WORDS THOROUGH LACK OF TECHNICAL COMPETANCE OR DISHONESTLY
> >> YOU DENY THIS VERIFIABLE FACT:
> >>
> >> The correct and complete x86 emulation of its input by H(P,P)
> >> would never reach the "ret" instruction of P because both H and
> >> P would remain stuck in infinitely nested emulation.
> >
> > For [Strachey 1965] (and the proofs based on it) H is NOT a
> > simulating halt decider so there is no infinite recursion as there
> > is no emulation.
> >
> > Valid halt deciders ANALYSE P, they do not EMULATE P.
> >
> > /Flibble
> >
>
> I provide a halt decider H that gets the right answer and your
> rebuttal is that H does not get the right answer because there is
> another different halt decider named H1 that gets the wrong answer.

Click here to read the complete article

Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<udWdnT9pv9NZwyr_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34917&group=comp.theory#34917

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 14:15:16 -0500
Date: Sat, 25 Jun 2022 14:15:15 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ tautology ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
<bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <udWdnT9pv9NZwyr_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 496
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-ZDGnoGGqir4pODq6b/6iHOukRyJZEAZjrztnN64YrY1YfHLpmIbmBoWFnIZSY9XbhIQdxQEnhoUDeeQ!162R6XdP/hOY8YVBt0YonwiQBM3JkGhejGn5zABin3/Oey4h1Bh5tfm5PtM23T6CcJ8xOFynrVXU
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 28970
X-Received-Bytes: 29094
 by: olcott - Sat, 25 Jun 2022 19:15 UTC

On 6/25/2022 1:58 PM, Paul N wrote:
> On Saturday, June 25, 2022 at 6:52:33 PM UTC+1, olcott wrote:
>> On 6/25/2022 12:21 PM, Paul N wrote:
>>> On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
>>>> On 6/25/2022 11:19 AM, Paul N wrote:
>>>>> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
>>>>>> On 6/25/2022 6:56 AM, Paul N wrote:
>>>>>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
>>>>>>>> On 6/24/2022 3:05 PM, Paul N wrote:
>>>>>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
>>>>>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
>>>>>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
>>>>>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4, olcott wrote:
>>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
>>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
>>>>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
>>>>>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
>>>>>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> _P()
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
>>>>>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify
>>>>>>>>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation of the input to H(P,P)
>>>>>>>>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction of P because both H
>>>>>>>>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is the case in a finite
>>>>>>>>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input on this basis. Here
>>>>>>>>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in a finite number of
>>>>>>>>>>>>>>>>>>>>>>>>>> steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Address;
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
>>>>>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
>>>>>>>>>>>>>>>>>>>>>>>>>> address address data code language
>>>>>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========= =============
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax // push P
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx // push P
>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff call 00000f02 // call H
>>>>>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the x86utm operating system
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>> HERE:
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
>>>>>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded = (Decoded_Line_Of_Code*)
>>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
>>>>>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
>>>>>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace =
>>>>>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
>>>>>>>>>>>>>>>>>>>>>>>>>> * 1000);
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
>>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); // 2022-06-11
>>>>>>>>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code, slave_state, slave_stack);
>>>>>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace Stored at:",
>>>>>>>>>>>>>>>>>>>>>>>>>> execution_trace);
>>>>>>>>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace, &decoded, code_end,
>>>>>>>>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack, Address_of_H, P, I))
>>>>>>>>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
>>>>>>>>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
>>>>>>>>>>>>>>>>>>>>>>>>>> END_OF_CODE:
>>>>>>>>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this basis it can easily
>>>>>>>>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and determine:
>>>>>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments that H was called with.
>>>>>>>>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly escape this otherwise
>>>>>>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its call to H is invoked.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers may not know this computer
>>>>>>>>>>>>>>>>>>>>>>>>>> science:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs to an
>>>>>>>>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior that is
>>>>>>>>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine will halt whenever it
>>>>>>>>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and Automata.
>>>>>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company. (317-320)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>> H(x, x);
>>>>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
>>>>>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
>>>>>>>>>>>>>>>>>>>>>>>>> Input_Halts = 0
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
>>>>>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not been decided correctly.
>>>>>>>>>>>>>>>>>>>>>>>>> QED.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> /Flibble
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically competent at software
>>>>>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C programming language,
>>>>>>>>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C translates into x86 and
>>>>>>>>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at the x86 assembly
>>>>>>>>>>>>>>>>>>>>>>>> language level. No knowledge of the halting problem is required.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years C++ experience; I also
>>>>>>>>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote a Zilog Z80A CPU
>>>>>>>>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize an infinite recursion;
>>>>>>>>>>>>>>>>>>>>>>> the problem is that you cannot recognize the fact that the infinite
>>>>>>>>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid simulation-based
>>>>>>>>>>>>>>>>>>>>>>> omnishambles:
>>>>>>>>>>>>>>>>>>>>>> If you are competent then you already know this is true and lie about it:
>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
>>>>>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
>>>>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P because both H and P would
>>>>>>>>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a computation, and a computation *always* gives the same output for a given input. So it doesn't make sense to say what it "would" do. It either does or does not perform a complete and correct emulation. And because H contains code to abort, and does abort, it does not do a complete emulation.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by definition does a correct and complete simulation, to see what the actual behavior is. UTM(Px,Px) halts, therefore H(Px,Px)==0 is wrong.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can easily verify that
>>>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input to H(Px,Px) by H
>>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px because both H and Px
>>>>>>>>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> So you just repeated what you said instead of explaining why I'm wrong. In other words you provided no rebuttal, which can only be taken to mean that you have none.
>>>>>>>>>>>>>>>>>> Your entire basis and all of assumptions was incorrect so when I
>>>>>>>>>>>>>>>>>> provided an infallible one to that cannot possibly be correctly refuted
>>>>>>>>>>>>>>>>>> you simply dodged it. That is a smart move for a dishonest person that
>>>>>>>>>>>>>>>>>> is only interested in rebuttal.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I dare you to go back to the prior post and find any error in my
>>>>>>>>>>>>>>>>>> airtight correct reasoning. Another dodge will be construed as a tacit
>>>>>>>>>>>>>>>>>> admission of defeat.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not perform a complete and correct emulation because it aborts. So by definition it cannot be complete.
>>>>>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and correct emulation of
>>>>>>>>>>>>>>>> its input so your rebuttal is the strawman deception.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its complete and correct
>>>>>>>>>>>>>>>> x86 emulation of its input would never reach the "ret" instruction of P.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a correct and complete emulation of its input, your point is moot.
>>>>>>>>>>>>>> _Infinite_Loop()
>>>>>>>>>>>>>> [00001082](01) 55 push ebp
>>>>>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
>>>>>>>>>>>>>> [00001085](02) ebfe jmp 00001085
>>>>>>>>>>>>>> [00001087](01) 5d pop ebp
>>>>>>>>>>>>>> [00001088](01) c3 ret
>>>>>>>>>>>>>> Size in bytes:(0007) [00001088]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:211e8f
>>>>>>>>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
>>>>>>>>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
>>>>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>>>>>> Infinite Loop Detected Simulation Stopped
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On the basis of this exact same utterly moronic reasoning because H
>>>>>>>>>>>>>> *can't* do a correct and complete emulation of its input, H cannot
>>>>>>>>>>>>>> possibly determine that _Infinite_Loop() never halts.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Now who's using the strawman error? Just because H can determine that _Infinite_Loop does not halt doesn't mean that it gets other cases right. B
>>>>>>>>>>>> You just said that H(P,P) cannot correctly predict that the correct and
>>>>>>>>>>>> complete x86 emulation of its input would never reach the "ret"
>>>>>>>>>>>> instruction of P without a compete x86 emulation of its input. I just
>>>>>>>>>>>> proved that is a very stupid thing to say.
>>>>>>>>>>>
>>>>>>>>>>> You said that H can predict what *its* correct and complete emulation would do, and I said that doesn't make sense because H does not do correct and complete emulation. What H *must* do is predict what *the* correct and complete emulation, i.e. UTM(P,P), would do. And it fails to do that.
>>>>>>>>>> From a purely software engineering perspective H(P,P) is required to to
>>>>>>>>>> correctly determine that its correct and complete x86 emulation of its
>>>>>>>>>> input would never reach the "ret" instruction of this input and H must
>>>>>>>>>> do this in a finite number of steps.
>>>>>>>>>>
>>>>>>>>>> The ordinary semantics of standard C and the conventional x86 language
>>>>>>>>>> are the entire semantics required to conclusively prove that H(P,P) does
>>>>>>>>>> correctly determine that its correct and complete x86 emulation of its
>>>>>>>>>> input would never reach the "ret" instruction.
>>>>>>>>>>
>>>>>>>>>> That you disagree with easily verified software engineering when you
>>>>>>>>>> already know that this software engineering is correct speaks loads
>>>>>>>>>> about your character.
>>>>>>>>>>
>>>>>>>>>> The only computer science that need be added to this is that the "ret"
>>>>>>>>>> instruction is the final state of P and that a sequence of
>>>>>>>>>> configurations that cannot possibly reach its final state is a
>>>>>>>>>> non-halting sequence.
>>>>>>>>>
>>>>>>>>> You say that "H(P,P) is required to to correctly determine that its correct and complete x86 emulation of its input would never reach the "ret" instruction of this input". You seem to be assuming that H does an emulation of P, that this emulation includes emulating the call to H, that this call to H would start emulating the call to P, etc, etc, and so the call to P does not terminate.
>>>>>>>>>
>>>>>>>> Thanks for continuing to review this.
>>>>>>>>
>>>>>>>> No assumptions two years of software development derived fully
>>>>>>>> operational software that conclusively proves this.
>>>>>>>
>>>>>>> It might help people's understanding if we had a few more examples. Suppose, in addition to the normal P and H, we have two more functions as follows:
>>>>>>>
>>>>>>> void Q(void)
>>>>>>> {
>>>>>>> if (H(P, P))
>>>>>>> H2: goto H2;
>>>>>>> return;
>>>>>>> }
>>>>>>>
>>>>>>> void R(void)
>>>>>>> {
>>>>>>> H(P, P);
>>>>>>> return;
>>>>>>> }
>>>>>>>
>>>>>>> Will Q return? Will R return?
>>>>>>>
>>>>>> Yes they both return.
>>>>>> void Q(void)
>>>>>> {
>>>>>> if (H(P, P))
>>>>>> H2: goto H2;
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> void R(void)
>>>>>> {
>>>>>> H(P, P);
>>>>>> return;
>>>>>> }
>>>>>> _P()
>>>>>> [000011f0](01) 55 push ebp
>>>>>> [000011f1](02) 8bec mov ebp,esp
>>>>>> [000011f3](03) 8b4508 mov eax,[ebp+08]
>>>>>> [000011f6](01) 50 push eax
>>>>>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
>>>>>> [000011fa](01) 51 push ecx
>>>>>> [000011fb](05) e820feffff call 00001020
>>>>>> [00001200](03) 83c408 add esp,+08
>>>>>> [00001203](02) 85c0 test eax,eax
>>>>>> [00001205](02) 7402 jz 00001209
>>>>>> [00001207](02) ebfe jmp 00001207
>>>>>> [00001209](01) 5d pop ebp
>>>>>> [0000120a](01) c3 ret
>>>>>> Size in bytes:(0027) [0000120a]
>>>>>>
>>>>>> _Q()
>>>>>> [00001210](01) 55 push ebp
>>>>>> [00001211](02) 8bec mov ebp,esp
>>>>>> [00001213](05) 68f0110000 push 000011f0
>>>>>> [00001218](05) 68f0110000 push 000011f0
>>>>>> [0000121d](05) e8fefdffff call 00001020
>>>>>> [00001222](03) 83c408 add esp,+08
>>>>>> [00001225](02) 85c0 test eax,eax
>>>>>> [00001227](02) 7402 jz 0000122b
>>>>>> [00001229](02) ebfe jmp 00001229
>>>>>> [0000122b](01) 5d pop ebp
>>>>>> [0000122c](01) c3 ret
>>>>>> Size in bytes:(0029) [0000122c]
>>>>>>
>>>>>> _main()
>>>>>> [00001250](01) 55 push ebp
>>>>>> [00001251](02) 8bec mov ebp,esp
>>>>>> [00001253](05) e8b8ffffff call 00001210
>>>>>> [00001258](02) 33c0 xor eax,eax
>>>>>> [0000125a](01) 5d pop ebp
>>>>>> [0000125b](01) c3 ret
>>>>>> Size in bytes:(0012) [0000125b]
>>>>>> machine stack stack machine assembly
>>>>>> address address data code language
>>>>>> ======== ======== ======== ========= =============
>>>>>> ...[00001250][00102048][00000000] 55 push ebp
>>>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>>>>>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
>>>>>> ...[00001210][00102040][00102048] 55 push ebp
>>>>>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
>>>>>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
>>>>>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
>>>>>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
>>>>>>
>>>>>> Begin Simulation Execution Trace Stored at:2120fc
>>>>>> Address_of_H:1020
>>>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
>>>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>>>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>>>>>> ...[000011f6][002120e4][000011f0] 50 push eax
>>>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>>>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
>>>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>> ...[00001222][00102040][00102048] 83c408 add esp,+08
>>>>>> ...[00001225][00102040][00102048] 85c0 test eax,eax
>>>>>> ...[00001227][00102040][00102048] 7402 jz 0000122b
>>>>>> ...[0000122b][00102044][00001258] 5d pop ebp
>>>>>> ...[0000122c][00102048][00000000] c3 ret
>>>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>>>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
>>>>>> ...[0000125b][00102050][00000000] c3 ret
>>>>>> Number of Instructions Executed(874)
>>>>>>
>>>>>> Above is:
>>>>>> int main()
>>>>>> {
>>>>>> Q();
>>>>>> //R();
>>>>>> }
>>>>>>
>>>>>> ---
>>>>>> machine stack stack machine assembly
>>>>>> address address data code language
>>>>>> ======== ======== ======== ========= =============
>>>>>> ...[00001250][00102048][00000000] 55 push ebp
>>>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>>>>>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
>>>>>> ...[00001230][00102040][00102048] 55 push ebp
>>>>>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
>>>>>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
>>>>>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
>>>>>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
>>>>>>
>>>>>> Begin Simulation Execution Trace Stored at:2120fc
>>>>>> Address_of_H:1020
>>>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
>>>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>>>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>>>>>> ...[000011f6][002120e4][000011f0] 50 push eax
>>>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>>>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
>>>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>> ...[00001242][00102040][00102048] 83c408 add esp,+08
>>>>>> ...[00001245][00102044][00001258] 5d pop ebp
>>>>>> ...[00001246][00102048][00000000] c3 ret
>>>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>>>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
>>>>>> ...[0000125b][00102050][00000000] c3 ret
>>>>>> Number of Instructions Executed(872)
>>>>>>
>>>>>> Above is:
>>>>>> int main()
>>>>>> {
>>>>>> //Q();
>>>>>> R();
>>>>>> }
>>>>>
>>>>> Right, so we're getting somewhere. Can you explain why Q() returns, and P(P) doesn't, when they both do the same thing in the same way?
>>>> int main()
>>>> {
>>>> P(P);
>>>> }
>>>>
>>>> does return.
>>>>
>>>> The correct and complete x86 emulation of its input by H(P,P)
>>>> would never reach the "ret" instruction of P because both H and
>>>> P would remain stuck in infinitely nested emulation.
>>>
>>> These last two statements of yours are a contradiction.
>>>
>>> If P(P) returns, then a CORRECT emulation of it will reach the ret instruction. An emulation that runs forever, when P(P) does not, is not a correct emulation.
>>
>> The ordinary semantics of standard C and the conventional x86 language
>> are the entire semantics required to conclusively prove that H(P,P)
>> *does correctly predict*
>> that its correct and complete x86 emulation of its input would never
>> reach the "ret" instruction (final state) of this input thus never halts.
>> The correct and complete x86 emulation of its input by H would never
>> reach the "ret" instruction of P because both H and P would remain stuck
>> in infinitely nested emulation.
>>
>> I need reviewers like you so that I can *fine tune* my words.
>
> If you are saying that P(P) returns, but that a correct and complete x86 emulation of P(P) does not, then I think you are going to have to change either "correct" or "emulation" to some very different word.
>


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<20220625201552.00001f2f@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34918&group=comp.theory#34918

  copy link   Newsgroups: comp.theory
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx01.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.theory
Subject: Re: Technically competent Software engineers can verify this
halting problem proof refutation [ tautology ]
Message-ID: <20220625201552.00001f2f@reddwarf.jmc>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
<bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>
Organization: Jupiter Mining Corp
X-Newsreader: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-w64-mingw32)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Lines: 569
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Sat, 25 Jun 2022 19:15:48 UTC
Date: Sat, 25 Jun 2022 20:15:52 +0100
X-Received-Bytes: 31707
 by: Mr Flibble - Sat, 25 Jun 2022 19:15 UTC

On Sat, 25 Jun 2022 11:58:20 -0700 (PDT)
Paul N <gw7rib@aol.com> wrote:

> On Saturday, June 25, 2022 at 6:52:33 PM UTC+1, olcott wrote:
> > On 6/25/2022 12:21 PM, Paul N wrote:
> > > On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
> > >> On 6/25/2022 11:19 AM, Paul N wrote:
> > >>> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
> > >>>> On 6/25/2022 6:56 AM, Paul N wrote:
> > >>>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
> > >>>>>> On 6/24/2022 3:05 PM, Paul N wrote:
> > >>>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
> > >>>>>>>
> > >>>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
> > >>>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott
> > >>>>>>>>> wrote:
> > >>>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
> > >>>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott
> > >>>>>>>>>>> wrote:
> > >>>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
> > >>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4,
> > >>>>>>>>>>>>> olcott wrote:
> > >>>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
> > >>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4,
> > >>>>>>>>>>>>>>> olcott wrote:
> > >>>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
> > >>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4,
> > >>>>>>>>>>>>>>>>> olcott wrote:
> > >>>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
> > >>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM
> > >>>>>>>>>>>>>>>>>>> UTC-4, olcott wrote:
> > >>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
> > >>>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
> > >>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> > >>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
> > >>>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
> > >>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> > >>>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> > >>>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
> > >>>>>>>>>>>>>>>>>>>>>>>> {
> > >>>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
> > >>>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
> > >>>>>>>>>>>>>>>>>>>>>>>> return;
> > >>>>>>>>>>>>>>>>>>>>>>>> }
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> int main()
> > >>>>>>>>>>>>>>>>>>>>>>>> {
> > >>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
> > >>>>>>>>>>>>>>>>>>>>>>>> }
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> _P()
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
> > >>>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software
> > >>>>>>>>>>>>>>>>>>>>>>>> engineer can easily verify that the
> > >>>>>>>>>>>>>>>>>>>>>>>> complete and correct x86 emulation of the
> > >>>>>>>>>>>>>>>>>>>>>>>> input to H(P,P) by H would never reach the
> > >>>>>>>>>>>>>>>>>>>>>>>> "ret" instruction of P because both H and
> > >>>>>>>>>>>>>>>>>>>>>>>> P would remain stuck in infinitely
> > >>>>>>>>>>>>>>>>>>>>>>>> recursive emulation.
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is
> > >>>>>>>>>>>>>>>>>>>>>>>> the case in a finite number of steps then
> > >>>>>>>>>>>>>>>>>>>>>>>> H could reject its input on this basis.
> > >>>>>>>>>>>>>>>>>>>>>>>> Here are the details of exactly how H does
> > >>>>>>>>>>>>>>>>>>>>>>>> this in a finite number of steps.
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
> > >>>>>>>>>>>>>>>>>>>>>>>> {
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 Address;
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
> > >>>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
> > >>>>>>>>>>>>>>>>>>>>>>>> address address data code language
> > >>>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========> > >>>>>>>>>>>>>>>>>>>>>>>> ============> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov
> > >>>>>>>>>>>>>>>>>>>>>>>> ebp,esp [000010d5][00211e8a][00211e8e]
> > >>>>>>>>>>>>>>>>>>>>>>>> 8b4508 mov eax,[ebp+08]
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax
> > >>>>>>>>>>>>>>>>>>>>>>>> // push P [000010d9][00211e86][000010d2]
> > >>>>>>>>>>>>>>>>>>>>>>>> 8b4d08 mov ecx,[ebp+08]
> > >>>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx
> > >>>>>>>>>>>>>>>>>>>>>>>> // push P [000010dd][00211e7e][000010e2]
> > >>>>>>>>>>>>>>>>>>>>>>>> e820feffff call 00000f02 // call H
> > >>>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected
> > >>>>>>>>>>>>>>>>>>>>>>>> Simulation Stopped
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the
> > >>>>>>>>>>>>>>>>>>>>>>>> x86utm operating system u32 H(u32 P, u32
> > >>>>>>>>>>>>>>>>>>>>>>>> I) {
> > >>>>>>>>>>>>>>>>>>>>>>>> HERE:
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
> > >>>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded > > >>>>>>>>>>>>>>>>>>>>>>>> (Decoded_Line_Of_Code*)
> > >>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
> > >>>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
> > >>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers)); Registers*
> > >>>>>>>>>>>>>>>>>>>>>>>> slave_state = (Registers*)
> > >>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers)); u32*
> > >>>>>>>>>>>>>>>>>>>>>>>> slave_stack = Allocate(0x10000); // 64k;
> > >>>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace > > >>>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
> > >>>>>>>>>>>>>>>>>>>>>>>> * 1000);
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
> > >>>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
> > >>>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
> > >>>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
> > >>>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); //
> > >>>>>>>>>>>>>>>>>>>>>>>> 2022-06-11 Init_slave_state(P, I,
> > >>>>>>>>>>>>>>>>>>>>>>>> End_Of_Code, slave_state, slave_stack);
> > >>>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace
> > >>>>>>>>>>>>>>>>>>>>>>>> Stored at:", execution_trace); if
> > >>>>>>>>>>>>>>>>>>>>>>>> (Decide_Halting(&execution_trace,
> > >>>>>>>>>>>>>>>>>>>>>>>> &decoded, code_end, &master_state,
> > >>>>>>>>>>>>>>>>>>>>>>>> &slave_state, &slave_stack, Address_of_H,
> > >>>>>>>>>>>>>>>>>>>>>>>> P, I)) goto END_OF_CODE; return 0; // Does
> > >>>>>>>>>>>>>>>>>>>>>>>> not halt END_OF_CODE: return 1; // Input
> > >>>>>>>>>>>>>>>>>>>>>>>> has normally terminated }
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on
> > >>>>>>>>>>>>>>>>>>>>>>>> this basis it can easily examine its
> > >>>>>>>>>>>>>>>>>>>>>>>> stored execution_trace of P and determine:
> > >>>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments
> > >>>>>>>>>>>>>>>>>>>>>>>> that H was called with. (b) No
> > >>>>>>>>>>>>>>>>>>>>>>>> instructions in P could possibly escape
> > >>>>>>>>>>>>>>>>>>>>>>>> this otherwise infinitely recursive
> > >>>>>>>>>>>>>>>>>>>>>>>> emulation. (c) H aborts its emulation of P
> > >>>>>>>>>>>>>>>>>>>>>>>> before its call to H is invoked.
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers
> > >>>>>>>>>>>>>>>>>>>>>>>> may not know this computer science:
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping
> > >>>>>>>>>>>>>>>>>>>>>>>> from its inputs to an accept or reject
> > >>>>>>>>>>>>>>>>>>>>>>>> state on the basis of the actual behavior
> > >>>>>>>>>>>>>>>>>>>>>>>> that is actually specified by these
> > >>>>>>>>>>>>>>>>>>>>>>>> inputs.
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing
> > >>>>>>>>>>>>>>>>>>>>>>>> machine will halt whenever it enters a
> > >>>>>>>>>>>>>>>>>>>>>>>> final state. (Linz:1990:234)
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final
> > >>>>>>>>>>>>>>>>>>>>>>>> state.
> > >>>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to
> > >>>>>>>>>>>>>>>>>>>>>>>> Formal Languages and Automata.
> > >>>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and
> > >>>>>>>>>>>>>>>>>>>>>>>> Company. (317-320)
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
> > >>>>>>>>>>>>>>>>>>>>>>> {
> > >>>>>>>>>>>>>>>>>>>>>>> H(x, x);
> > >>>>>>>>>>>>>>>>>>>>>>> return;
> > >>>>>>>>>>>>>>>>>>>>>>> }
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>> int main()
> > >>>>>>>>>>>>>>>>>>>>>>> {
> > >>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px,
> > >>>>>>>>>>>>>>>>>>>>>>> (u32)Px)); }
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408
> > >>>>>>>>>>>>>>>>>>>>>>> add esp,+08
> > >>>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push
> > >>>>>>>>>>>>>>>>>>>>>>> eax ...[000013ec][0010234f][00000427]
> > >>>>>>>>>>>>>>>>>>>>>>> 6827040000 push 00000427
> > >>>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427]
> > >>>>>>>>>>>>>>>>>>>>>>> e880f0ffff call 00000476 Input_Halts = 0
> > >>>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408
> > >>>>>>>>>>>>>>>>>>>>>>> add esp,+08
> > >>>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor
> > >>>>>>>>>>>>>>>>>>>>>>> eax,eax ...[000013fb][0010235b][00100000]
> > >>>>>>>>>>>>>>>>>>>>>>> 5d pop ebp
> > >>>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
> > >>>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has
> > >>>>>>>>>>>>>>>>>>>>>>> not been decided correctly. QED.
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>> /Flibble
> > >>>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently
> > >>>>>>>>>>>>>>>>>>>>>> technically competent at software
> > >>>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
> > >>>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in:
> > >>>>>>>>>>>>>>>>>>>>>> the C programming language, the x86
> > >>>>>>>>>>>>>>>>>>>>>> programming language, exactly how C
> > >>>>>>>>>>>>>>>>>>>>>> translates into x86 and the ability to
> > >>>>>>>>>>>>>>>>>>>>>> recognize infinite recursion at the x86
> > >>>>>>>>>>>>>>>>>>>>>> assembly language level. No knowledge of the
> > >>>>>>>>>>>>>>>>>>>>>> halting problem is required.
> > >>>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+
> > >>>>>>>>>>>>>>>>>>>>> years C++ experience; I also have C and x86
> > >>>>>>>>>>>>>>>>>>>>> assembly experience (I once wrote a Zilog
> > >>>>>>>>>>>>>>>>>>>>> Z80A CPU emulator in 80286 assembly) and I
> > >>>>>>>>>>>>>>>>>>>>> can recognize an infinite recursion; the
> > >>>>>>>>>>>>>>>>>>>>> problem is that you cannot recognize the fact
> > >>>>>>>>>>>>>>>>>>>>> that the infinite recursion only manifests as
> > >>>>>>>>>>>>>>>>>>>>> part of your invalid simulation-based
> > >>>>>>>>>>>>>>>>>>>>> omnishambles:
> > >>>>>>>>>>>>>>>>>>>> If you are competent then you already know
> > >>>>>>>>>>>>>>>>>>>> this is true and lie about it: Every
> > >>>>>>>>>>>>>>>>>>>> sufficiently competent software engineer can
> > >>>>>>>>>>>>>>>>>>>> easily verify that the complete and correct
> > >>>>>>>>>>>>>>>>>>>> x86 emulation of the input to H(Px,Px) by H
> > >>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P
> > >>>>>>>>>>>>>>>>>>>> because both H and P would remain stuck in
> > >>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a
> > >>>>>>>>>>>>>>>>>>> computation, and a computation *always* gives
> > >>>>>>>>>>>>>>>>>>> the same output for a given input. So it
> > >>>>>>>>>>>>>>>>>>> doesn't make sense to say what it "would" do.
> > >>>>>>>>>>>>>>>>>>> It either does or does not perform a complete
> > >>>>>>>>>>>>>>>>>>> and correct emulation. And because H contains
> > >>>>>>>>>>>>>>>>>>> code to abort, and does abort, it does not do a
> > >>>>>>>>>>>>>>>>>>> complete emulation.
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by
> > >>>>>>>>>>>>>>>>>>> definition does a correct and complete
> > >>>>>>>>>>>>>>>>>>> simulation, to see what the actual behavior is.
> > >>>>>>>>>>>>>>>>>>> UTM(Px,Px) halts, therefore H(Px,Px)==0 is
> > >>>>>>>>>>>>>>>>>>> wrong.
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer
> > >>>>>>>>>>>>>>>>>> can easily verify that the complete and correct
> > >>>>>>>>>>>>>>>>>> x86 emulation of the input to H(Px,Px) by H
> > >>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px
> > >>>>>>>>>>>>>>>>>> because both H and Px would remain stuck in
> > >>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>> So you just repeated what you said instead of
> > >>>>>>>>>>>>>>>>> explaining why I'm wrong. In other words you
> > >>>>>>>>>>>>>>>>> provided no rebuttal, which can only be taken to
> > >>>>>>>>>>>>>>>>> mean that you have none.
> > >>>>>>>>>>>>>>>> Your entire basis and all of assumptions was
> > >>>>>>>>>>>>>>>> incorrect so when I provided an infallible one to
> > >>>>>>>>>>>>>>>> that cannot possibly be correctly refuted you
> > >>>>>>>>>>>>>>>> simply dodged it. That is a smart move for a
> > >>>>>>>>>>>>>>>> dishonest person that is only interested in
> > >>>>>>>>>>>>>>>> rebuttal.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> I dare you to go back to the prior post and find
> > >>>>>>>>>>>>>>>> any error in my airtight correct reasoning.
> > >>>>>>>>>>>>>>>> Another dodge will be construed as a tacit
> > >>>>>>>>>>>>>>>> admission of defeat.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not
> > >>>>>>>>>>>>>>> perform a complete and correct emulation because it
> > >>>>>>>>>>>>>>> aborts. So by definition it cannot be complete.
> > >>>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and
> > >>>>>>>>>>>>>> correct emulation of its input so your rebuttal is
> > >>>>>>>>>>>>>> the strawman deception.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its
> > >>>>>>>>>>>>>> complete and correct x86 emulation of its input
> > >>>>>>>>>>>>>> would never reach the "ret" instruction of P.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a
> > >>>>>>>>>>>>> correct and complete emulation of its input, your
> > >>>>>>>>>>>>> point is moot.
> > >>>>>>>>>>>> _Infinite_Loop()
> > >>>>>>>>>>>> [00001082](01) 55 push ebp
> > >>>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
> > >>>>>>>>>>>> [00001085](02) ebfe jmp 00001085
> > >>>>>>>>>>>> [00001087](01) 5d pop ebp
> > >>>>>>>>>>>> [00001088](01) c3 ret
> > >>>>>>>>>>>> Size in bytes:(0007) [00001088]
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace
> > >>>>>>>>>>>> Stored at:211e8f ...[00001082][00211e7f][00211e83] 55
> > >>>>>>>>>>>> push ebp ...[00001083][00211e7f][00211e83] 8bec mov
> > >>>>>>>>>>>> ebp,esp ...[00001085][00211e7f][00211e83] ebfe jmp
> > >>>>>>>>>>>> 00001085 ...[00001085][00211e7f][00211e83] ebfe jmp
> > >>>>>>>>>>>> 00001085 Infinite Loop Detected Simulation Stopped
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> On the basis of this exact same utterly moronic
> > >>>>>>>>>>>> reasoning because H *can't* do a correct and complete
> > >>>>>>>>>>>> emulation of its input, H cannot possibly determine
> > >>>>>>>>>>>> that _Infinite_Loop() never halts.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Now who's using the strawman error? Just because H can
> > >>>>>>>>>>> determine that _Infinite_Loop does not halt doesn't
> > >>>>>>>>>>> mean that it gets other cases right. B
> > >>>>>>>>>> You just said that H(P,P) cannot correctly predict that
> > >>>>>>>>>> the correct and complete x86 emulation of its input
> > >>>>>>>>>> would never reach the "ret" instruction of P without a
> > >>>>>>>>>> compete x86 emulation of its input. I just proved that
> > >>>>>>>>>> is a very stupid thing to say.
> > >>>>>>>>>
> > >>>>>>>>> You said that H can predict what *its* correct and
> > >>>>>>>>> complete emulation would do, and I said that doesn't make
> > >>>>>>>>> sense because H does not do correct and complete
> > >>>>>>>>> emulation. What H *must* do is predict what *the* correct
> > >>>>>>>>> and complete emulation, i.e. UTM(P,P), would do. And it
> > >>>>>>>>> fails to do that.
> > >>>>>>>> From a purely software engineering perspective H(P,P) is
> > >>>>>>>> required to to correctly determine that its correct and
> > >>>>>>>> complete x86 emulation of its input would never reach the
> > >>>>>>>> "ret" instruction of this input and H must do this in a
> > >>>>>>>> finite number of steps.
> > >>>>>>>>
> > >>>>>>>> The ordinary semantics of standard C and the conventional
> > >>>>>>>> x86 language are the entire semantics required to
> > >>>>>>>> conclusively prove that H(P,P) does correctly determine
> > >>>>>>>> that its correct and complete x86 emulation of its input
> > >>>>>>>> would never reach the "ret" instruction.
> > >>>>>>>>
> > >>>>>>>> That you disagree with easily verified software
> > >>>>>>>> engineering when you already know that this software
> > >>>>>>>> engineering is correct speaks loads about your character.
> > >>>>>>>>
> > >>>>>>>> The only computer science that need be added to this is
> > >>>>>>>> that the "ret" instruction is the final state of P and
> > >>>>>>>> that a sequence of configurations that cannot possibly
> > >>>>>>>> reach its final state is a non-halting sequence.
> > >>>>>>>
> > >>>>>>> You say that "H(P,P) is required to to correctly determine
> > >>>>>>> that its correct and complete x86 emulation of its input
> > >>>>>>> would never reach the "ret" instruction of this input". You
> > >>>>>>> seem to be assuming that H does an emulation of P, that
> > >>>>>>> this emulation includes emulating the call to H, that this
> > >>>>>>> call to H would start emulating the call to P, etc, etc,
> > >>>>>>> and so the call to P does not terminate.
> > >>>>>> Thanks for continuing to review this.
> > >>>>>>
> > >>>>>> No assumptions two years of software development derived
> > >>>>>> fully operational software that conclusively proves this.
> > >>>>>
> > >>>>> It might help people's understanding if we had a few more
> > >>>>> examples. Suppose, in addition to the normal P and H, we have
> > >>>>> two more functions as follows:
> > >>>>>
> > >>>>> void Q(void)
> > >>>>> {
> > >>>>> if (H(P, P))
> > >>>>> H2: goto H2;
> > >>>>> return;
> > >>>>> }
> > >>>>>
> > >>>>> void R(void)
> > >>>>> {
> > >>>>> H(P, P);
> > >>>>> return;
> > >>>>> }
> > >>>>>
> > >>>>> Will Q return? Will R return?
> > >>>>>
> > >>>> Yes they both return.
> > >>>> void Q(void)
> > >>>> {
> > >>>> if (H(P, P))
> > >>>> H2: goto H2;
> > >>>> return;
> > >>>> }
> > >>>>
> > >>>> void R(void)
> > >>>> {
> > >>>> H(P, P);
> > >>>> return;
> > >>>> }
> > >>>> _P()
> > >>>> [000011f0](01) 55 push ebp
> > >>>> [000011f1](02) 8bec mov ebp,esp
> > >>>> [000011f3](03) 8b4508 mov eax,[ebp+08]
> > >>>> [000011f6](01) 50 push eax
> > >>>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
> > >>>> [000011fa](01) 51 push ecx
> > >>>> [000011fb](05) e820feffff call 00001020
> > >>>> [00001200](03) 83c408 add esp,+08
> > >>>> [00001203](02) 85c0 test eax,eax
> > >>>> [00001205](02) 7402 jz 00001209
> > >>>> [00001207](02) ebfe jmp 00001207
> > >>>> [00001209](01) 5d pop ebp
> > >>>> [0000120a](01) c3 ret
> > >>>> Size in bytes:(0027) [0000120a]
> > >>>>
> > >>>> _Q()
> > >>>> [00001210](01) 55 push ebp
> > >>>> [00001211](02) 8bec mov ebp,esp
> > >>>> [00001213](05) 68f0110000 push 000011f0
> > >>>> [00001218](05) 68f0110000 push 000011f0
> > >>>> [0000121d](05) e8fefdffff call 00001020
> > >>>> [00001222](03) 83c408 add esp,+08
> > >>>> [00001225](02) 85c0 test eax,eax
> > >>>> [00001227](02) 7402 jz 0000122b
> > >>>> [00001229](02) ebfe jmp 00001229
> > >>>> [0000122b](01) 5d pop ebp
> > >>>> [0000122c](01) c3 ret
> > >>>> Size in bytes:(0029) [0000122c]
> > >>>>
> > >>>> _main()
> > >>>> [00001250](01) 55 push ebp
> > >>>> [00001251](02) 8bec mov ebp,esp
> > >>>> [00001253](05) e8b8ffffff call 00001210
> > >>>> [00001258](02) 33c0 xor eax,eax
> > >>>> [0000125a](01) 5d pop ebp
> > >>>> [0000125b](01) c3 ret
> > >>>> Size in bytes:(0012) [0000125b]
> > >>>> machine stack stack machine assembly
> > >>>> address address data code language
> > >>>> ======== ======== ======== ========= =============
> > >>>> ...[00001250][00102048][00000000] 55 push ebp
> > >>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> > >>>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
> > >>>> ...[00001210][00102040][00102048] 55 push ebp
> > >>>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
> > >>>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
> > >>>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
> > >>>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
> > >>>>
> > >>>> Begin Simulation Execution Trace Stored at:2120fc
> > >>>> Address_of_H:1020
> > >>>> ...[000011f0][002120e8][002120ec] 55 push ebp
> > >>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> > >>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> > >>>> ...[000011f6][002120e4][000011f0] 50 push eax
> > >>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> > >>>> ...[000011fa][002120e0][000011f0] 51 push ecx
> > >>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> > >>>> Infinitely Recursive Simulation Detected Simulation Stopped
> > >>>> ...[00001222][00102040][00102048] 83c408 add esp,+08
> > >>>> ...[00001225][00102040][00102048] 85c0 test eax,eax
> > >>>> ...[00001227][00102040][00102048] 7402 jz 0000122b
> > >>>> ...[0000122b][00102044][00001258] 5d pop ebp
> > >>>> ...[0000122c][00102048][00000000] c3 ret
> > >>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> > >>>> ...[0000125a][0010204c][00100000] 5d pop ebp
> > >>>> ...[0000125b][00102050][00000000] c3 ret
> > >>>> Number of Instructions Executed(874)
> > >>>>
> > >>>> Above is:
> > >>>> int main()
> > >>>> {
> > >>>> Q();
> > >>>> //R();
> > >>>> }
> > >>>>
> > >>>> ---
> > >>>> machine stack stack machine assembly
> > >>>> address address data code language
> > >>>> ======== ======== ======== ========= =============
> > >>>> ...[00001250][00102048][00000000] 55 push ebp
> > >>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> > >>>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
> > >>>> ...[00001230][00102040][00102048] 55 push ebp
> > >>>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
> > >>>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
> > >>>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
> > >>>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
> > >>>>
> > >>>> Begin Simulation Execution Trace Stored at:2120fc
> > >>>> Address_of_H:1020
> > >>>> ...[000011f0][002120e8][002120ec] 55 push ebp
> > >>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> > >>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> > >>>> ...[000011f6][002120e4][000011f0] 50 push eax
> > >>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> > >>>> ...[000011fa][002120e0][000011f0] 51 push ecx
> > >>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> > >>>> Infinitely Recursive Simulation Detected Simulation Stopped
> > >>>> ...[00001242][00102040][00102048] 83c408 add esp,+08
> > >>>> ...[00001245][00102044][00001258] 5d pop ebp
> > >>>> ...[00001246][00102048][00000000] c3 ret
> > >>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> > >>>> ...[0000125a][0010204c][00100000] 5d pop ebp
> > >>>> ...[0000125b][00102050][00000000] c3 ret
> > >>>> Number of Instructions Executed(872)
> > >>>>
> > >>>> Above is:
> > >>>> int main()
> > >>>> {
> > >>>> //Q();
> > >>>> R();
> > >>>> }
> > >>>
> > >>> Right, so we're getting somewhere. Can you explain why Q()
> > >>> returns, and P(P) doesn't, when they both do the same thing in
> > >>> the same way?
> > >> int main()
> > >> {
> > >> P(P);
> > >> }
> > >>
> > >> does return.
> > >>
> > >> The correct and complete x86 emulation of its input by H(P,P)
> > >> would never reach the "ret" instruction of P because both H and
> > >> P would remain stuck in infinitely nested emulation.
> > >
> > > These last two statements of yours are a contradiction.
> > >
> > > If P(P) returns, then a CORRECT emulation of it will reach the
> > > ret instruction. An emulation that runs forever, when P(P) does
> > > not, is not a correct emulation.
> >
> > The ordinary semantics of standard C and the conventional x86
> > language are the entire semantics required to conclusively prove
> > that H(P,P) *does correctly predict*
> > that its correct and complete x86 emulation of its input would never
> > reach the "ret" instruction (final state) of this input thus never
> > halts. The correct and complete x86 emulation of its input by H
> > would never reach the "ret" instruction of P because both H and P
> > would remain stuck in infinitely nested emulation.
> >
> > I need reviewers like you so that I can *fine tune* my words.
>
> If you are saying that P(P) returns, but that a correct and complete
> x86 emulation of P(P) does not, then I think you are going to have to
> change either "correct" or "emulation" to some very different word.
>
> > A halt decider must compute the mapping from its inputs to an
> > accept or reject state on the basis of the actual behavior of these
> > actual inputs.
>
> Exactly. The actual behaviour. Not the behaviour it would have if
> things were different. In particular, you need to take into account
> H's ability to detect infinite loops.


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<20220625201852.00001c98@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34919&group=comp.theory#34919

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx01.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
Subject: Re: Technically competent Software engineers can verify this
halting problem proof refutation [ tautology ]
Message-ID: <20220625201852.00001c98@reddwarf.jmc>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
<bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>
<udWdnT9pv9NZwyr_nZ2dnUU7_8zNnZ2d@giganews.com>
Organization: Jupiter Mining Corp
X-Newsreader: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-w64-mingw32)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Lines: 620
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Sat, 25 Jun 2022 19:18:48 UTC
Date: Sat, 25 Jun 2022 20:18:52 +0100
X-Received-Bytes: 32723
 by: Mr Flibble - Sat, 25 Jun 2022 19:18 UTC

On Sat, 25 Jun 2022 14:15:15 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/25/2022 1:58 PM, Paul N wrote:
> > On Saturday, June 25, 2022 at 6:52:33 PM UTC+1, olcott wrote:
> >> On 6/25/2022 12:21 PM, Paul N wrote:
> >>> On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
> >>>> On 6/25/2022 11:19 AM, Paul N wrote:
> >>>>> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
> >>>>>> On 6/25/2022 6:56 AM, Paul N wrote:
> >>>>>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
> >>>>>>>> On 6/24/2022 3:05 PM, Paul N wrote:
> >>>>>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
> >>>>>>>>>
> >>>>>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
> >>>>>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
> >>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4,
> >>>>>>>>>>>>>>> olcott wrote:
> >>>>>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4,
> >>>>>>>>>>>>>>>>> olcott wrote:
> >>>>>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4,
> >>>>>>>>>>>>>>>>>>> olcott wrote:
> >>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
> >>>>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM
> >>>>>>>>>>>>>>>>>>>>> UTC-4, olcott wrote:
> >>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
> >>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
> >>>>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
> >>>>>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
> >>>>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
> >>>>>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
> >>>>>>>>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
> >>>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> _P()
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
> >>>>>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software
> >>>>>>>>>>>>>>>>>>>>>>>>>> engineer can easily verify that the
> >>>>>>>>>>>>>>>>>>>>>>>>>> complete and correct x86 emulation of the
> >>>>>>>>>>>>>>>>>>>>>>>>>> input to H(P,P) by H would never reach the
> >>>>>>>>>>>>>>>>>>>>>>>>>> "ret" instruction of P because both H and
> >>>>>>>>>>>>>>>>>>>>>>>>>> P would remain stuck in infinitely
> >>>>>>>>>>>>>>>>>>>>>>>>>> recursive emulation.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is
> >>>>>>>>>>>>>>>>>>>>>>>>>> the case in a finite number of steps then
> >>>>>>>>>>>>>>>>>>>>>>>>>> H could reject its input on this basis.
> >>>>>>>>>>>>>>>>>>>>>>>>>> Here are the details of exactly how H does
> >>>>>>>>>>>>>>>>>>>>>>>>>> this in a finite number of steps.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
> >>>>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 Address;
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
> >>>>>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
> >>>>>>>>>>>>>>>>>>>>>>>>>> address address data code language
> >>>>>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== ========> >>>>>>>>>>>>>>>>>>>>>>>>>> ============> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov
> >>>>>>>>>>>>>>>>>>>>>>>>>> ebp,esp [000010d5][00211e8a][00211e8e]
> >>>>>>>>>>>>>>>>>>>>>>>>>> 8b4508 mov eax,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax
> >>>>>>>>>>>>>>>>>>>>>>>>>> // push P [000010d9][00211e86][000010d2]
> >>>>>>>>>>>>>>>>>>>>>>>>>> 8b4d08 mov ecx,[ebp+08]
> >>>>>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx
> >>>>>>>>>>>>>>>>>>>>>>>>>> // push P [000010dd][00211e7e][000010e2]
> >>>>>>>>>>>>>>>>>>>>>>>>>> e820feffff call 00000f02 // call H
> >>>>>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected
> >>>>>>>>>>>>>>>>>>>>>>>>>> Simulation Stopped
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the
> >>>>>>>>>>>>>>>>>>>>>>>>>> x86utm operating system u32 H(u32 P, u32 I)
> >>>>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>>>> HERE:
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
> >>>>>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded > >>>>>>>>>>>>>>>>>>>>>>>>>> (Decoded_Line_Of_Code*)
> >>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
> >>>>>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers)); Registers*
> >>>>>>>>>>>>>>>>>>>>>>>>>> slave_state = (Registers*)
> >>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers)); u32*
> >>>>>>>>>>>>>>>>>>>>>>>>>> slave_stack = Allocate(0x10000); // 64k;
> >>>>>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace > >>>>>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
> >>>>>>>>>>>>>>>>>>>>>>>>>> * 1000);
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
> >>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
> >>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); //
> >>>>>>>>>>>>>>>>>>>>>>>>>> 2022-06-11 Init_slave_state(P, I,
> >>>>>>>>>>>>>>>>>>>>>>>>>> End_Of_Code, slave_state, slave_stack);
> >>>>>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace
> >>>>>>>>>>>>>>>>>>>>>>>>>> Stored at:", execution_trace); if
> >>>>>>>>>>>>>>>>>>>>>>>>>> (Decide_Halting(&execution_trace,
> >>>>>>>>>>>>>>>>>>>>>>>>>> &decoded, code_end, &master_state,
> >>>>>>>>>>>>>>>>>>>>>>>>>> &slave_state, &slave_stack, Address_of_H,
> >>>>>>>>>>>>>>>>>>>>>>>>>> P, I)) goto END_OF_CODE; return 0; // Does
> >>>>>>>>>>>>>>>>>>>>>>>>>> not halt END_OF_CODE: return 1; // Input
> >>>>>>>>>>>>>>>>>>>>>>>>>> has normally terminated }
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on
> >>>>>>>>>>>>>>>>>>>>>>>>>> this basis it can easily examine its
> >>>>>>>>>>>>>>>>>>>>>>>>>> stored execution_trace of P and determine:
> >>>>>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments
> >>>>>>>>>>>>>>>>>>>>>>>>>> that H was called with. (b) No
> >>>>>>>>>>>>>>>>>>>>>>>>>> instructions in P could possibly escape
> >>>>>>>>>>>>>>>>>>>>>>>>>> this otherwise infinitely recursive
> >>>>>>>>>>>>>>>>>>>>>>>>>> emulation. (c) H aborts its emulation of P
> >>>>>>>>>>>>>>>>>>>>>>>>>> before its call to H is invoked.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers
> >>>>>>>>>>>>>>>>>>>>>>>>>> may not know this computer science:
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping
> >>>>>>>>>>>>>>>>>>>>>>>>>> from its inputs to an accept or reject
> >>>>>>>>>>>>>>>>>>>>>>>>>> state on the basis of the actual behavior
> >>>>>>>>>>>>>>>>>>>>>>>>>> that is actually specified by these inputs.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing
> >>>>>>>>>>>>>>>>>>>>>>>>>> machine will halt whenever it enters a
> >>>>>>>>>>>>>>>>>>>>>>>>>> final state. (Linz:1990:234)
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final
> >>>>>>>>>>>>>>>>>>>>>>>>>> state.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to
> >>>>>>>>>>>>>>>>>>>>>>>>>> Formal Languages and Automata.
> >>>>>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and
> >>>>>>>>>>>>>>>>>>>>>>>>>> Company. (317-320)
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
> >>>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>>> H(x, x);
> >>>>>>>>>>>>>>>>>>>>>>>>> return;
> >>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> int main()
> >>>>>>>>>>>>>>>>>>>>>>>>> {
> >>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px,
> >>>>>>>>>>>>>>>>>>>>>>>>> (u32)Px)); }
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408
> >>>>>>>>>>>>>>>>>>>>>>>>> add esp,+08
> >>>>>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push
> >>>>>>>>>>>>>>>>>>>>>>>>> eax ...[000013ec][0010234f][00000427]
> >>>>>>>>>>>>>>>>>>>>>>>>> 6827040000 push 00000427
> >>>>>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427]
> >>>>>>>>>>>>>>>>>>>>>>>>> e880f0ffff call 00000476 Input_Halts = 0
> >>>>>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408
> >>>>>>>>>>>>>>>>>>>>>>>>> add esp,+08
> >>>>>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor
> >>>>>>>>>>>>>>>>>>>>>>>>> eax,eax ...[000013fb][0010235b][00100000]
> >>>>>>>>>>>>>>>>>>>>>>>>> 5d pop ebp
> >>>>>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
> >>>>>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has
> >>>>>>>>>>>>>>>>>>>>>>>>> not been decided correctly. QED.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> /Flibble
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently
> >>>>>>>>>>>>>>>>>>>>>>>> technically competent at software
> >>>>>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in:
> >>>>>>>>>>>>>>>>>>>>>>>> the C programming language, the x86
> >>>>>>>>>>>>>>>>>>>>>>>> programming language, exactly how C
> >>>>>>>>>>>>>>>>>>>>>>>> translates into x86 and the ability to
> >>>>>>>>>>>>>>>>>>>>>>>> recognize infinite recursion at the x86
> >>>>>>>>>>>>>>>>>>>>>>>> assembly language level. No knowledge of the
> >>>>>>>>>>>>>>>>>>>>>>>> halting problem is required.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+
> >>>>>>>>>>>>>>>>>>>>>>> years C++ experience; I also have C and x86
> >>>>>>>>>>>>>>>>>>>>>>> assembly experience (I once wrote a Zilog
> >>>>>>>>>>>>>>>>>>>>>>> Z80A CPU emulator in 80286 assembly) and I
> >>>>>>>>>>>>>>>>>>>>>>> can recognize an infinite recursion; the
> >>>>>>>>>>>>>>>>>>>>>>> problem is that you cannot recognize the fact
> >>>>>>>>>>>>>>>>>>>>>>> that the infinite recursion only manifests as
> >>>>>>>>>>>>>>>>>>>>>>> part of your invalid simulation-based
> >>>>>>>>>>>>>>>>>>>>>>> omnishambles:
> >>>>>>>>>>>>>>>>>>>>>> If you are competent then you already know
> >>>>>>>>>>>>>>>>>>>>>> this is true and lie about it: Every
> >>>>>>>>>>>>>>>>>>>>>> sufficiently competent software engineer can
> >>>>>>>>>>>>>>>>>>>>>> easily verify that the complete and correct
> >>>>>>>>>>>>>>>>>>>>>> x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P
> >>>>>>>>>>>>>>>>>>>>>> because both H and P would remain stuck in
> >>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a
> >>>>>>>>>>>>>>>>>>>>> computation, and a computation *always* gives
> >>>>>>>>>>>>>>>>>>>>> the same output for a given input. So it
> >>>>>>>>>>>>>>>>>>>>> doesn't make sense to say what it "would" do.
> >>>>>>>>>>>>>>>>>>>>> It either does or does not perform a complete
> >>>>>>>>>>>>>>>>>>>>> and correct emulation. And because H contains
> >>>>>>>>>>>>>>>>>>>>> code to abort, and does abort, it does not do a
> >>>>>>>>>>>>>>>>>>>>> complete emulation.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by
> >>>>>>>>>>>>>>>>>>>>> definition does a correct and complete
> >>>>>>>>>>>>>>>>>>>>> simulation, to see what the actual behavior is.
> >>>>>>>>>>>>>>>>>>>>> UTM(Px,Px) halts, therefore H(Px,Px)==0 is
> >>>>>>>>>>>>>>>>>>>>> wrong.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer
> >>>>>>>>>>>>>>>>>>>> can easily verify that the complete and correct
> >>>>>>>>>>>>>>>>>>>> x86 emulation of the input to H(Px,Px) by H
> >>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px
> >>>>>>>>>>>>>>>>>>>> because both H and Px would remain stuck in
> >>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> So you just repeated what you said instead of
> >>>>>>>>>>>>>>>>>>> explaining why I'm wrong. In other words you
> >>>>>>>>>>>>>>>>>>> provided no rebuttal, which can only be taken to
> >>>>>>>>>>>>>>>>>>> mean that you have none.
> >>>>>>>>>>>>>>>>>> Your entire basis and all of assumptions was
> >>>>>>>>>>>>>>>>>> incorrect so when I provided an infallible one to
> >>>>>>>>>>>>>>>>>> that cannot possibly be correctly refuted you
> >>>>>>>>>>>>>>>>>> simply dodged it. That is a smart move for a
> >>>>>>>>>>>>>>>>>> dishonest person that is only interested in
> >>>>>>>>>>>>>>>>>> rebuttal.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> I dare you to go back to the prior post and find
> >>>>>>>>>>>>>>>>>> any error in my airtight correct reasoning.
> >>>>>>>>>>>>>>>>>> Another dodge will be construed as a tacit
> >>>>>>>>>>>>>>>>>> admission of defeat.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not
> >>>>>>>>>>>>>>>>> perform a complete and correct emulation because it
> >>>>>>>>>>>>>>>>> aborts. So by definition it cannot be complete.
> >>>>>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and
> >>>>>>>>>>>>>>>> correct emulation of its input so your rebuttal is
> >>>>>>>>>>>>>>>> the strawman deception.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its
> >>>>>>>>>>>>>>>> complete and correct x86 emulation of its input
> >>>>>>>>>>>>>>>> would never reach the "ret" instruction of P.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a
> >>>>>>>>>>>>>>> correct and complete emulation of its input, your
> >>>>>>>>>>>>>>> point is moot.
> >>>>>>>>>>>>>> _Infinite_Loop()
> >>>>>>>>>>>>>> [00001082](01) 55 push ebp
> >>>>>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
> >>>>>>>>>>>>>> [00001085](02) ebfe jmp 00001085
> >>>>>>>>>>>>>> [00001087](01) 5d pop ebp
> >>>>>>>>>>>>>> [00001088](01) c3 ret
> >>>>>>>>>>>>>> Size in bytes:(0007) [00001088]
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace
> >>>>>>>>>>>>>> Stored at:211e8f ...[00001082][00211e7f][00211e83] 55
> >>>>>>>>>>>>>> push ebp ...[00001083][00211e7f][00211e83] 8bec mov
> >>>>>>>>>>>>>> ebp,esp ...[00001085][00211e7f][00211e83] ebfe jmp
> >>>>>>>>>>>>>> 00001085 ...[00001085][00211e7f][00211e83] ebfe jmp
> >>>>>>>>>>>>>> 00001085 Infinite Loop Detected Simulation Stopped
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On the basis of this exact same utterly moronic
> >>>>>>>>>>>>>> reasoning because H *can't* do a correct and complete
> >>>>>>>>>>>>>> emulation of its input, H cannot possibly determine
> >>>>>>>>>>>>>> that _Infinite_Loop() never halts.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Now who's using the strawman error? Just because H can
> >>>>>>>>>>>>> determine that _Infinite_Loop does not halt doesn't
> >>>>>>>>>>>>> mean that it gets other cases right. B
> >>>>>>>>>>>> You just said that H(P,P) cannot correctly predict that
> >>>>>>>>>>>> the correct and complete x86 emulation of its input
> >>>>>>>>>>>> would never reach the "ret" instruction of P without a
> >>>>>>>>>>>> compete x86 emulation of its input. I just proved that
> >>>>>>>>>>>> is a very stupid thing to say.
> >>>>>>>>>>>
> >>>>>>>>>>> You said that H can predict what *its* correct and
> >>>>>>>>>>> complete emulation would do, and I said that doesn't make
> >>>>>>>>>>> sense because H does not do correct and complete
> >>>>>>>>>>> emulation. What H *must* do is predict what *the* correct
> >>>>>>>>>>> and complete emulation, i.e. UTM(P,P), would do. And it
> >>>>>>>>>>> fails to do that.
> >>>>>>>>>> From a purely software engineering perspective H(P,P) is
> >>>>>>>>>> required to to correctly determine that its correct and
> >>>>>>>>>> complete x86 emulation of its input would never reach the
> >>>>>>>>>> "ret" instruction of this input and H must do this in a
> >>>>>>>>>> finite number of steps.
> >>>>>>>>>>
> >>>>>>>>>> The ordinary semantics of standard C and the conventional
> >>>>>>>>>> x86 language are the entire semantics required to
> >>>>>>>>>> conclusively prove that H(P,P) does correctly determine
> >>>>>>>>>> that its correct and complete x86 emulation of its input
> >>>>>>>>>> would never reach the "ret" instruction.
> >>>>>>>>>>
> >>>>>>>>>> That you disagree with easily verified software
> >>>>>>>>>> engineering when you already know that this software
> >>>>>>>>>> engineering is correct speaks loads about your character.
> >>>>>>>>>>
> >>>>>>>>>> The only computer science that need be added to this is
> >>>>>>>>>> that the "ret" instruction is the final state of P and
> >>>>>>>>>> that a sequence of configurations that cannot possibly
> >>>>>>>>>> reach its final state is a non-halting sequence.
> >>>>>>>>>
> >>>>>>>>> You say that "H(P,P) is required to to correctly determine
> >>>>>>>>> that its correct and complete x86 emulation of its input
> >>>>>>>>> would never reach the "ret" instruction of this input". You
> >>>>>>>>> seem to be assuming that H does an emulation of P, that
> >>>>>>>>> this emulation includes emulating the call to H, that this
> >>>>>>>>> call to H would start emulating the call to P, etc, etc,
> >>>>>>>>> and so the call to P does not terminate.
> >>>>>>>> Thanks for continuing to review this.
> >>>>>>>>
> >>>>>>>> No assumptions two years of software development derived
> >>>>>>>> fully operational software that conclusively proves this.
> >>>>>>>
> >>>>>>> It might help people's understanding if we had a few more
> >>>>>>> examples. Suppose, in addition to the normal P and H, we have
> >>>>>>> two more functions as follows:
> >>>>>>>
> >>>>>>> void Q(void)
> >>>>>>> {
> >>>>>>> if (H(P, P))
> >>>>>>> H2: goto H2;
> >>>>>>> return;
> >>>>>>> }
> >>>>>>>
> >>>>>>> void R(void)
> >>>>>>> {
> >>>>>>> H(P, P);
> >>>>>>> return;
> >>>>>>> }
> >>>>>>>
> >>>>>>> Will Q return? Will R return?
> >>>>>>>
> >>>>>> Yes they both return.
> >>>>>> void Q(void)
> >>>>>> {
> >>>>>> if (H(P, P))
> >>>>>> H2: goto H2;
> >>>>>> return;
> >>>>>> }
> >>>>>>
> >>>>>> void R(void)
> >>>>>> {
> >>>>>> H(P, P);
> >>>>>> return;
> >>>>>> }
> >>>>>> _P()
> >>>>>> [000011f0](01) 55 push ebp
> >>>>>> [000011f1](02) 8bec mov ebp,esp
> >>>>>> [000011f3](03) 8b4508 mov eax,[ebp+08]
> >>>>>> [000011f6](01) 50 push eax
> >>>>>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
> >>>>>> [000011fa](01) 51 push ecx
> >>>>>> [000011fb](05) e820feffff call 00001020
> >>>>>> [00001200](03) 83c408 add esp,+08
> >>>>>> [00001203](02) 85c0 test eax,eax
> >>>>>> [00001205](02) 7402 jz 00001209
> >>>>>> [00001207](02) ebfe jmp 00001207
> >>>>>> [00001209](01) 5d pop ebp
> >>>>>> [0000120a](01) c3 ret
> >>>>>> Size in bytes:(0027) [0000120a]
> >>>>>>
> >>>>>> _Q()
> >>>>>> [00001210](01) 55 push ebp
> >>>>>> [00001211](02) 8bec mov ebp,esp
> >>>>>> [00001213](05) 68f0110000 push 000011f0
> >>>>>> [00001218](05) 68f0110000 push 000011f0
> >>>>>> [0000121d](05) e8fefdffff call 00001020
> >>>>>> [00001222](03) 83c408 add esp,+08
> >>>>>> [00001225](02) 85c0 test eax,eax
> >>>>>> [00001227](02) 7402 jz 0000122b
> >>>>>> [00001229](02) ebfe jmp 00001229
> >>>>>> [0000122b](01) 5d pop ebp
> >>>>>> [0000122c](01) c3 ret
> >>>>>> Size in bytes:(0029) [0000122c]
> >>>>>>
> >>>>>> _main()
> >>>>>> [00001250](01) 55 push ebp
> >>>>>> [00001251](02) 8bec mov ebp,esp
> >>>>>> [00001253](05) e8b8ffffff call 00001210
> >>>>>> [00001258](02) 33c0 xor eax,eax
> >>>>>> [0000125a](01) 5d pop ebp
> >>>>>> [0000125b](01) c3 ret
> >>>>>> Size in bytes:(0012) [0000125b]
> >>>>>> machine stack stack machine assembly
> >>>>>> address address data code language
> >>>>>> ======== ======== ======== ========= ============> >>>>>> ...[00001250][00102048][00000000] 55 push ebp
> >>>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> >>>>>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
> >>>>>> ...[00001210][00102040][00102048] 55 push ebp
> >>>>>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
> >>>>>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
> >>>>>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
> >>>>>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
> >>>>>>
> >>>>>> Begin Simulation Execution Trace Stored at:2120fc
> >>>>>> Address_of_H:1020
> >>>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
> >>>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> >>>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> >>>>>> ...[000011f6][002120e4][000011f0] 50 push eax
> >>>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> >>>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
> >>>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> >>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>>>> ...[00001222][00102040][00102048] 83c408 add esp,+08
> >>>>>> ...[00001225][00102040][00102048] 85c0 test eax,eax
> >>>>>> ...[00001227][00102040][00102048] 7402 jz 0000122b
> >>>>>> ...[0000122b][00102044][00001258] 5d pop ebp
> >>>>>> ...[0000122c][00102048][00000000] c3 ret
> >>>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> >>>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
> >>>>>> ...[0000125b][00102050][00000000] c3 ret
> >>>>>> Number of Instructions Executed(874)
> >>>>>>
> >>>>>> Above is:
> >>>>>> int main()
> >>>>>> {
> >>>>>> Q();
> >>>>>> //R();
> >>>>>> }
> >>>>>>
> >>>>>> ---
> >>>>>> machine stack stack machine assembly
> >>>>>> address address data code language
> >>>>>> ======== ======== ======== ========= ============> >>>>>> ...[00001250][00102048][00000000] 55 push ebp
> >>>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
> >>>>>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
> >>>>>> ...[00001230][00102040][00102048] 55 push ebp
> >>>>>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
> >>>>>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
> >>>>>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
> >>>>>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
> >>>>>>
> >>>>>> Begin Simulation Execution Trace Stored at:2120fc
> >>>>>> Address_of_H:1020
> >>>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
> >>>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
> >>>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
> >>>>>> ...[000011f6][002120e4][000011f0] 50 push eax
> >>>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
> >>>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
> >>>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
> >>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
> >>>>>> ...[00001242][00102040][00102048] 83c408 add esp,+08
> >>>>>> ...[00001245][00102044][00001258] 5d pop ebp
> >>>>>> ...[00001246][00102048][00000000] c3 ret
> >>>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
> >>>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
> >>>>>> ...[0000125b][00102050][00000000] c3 ret
> >>>>>> Number of Instructions Executed(872)
> >>>>>>
> >>>>>> Above is:
> >>>>>> int main()
> >>>>>> {
> >>>>>> //Q();
> >>>>>> R();
> >>>>>> }
> >>>>>
> >>>>> Right, so we're getting somewhere. Can you explain why Q()
> >>>>> returns, and P(P) doesn't, when they both do the same thing in
> >>>>> the same way?
> >>>> int main()
> >>>> {
> >>>> P(P);
> >>>> }
> >>>>
> >>>> does return.
> >>>>
> >>>> The correct and complete x86 emulation of its input by H(P,P)
> >>>> would never reach the "ret" instruction of P because both H and
> >>>> P would remain stuck in infinitely nested emulation.
> >>>
> >>> These last two statements of yours are a contradiction.
> >>>
> >>> If P(P) returns, then a CORRECT emulation of it will reach the
> >>> ret instruction. An emulation that runs forever, when P(P) does
> >>> not, is not a correct emulation.
> >>
> >> The ordinary semantics of standard C and the conventional x86
> >> language are the entire semantics required to conclusively prove
> >> that H(P,P) *does correctly predict*
> >> that its correct and complete x86 emulation of its input would
> >> never reach the "ret" instruction (final state) of this input thus
> >> never halts. The correct and complete x86 emulation of its input
> >> by H would never reach the "ret" instruction of P because both H
> >> and P would remain stuck in infinitely nested emulation.
> >>
> >> I need reviewers like you so that I can *fine tune* my words.
> >
> > If you are saying that P(P) returns, but that a correct and
> > complete x86 emulation of P(P) does not, then I think you are going
> > to have to change either "correct" or "emulation" to some very
> > different word.
>
> The correct and complete emulation of the input to H(P,P) has halting
> behavior that is provably different than the the direct execution of
> P(P).
>
> "Common sense" tells you that they must be the same empirical proof
> proves that they are not the same.
>
> >> A halt decider must compute the mapping from its inputs to an
> >> accept or reject state on the basis of the actual behavior of
> >> these actual inputs.
> >
> > Exactly. The actual behaviour. Not the behaviour it would have if
> > things were different. In particular, you need to take into account
> > H's ability to detect infinite loops.
>
> I initially made H robust enough that it does correctly reject
> infinite loops and infinite recursion and have code samples to prove
> it.
>
> >> When a simulating halt decider rejects all inputs as non-halting
> >> whenever it correctly detects [in a finite number of steps] that
> >> its correct and complete simulation of its input would never reach
> >> [a] final state of this input then all [these] inputs (including
> >> pathological inputs) are correctly decided as non-halting.
> >
> > If you are fine-tuning your wording, could you do something about
> > this passage? Having both "When" and "whenever" makes it difficult
> > to parse.
>
> When a simulating halt decider correctly detects [in a finite number
> of steps] that its correct and complete simulation of its input would
> never reach [a] final state of this input then all [these] inputs
> (including pathological inputs) are correctly rejected as non-halting.

Click here to read the complete article

Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<VNOdnS2kSbh1wir_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34920&group=comp.theory#34920

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 14:20:08 -0500
Date: Sat, 25 Jun 2022 14:20:06 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ tautology ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220625165919.0000287e@reddwarf.jmc>
<_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
<20220625172518.00002fb8@reddwarf.jmc>
<S8udnWfpo60QpSr_nZ2dnUU7_8xh4p2d@giganews.com>
<20220625201230.00000c34@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220625201230.00000c34@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <VNOdnS2kSbh1wir_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 347
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-hqGI8yhNgyfVM1zVZodY5fl2P2fg/GKf1UQa4MeopKogAq7UtNjLKmE1Jno9kUqVLsOFFiVyOhrSK1Q!yfEq53Ffwga6ySp6jL9YTC1yKjoB7L2f9pqcOMcrP4y0Xm3CcC6Y/nVfmxrq4KhoC0AiOXG5izEY
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 18674
 by: olcott - Sat, 25 Jun 2022 19:20 UTC

On 6/25/2022 2:12 PM, Mr Flibble wrote:
> On Sat, 25 Jun 2022 11:32:12 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/25/2022 11:25 AM, Mr Flibble wrote:
>>> On Sat, 25 Jun 2022 11:06:12 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>
>>>> On 6/25/2022 10:59 AM, Mr Flibble wrote:
>>>>> On Sat, 25 Jun 2022 10:54:13 -0500
>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>
>>>>>> On 6/25/2022 10:21 AM, Mr Flibble wrote:
>>>>>>> On Sat, 25 Jun 2022 10:19:02 -0500
>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>
>>>>>>>> On 6/25/2022 10:09 AM, Mr Flibble wrote:
>>>>>>>>> On Sat, 25 Jun 2022 10:03:17 -0500
>>>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>>>
>>>>>>>>>> On 6/25/2022 9:28 AM, olcott wrote:
>>>>>>>>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
>>>>>>>>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
>>>>>>>>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
>>>>>>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben
>>>>>>>>>>>>>>>> Bacarisse wrote:
>>>>>>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> "Dry run" means that a human programmer looks at the
>>>>>>>>>>>>>>>>>> code, and determines
>>>>>>>>>>>>>>>>>> what it does, without actually executing it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Going back, now, to what you think needs to be
>>>>>>>>>>>>>>>>> resolved: | He's dry-run P(P) and established that it
>>>>>>>>>>>>>>>>> doesn't halt. He's invoked H
>>>>>>>>>>>>>>>>> | on it and H reports that it doesn't halt. He's run
>>>>>>>>>>>>>>>>> P(P) and it halts.
>>>>>>>>>>>>>>>>> The obvious conclusion is that PO's dry run (if he has
>>>>>>>>>>>>>>>>> indeed done such
>>>>>>>>>>>>>>>>> a thing) is incorrect.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exactly.
>>>>>>>>>>>>>>>> We do our little energy budget on tigers, and find that
>>>>>>>>>>>>>>>> tigers spend more energy
>>>>>>>>>>>>>>>> than they take in. Well potentially this is dynamite.
>>>>>>>>>>>>>>>> One explanation is that the
>>>>>>>>>>>>>>>> law of conservation of energy is wrong.
>>>>>>>>>>>>>>>> Except, before we countenance that explanation, we need
>>>>>>>>>>>>>>>> to rule out a much
>>>>>>>>>>>>>>>> simpler explanation. Which is that our measurements are
>>>>>>>>>>>>>>>> wrong.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should
>>>>>>>>>>>>>>>> be doing, by dry-running
>>>>>>>>>>>>>>>> it, and then actually run P(P) and obtained a different
>>>>>>>>>>>>>>>> result. He also found that H
>>>>>>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
>>>>>>>>>>>>>>>> conclusion, but it is extensive
>>>>>>>>>>>>>>>> and far-reaching in its implications. The behaviour of
>>>>>>>>>>>>>>>> code when run is different
>>>>>>>>>>>>>>>> from the correct behaviour of the code when simulated.
>>>>>>>>>>>>>>>> If that's true, then it has
>>>>>>>>>>>>>>>> similar implications for computer science that
>>>>>>>>>>>>>>>> disproving the conservation law
>>>>>>>>>>>>>>>> has for physics.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> But the obvious explanation is that the dry-run was
>>>>>>>>>>>>>>>> incorrect. Lots of people have
>>>>>>>>>>>>>>>> suggested why it is incorrect. But they can't actually
>>>>>>>>>>>>>>>> see the code. PO needs to
>>>>>>>>>>>>>>>> understand that no-one will accept the complicated,
>>>>>>>>>>>>>>>> far-reaching explanation,
>>>>>>>>>>>>>>>> until the simple explanation has been ruled out.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I already proved that the dry run is correct.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Someone reports that tigers use more energy than they
>>>>>>>>>>>>>> take in, and concludes that
>>>>>>>>>>>>>> the energy conservation law is incorrect.
>>>>>>>>>>>>>> Naturally, everyone is going to say "There must be some
>>>>>>>>>>>>>> mistake. How were your
>>>>>>>>>>>>>> measurements taken? Show us your calculations, maybe
>>>>>>>>>>>>>> you've got your sums wrong."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now if they are also uncooperative about sharing the
>>>>>>>>>>>>>> details of the investigation,
>>>>>>>>>>>>>> those reservations will be magnified. There can be
>>>>>>>>>>>>>> legitimate reasons. Tigers are
>>>>>>>>>>>>>> rare and need to be conserved, you can't let anyone who
>>>>>>>>>>>>>> wants have access to the
>>>>>>>>>>>>>> tigers to try to repeat the measurements. But there's
>>>>>>>>>>>>>> also a common illegitimate
>>>>>>>>>>>>>> reason put forwards by people who make extraordinary
>>>>>>>>>>>>>> claims. If the claims were
>>>>>>>>>>>>>> unexceptional, such as that tigers have a similar energy
>>>>>>>>>>>>>> budget to lions, then no-one
>>>>>>>>>>>>>> would be saying "Show me your notebooks. How do you know
>>>>>>>>>>>>>> that calorimeter was
>>>>>>>>>>>>>> calibrated accurately? What's the name of the person who
>>>>>>>>>>>>>> took that measurement
>>>>>>>>>>>>>> and can I interview them?" Extraordinary claims are put
>>>>>>>>>>>>>> through the wringer in a way
>>>>>>>>>>>>>> that ordinary ones are not. I've seen complaints about
>>>>>>>>>>>>>> this from parapsychologists.
>>>>>>>>>>>>>> But if you're going to claim to have discovered a new
>>>>>>>>>>>>>> physical principle, you need
>>>>>>>>>>>>>> to present rock solid evidence.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In this case, we can't see H. We can only suggest
>>>>>>>>>>>>>> explanations for its behaviour.
>>>>>>>>>>>>> It seems that you simply lack the technical competence.
>>>>>>>>>>>>> Go back and look at my proof again.
>>>>>>>>>>>>>
>>>>>>>>>>>> Sorry no. I've been programming since I was a boy and I
>>>>>>>>>>>> have a PhD in a computational-
>>>>>>>>>>>> related subject. I'm confident of my technical abilities.
>>>>>>>>>>>> What I can't do of course
>>>>>>>>>>>> is tell you exactly what is going on in code I cannot see.
>>>>>>>>>>>> I've got a pretty good idea,
>>>>>>>>>>>> but I can only reconstruct on the basis of what you tell
>>>>>>>>>>>> me. Ben thinks that I've
>>>>>>>>>>>> got it wrong and in fact there are no nested emulations at
>>>>>>>>>>>> all. I've no way of actually
>>>>>>>>>>>> disproving that idea without seeing H.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> To fully understand this a software engineer must be an
>>>>>>>>>>> expert in: (a) The C programming language,
>>>>>>>>>>> (b) The x86 programming language,
>>>>>>>>>>> (c) Exactly how C translates into x86 and,
>>>>>>>>>>> (d) The ability to recognize infinite recursion at the x86
>>>>>>>>>>> assembly language level.
>>>>>>>>>>>
>>>>>>>>>>> Anyone having the above credentials can validate my work, if
>>>>>>>>>>> you cannot validate my work then you do not sufficiently
>>>>>>>>>>> have the above credentials.
>>>>>>>>>>>
>>>>>>>>>>> Exactly how C translates into x86 is mandatory. If you don't
>>>>>>>>>>> know how the C calling conventions are implemented in x86
>>>>>>>>>>> you cannot validate my work.
>>>>>>>>>>>
>>>>>>>>>>> From a purely software engineering perspective H(P,P)
>>>>>>>>>>> is required to to correctly determine that its correct and
>>>>>>>>>>> complete x86 emulation of its input would never reach the
>>>>>>>>>>> "ret" instruction of this input and H must do this in a
>>>>>>>>>>> finite number of steps.
>>>>>>>>>>>
>>>>>>>>>>> The ordinary semantics of standard C and the conventional
>>>>>>>>>>> x86 language are the entire semantics required to
>>>>>>>>>>> conclusively prove that H(P,P) does correctly determine
>>>>>>>>>>> that its correct and complete x86 emulation of its input
>>>>>>>>>>> would never reach the "ret" instruction (final state) of
>>>>>>>>>>> this input thus never halts.
>>>>>>>>>>>
>>>>>>>>>>> The correct and complete x86 emulation of its input by
>>>>>>>>>>> H(P,P) would never reach the "ret" instruction of P because
>>>>>>>>>>> both H and P would remain stuck in infinitely nested
>>>>>>>>>>> emulation.
>>>>>>>>>>>
>>>>>>>>>>> void P(u32 x)
>>>>>>>>>>> {
>>>>>>>>>>>   if (H(x, x))
>>>>>>>>>>>     HERE: goto HERE;
>>>>>>>>>>>   return;
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> int main()
>>>>>>>>>>> {
>>>>>>>>>>>   Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> _P()
>>>>>>>>>>> [00001202](01)  55              push ebp
>>>>>>>>>>> [00001203](02)  8bec            mov ebp,esp
>>>>>>>>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>>>> [00001208](01)  50              push eax
>>>>>>>>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>>>> [0000120c](01)  51              push ecx
>>>>>>>>>>> [0000120d](05)  e820feffff      call 00001032
>>>>>>>>>>> [00001212](03)  83c408          add esp,+08
>>>>>>>>>>> [00001215](02)  85c0            test eax,eax
>>>>>>>>>>> [00001217](02)  7402            jz 0000121b
>>>>>>>>>>> [00001219](02)  ebfe            jmp 00001219
>>>>>>>>>>> [0000121b](01)  5d              pop ebp
>>>>>>>>>>> [0000121c](01)  c3              ret
>>>>>>>>>>> Size in bytes:(0027) [0000121c]
>>>>>>>>>>>
>>>>>>>>>>> _main()
>>>>>>>>>>> [00001222](01)  55              push ebp
>>>>>>>>>>> [00001223](02)  8bec            mov ebp,esp
>>>>>>>>>>> [00001225](05)  6802120000      push 00001202
>>>>>>>>>>> [0000122a](05)  6802120000      push 00001202
>>>>>>>>>>> [0000122f](05)  e8fefdffff      call 00001032
>>>>>>>>>>> [00001234](03)  83c408          add esp,+08
>>>>>>>>>>> [00001237](01)  50              push eax
>>>>>>>>>>> [00001238](05)  68b3030000      push 000003b3
>>>>>>>>>>> [0000123d](05)  e8c0f1ffff      call 00000402
>>>>>>>>>>> [00001242](03)  83c408          add esp,+08
>>>>>>>>>>> [00001245](02)  33c0            xor eax,eax
>>>>>>>>>>> [00001247](01)  5d              pop ebp
>>>>>>>>>>> [00001248](01)  c3              ret
>>>>>>>>>>> Size in bytes:(0039) [00001248]
>>>>>>>>>>>
>>>>>>>>>>>  machine   stack     stack     machine    assembly
>>>>>>>>>>>  address   address   data      code       language
>>>>>>>>>>>  ========  ========  ========  =========  =============
>>>>>>>>>>> [00001222][0010200f][00000000] 55         push ebp
>>>>>>>>>>> [00001223][0010200f][00000000] 8bec       mov ebp,esp
>>>>>>>>>>> [00001225][0010200b][00001202] 6802120000 push 00001202 //
>>>>>>>>>>> push P [0000122a][00102007][00001202] 6802120000 push
>>>>>>>>>>> 00001202 // push P [0000122f][00102003][00001234] e8fefdffff
>>>>>>>>>>> call 00001032 // call executed H
>>>>>>>>>>>
>>>>>>>>>>> Begin Simulation   Execution Trace Stored at:2120c3
>>>>>>>>>>> Address_of_H:1032
>>>>>>>>>>> [00001202][002120af][002120b3] 55         push ebp
>>>>>>>>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
>>>>>>>>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
>>>>>>>>>>> [00001208][002120ab][00001202] 50         push eax      //
>>>>>>>>>>> push P [00001209][002120ab][00001202] 8b4d08     mov
>>>>>>>>>>> ecx,[ebp+08] [0000120c][002120a7][00001202] 51         push
>>>>>>>>>>> ecx      // push P [0000120d][002120a3][00001212] e820feffff
>>>>>>>>>>> call 00001032 // call emulated H Infinitely Recursive
>>>>>>>>>>> Simulation Detected Simulation Stopped
>>>>>>>>>>>
>>>>>>>>>>> H knows its own machine address and on this basis it can
>>>>>>>>>>> easily examine its stored execution_trace of P (see above)
>>>>>>>>>>> to determine: (a) P is calling H with the same arguments
>>>>>>>>>>> that H was called with. (b) No instructions in P could
>>>>>>>>>>> possibly escape this otherwise infinitely recursive
>>>>>>>>>>> emulation. (c) H aborts its emulation of P before its call
>>>>>>>>>>> to H is emulated.
>>>>>>>>>>
>>>>>>>>>> When you know that H simply implements the above algorithm
>>>>>>>>>> there is no need to see its source code. I am reserving the
>>>>>>>>>> publication of the 5 pages of the source code of the halt
>>>>>>>>>> decider for journal publication.
>>>>>>>>>
>>>>>>>>> Your H is not a pure function as it behaves differently
>>>>>>>>> depending on what is invoking it (it returns a decision answer
>>>>>>>>> to main() but not to P()) and it has side effects (aborting a
>>>>>>>>> simulation).
>>>>>>>>>
>>>>>>>>> /Flibble
>>>>>>>>>
>>>>>>>>
>>>>>>>> Finally a critique that has a reasonable basis.
>>>>>>>>
>>>>>>>> When I transformed H into a pure function of its inputs it
>>>>>>>> always has the same behavior no matter how it is invoked.
>>>>>>>>
>>>>>>>> The x86 emulation of P is aborted before P invokes H.
>>>>>>>
>>>>>>> Nope. Preventing a call to H is equivalent to H behaving
>>>>>>> differently for same inputs. Aborting a simulation is a side
>>>>>>> effect: pure functions do not have side effects.
>>>>>>>
>>>>>>> /Flibble
>>>>>>>
>>>>>>
>>>>>> In other words you are saying that a halt decider is simply not
>>>>>> allowed to report when it correctly detects that it is being
>>>>>> called in infinitely recursive simulation.
>>>>>
>>>>> I keep telling you this: the infinite recursion is NOT present
>>>>> when using a valid halt decider: your H is NOT a valid halt
>>>>> decider.
>>>>>
>>>>> Simulation is an erroneous approach as a simulating halt decider
>>>>> can not answer in finite time for a non-halting input as there is
>>>>> no proven general solution for detecting non-halting behaviour.
>>>>>
>>>>> /Flibble
>>>>>
>>>>
>>>> IN OTHER WORDS THOROUGH LACK OF TECHNICAL COMPETANCE OR DISHONESTLY
>>>> YOU DENY THIS VERIFIABLE FACT:
>>>>
>>>> The correct and complete x86 emulation of its input by H(P,P)
>>>> would never reach the "ret" instruction of P because both H and
>>>> P would remain stuck in infinitely nested emulation.
>>>
>>> For [Strachey 1965] (and the proofs based on it) H is NOT a
>>> simulating halt decider so there is no infinite recursion as there
>>> is no emulation.
>>>
>>> Valid halt deciders ANALYSE P, they do not EMULATE P.
>>>
>>> /Flibble
>>>
>>
>> I provide a halt decider H that gets the right answer and your
>> rebuttal is that H does not get the right answer because there is
>> another different halt decider named H1 that gets the wrong answer.
>
> Your H also gets the wrong answer:
>
> void Px(u32 x)
> {
> H(x, x);
> return;
> }
>
> int main()
> {
> Output("Input_Halts = ", H((u32)Px, (u32)Px));
> }
>
> ...[000013e8][00102357][00000000] 83c408 add esp,+08
> ...[000013eb][00102353][00000000] 50 push eax
> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
> Input_Halts = 0
> ...[000013f6][00102357][00000000] 83c408 add esp,+08
> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
> ...[000013fb][0010235b][00100000] 5d pop ebp
> ...[000013fc][0010235f][00000004] c3 ret
> Number of Instructions Executed(16120)
>
> It gets the answer wrong, i.e. input has not been decided correctly.
> QED.
>
> /Flibble
>


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<871qvcwnq9.fsf@bsb.me.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34921&group=comp.theory#34921

  copy link   Newsgroups: comp.theory
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED.dsl-217-155-82-182.zen.co.uk!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.theory
Subject: Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]
Date: Sat, 25 Jun 2022 20:24:14 +0100
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <871qvcwnq9.fsf@bsb.me.uk>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: reader01.eternal-september.org; posting-host="dsl-217-155-82-182.zen.co.uk:217.155.82.182";
logging-data="3792354"; mail-complaints-to="abuse@eternal-september.org"
Cancel-Lock: sha1:ylUCBjxR28b0wH/QDtLTHIeBkvQ=
X-BSB-Auth: 1.2ac0963c996992c51d08.20220625202414BST.871qvcwnq9.fsf@bsb.me.uk
 by: Ben Bacarisse - Sat, 25 Jun 2022 19:24 UTC

Paul N <gw7rib@aol.com> writes:

> If P(P) returns, then a CORRECT emulation of it will reach the ret
> instruction. An emulation that runs forever, when P(P) does not, is
> not a correct emulation.

You have missed the magic words. We know a few things for certain about
PO's ever-so-secret code. One is that whatever it is the latest mantra
means "the correct simulation of the input to H(P,P)" is not the same as
the correct simulation of P(P). Why? Well PO is explicitly not talking
about an H that answers the halting problem, as translated into the
language of C functions returning.

He hasn't been talking about that for years, but in the past he was too
clear. He used to say things like "P(P) only halts because..." as if
the reason excused the wrong answer. He used to say that P(P) halts but
it would not halt is H didn't stop it (famously "if line 15 were
commented out"). All was too obvious.

The latest wording is proving more effective at sucking people down the
rabbit hole.

--
Ben.

Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<20220625203333.00007944@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34922&group=comp.theory#34922

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx01.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
Subject: Re: Technically competent Software engineers can verify this
halting problem proof refutation [ tautology ]
Message-ID: <20220625203333.00007944@reddwarf.jmc>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<t9637e$53p$1@dont-email.me>
<20edb990-f33e-4f3b-bc59-6cebf9f9def8n@googlegroups.com>
<wtidnY0ehdBiBiv_nZ2dnUU7_83NnZ2d@giganews.com>
<8328cb40-6b3c-4f89-a2ad-4054a6b466a6n@googlegroups.com>
<Jq2dnbDrVr_lhir_nZ2dnUU7_83NnZ2d@giganews.com>
<Jo2dnaO4cb0rvir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625160945.00006e9b@reddwarf.jmc>
<2umdnWsMdJX6uir_nZ2dnUU7_83NnZ2d@giganews.com>
<20220625162150.00002837@reddwarf.jmc>
<676dnb21wJs7sir_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220625165919.0000287e@reddwarf.jmc>
<_K6dnVgtXJforyr_nZ2dnUU7_8xh4p2d@giganews.com>
<20220625172518.00002fb8@reddwarf.jmc>
<S8udnWfpo60QpSr_nZ2dnUU7_8xh4p2d@giganews.com>
<20220625201230.00000c34@reddwarf.jmc>
<VNOdnS2kSbh1wir_nZ2dnUU7_8zNnZ2d@giganews.com>
Organization: Jupiter Mining Corp
X-Newsreader: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-w64-mingw32)
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Lines: 414
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Sat, 25 Jun 2022 19:33:29 UTC
Date: Sat, 25 Jun 2022 20:33:33 +0100
X-Received-Bytes: 20724
 by: Mr Flibble - Sat, 25 Jun 2022 19:33 UTC

On Sat, 25 Jun 2022 14:20:06 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/25/2022 2:12 PM, Mr Flibble wrote:
> > On Sat, 25 Jun 2022 11:32:12 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/25/2022 11:25 AM, Mr Flibble wrote:
> >>> On Sat, 25 Jun 2022 11:06:12 -0500
> >>> olcott <NoOne@NoWhere.com> wrote:
> >>>
> >>>> On 6/25/2022 10:59 AM, Mr Flibble wrote:
> >>>>> On Sat, 25 Jun 2022 10:54:13 -0500
> >>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>
> >>>>>> On 6/25/2022 10:21 AM, Mr Flibble wrote:
> >>>>>>> On Sat, 25 Jun 2022 10:19:02 -0500
> >>>>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>>>
> >>>>>>>> On 6/25/2022 10:09 AM, Mr Flibble wrote:
> >>>>>>>>> On Sat, 25 Jun 2022 10:03:17 -0500
> >>>>>>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>>>>>
> >>>>>>>>>> On 6/25/2022 9:28 AM, olcott wrote:
> >>>>>>>>>>> On 6/25/2022 2:32 AM, Malcolm McLean wrote:
> >>>>>>>>>>>> On Saturday, 25 June 2022 at 06:24:23 UTC+1, olcott
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>> On 6/25/2022 12:09 AM, Malcolm McLean wrote:
> >>>>>>>>>>>>>> On Saturday, 25 June 2022 at 05:33:53 UTC+1, olcott
> >>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>> On 6/24/2022 11:01 PM, Malcolm McLean wrote:
> >>>>>>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben
> >>>>>>>>>>>>>>>> Bacarisse wrote:
> >>>>>>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> "Dry run" means that a human programmer looks at
> >>>>>>>>>>>>>>>>>> the code, and determines
> >>>>>>>>>>>>>>>>>> what it does, without actually executing it.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Going back, now, to what you think needs to be
> >>>>>>>>>>>>>>>>> resolved: | He's dry-run P(P) and established that
> >>>>>>>>>>>>>>>>> it doesn't halt. He's invoked H
> >>>>>>>>>>>>>>>>> | on it and H reports that it doesn't halt. He's run
> >>>>>>>>>>>>>>>>> P(P) and it halts.
> >>>>>>>>>>>>>>>>> The obvious conclusion is that PO's dry run (if he
> >>>>>>>>>>>>>>>>> has indeed done such
> >>>>>>>>>>>>>>>>> a thing) is incorrect.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Exactly.
> >>>>>>>>>>>>>>>> We do our little energy budget on tigers, and find
> >>>>>>>>>>>>>>>> that tigers spend more energy
> >>>>>>>>>>>>>>>> than they take in. Well potentially this is dynamite.
> >>>>>>>>>>>>>>>> One explanation is that the
> >>>>>>>>>>>>>>>> law of conservation of energy is wrong.
> >>>>>>>>>>>>>>>> Except, before we countenance that explanation, we
> >>>>>>>>>>>>>>>> need to rule out a much
> >>>>>>>>>>>>>>>> simpler explanation. Which is that our measurements
> >>>>>>>>>>>>>>>> are wrong.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P)
> >>>>>>>>>>>>>>>> should be doing, by dry-running
> >>>>>>>>>>>>>>>> it, and then actually run P(P) and obtained a
> >>>>>>>>>>>>>>>> different result. He also found that H
> >>>>>>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
> >>>>>>>>>>>>>>>> conclusion, but it is extensive
> >>>>>>>>>>>>>>>> and far-reaching in its implications. The behaviour
> >>>>>>>>>>>>>>>> of code when run is different
> >>>>>>>>>>>>>>>> from the correct behaviour of the code when
> >>>>>>>>>>>>>>>> simulated. If that's true, then it has
> >>>>>>>>>>>>>>>> similar implications for computer science that
> >>>>>>>>>>>>>>>> disproving the conservation law
> >>>>>>>>>>>>>>>> has for physics.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> But the obvious explanation is that the dry-run was
> >>>>>>>>>>>>>>>> incorrect. Lots of people have
> >>>>>>>>>>>>>>>> suggested why it is incorrect. But they can't
> >>>>>>>>>>>>>>>> actually see the code. PO needs to
> >>>>>>>>>>>>>>>> understand that no-one will accept the complicated,
> >>>>>>>>>>>>>>>> far-reaching explanation,
> >>>>>>>>>>>>>>>> until the simple explanation has been ruled out.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I already proved that the dry run is correct.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Someone reports that tigers use more energy than they
> >>>>>>>>>>>>>> take in, and concludes that
> >>>>>>>>>>>>>> the energy conservation law is incorrect.
> >>>>>>>>>>>>>> Naturally, everyone is going to say "There must be some
> >>>>>>>>>>>>>> mistake. How were your
> >>>>>>>>>>>>>> measurements taken? Show us your calculations, maybe
> >>>>>>>>>>>>>> you've got your sums wrong."
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Now if they are also uncooperative about sharing the
> >>>>>>>>>>>>>> details of the investigation,
> >>>>>>>>>>>>>> those reservations will be magnified. There can be
> >>>>>>>>>>>>>> legitimate reasons. Tigers are
> >>>>>>>>>>>>>> rare and need to be conserved, you can't let anyone who
> >>>>>>>>>>>>>> wants have access to the
> >>>>>>>>>>>>>> tigers to try to repeat the measurements. But there's
> >>>>>>>>>>>>>> also a common illegitimate
> >>>>>>>>>>>>>> reason put forwards by people who make extraordinary
> >>>>>>>>>>>>>> claims. If the claims were
> >>>>>>>>>>>>>> unexceptional, such as that tigers have a similar
> >>>>>>>>>>>>>> energy budget to lions, then no-one
> >>>>>>>>>>>>>> would be saying "Show me your notebooks. How do you
> >>>>>>>>>>>>>> know that calorimeter was
> >>>>>>>>>>>>>> calibrated accurately? What's the name of the person
> >>>>>>>>>>>>>> who took that measurement
> >>>>>>>>>>>>>> and can I interview them?" Extraordinary claims are put
> >>>>>>>>>>>>>> through the wringer in a way
> >>>>>>>>>>>>>> that ordinary ones are not. I've seen complaints about
> >>>>>>>>>>>>>> this from parapsychologists.
> >>>>>>>>>>>>>> But if you're going to claim to have discovered a new
> >>>>>>>>>>>>>> physical principle, you need
> >>>>>>>>>>>>>> to present rock solid evidence.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> In this case, we can't see H. We can only suggest
> >>>>>>>>>>>>>> explanations for its behaviour.
> >>>>>>>>>>>>> It seems that you simply lack the technical competence.
> >>>>>>>>>>>>> Go back and look at my proof again.
> >>>>>>>>>>>>>
> >>>>>>>>>>>> Sorry no. I've been programming since I was a boy and I
> >>>>>>>>>>>> have a PhD in a computational-
> >>>>>>>>>>>> related subject. I'm confident of my technical abilities.
> >>>>>>>>>>>> What I can't do of course
> >>>>>>>>>>>> is tell you exactly what is going on in code I cannot
> >>>>>>>>>>>> see. I've got a pretty good idea,
> >>>>>>>>>>>> but I can only reconstruct on the basis of what you tell
> >>>>>>>>>>>> me. Ben thinks that I've
> >>>>>>>>>>>> got it wrong and in fact there are no nested emulations
> >>>>>>>>>>>> at all. I've no way of actually
> >>>>>>>>>>>> disproving that idea without seeing H.
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> To fully understand this a software engineer must be an
> >>>>>>>>>>> expert in: (a) The C programming language,
> >>>>>>>>>>> (b) The x86 programming language,
> >>>>>>>>>>> (c) Exactly how C translates into x86 and,
> >>>>>>>>>>> (d) The ability to recognize infinite recursion at the x86
> >>>>>>>>>>> assembly language level.
> >>>>>>>>>>>
> >>>>>>>>>>> Anyone having the above credentials can validate my work,
> >>>>>>>>>>> if you cannot validate my work then you do not
> >>>>>>>>>>> sufficiently have the above credentials.
> >>>>>>>>>>>
> >>>>>>>>>>> Exactly how C translates into x86 is mandatory. If you
> >>>>>>>>>>> don't know how the C calling conventions are implemented
> >>>>>>>>>>> in x86 you cannot validate my work.
> >>>>>>>>>>>
> >>>>>>>>>>> From a purely software engineering perspective
> >>>>>>>>>>> H(P,P) is required to to correctly determine that its
> >>>>>>>>>>> correct and complete x86 emulation of its input would
> >>>>>>>>>>> never reach the "ret" instruction of this input and H
> >>>>>>>>>>> must do this in a finite number of steps.
> >>>>>>>>>>>
> >>>>>>>>>>> The ordinary semantics of standard C and the conventional
> >>>>>>>>>>> x86 language are the entire semantics required to
> >>>>>>>>>>> conclusively prove that H(P,P) does correctly determine
> >>>>>>>>>>> that its correct and complete x86 emulation of its input
> >>>>>>>>>>> would never reach the "ret" instruction (final state) of
> >>>>>>>>>>> this input thus never halts.
> >>>>>>>>>>>
> >>>>>>>>>>> The correct and complete x86 emulation of its input by
> >>>>>>>>>>> H(P,P) would never reach the "ret" instruction of P
> >>>>>>>>>>> because both H and P would remain stuck in infinitely
> >>>>>>>>>>> nested emulation.
> >>>>>>>>>>>
> >>>>>>>>>>> void P(u32 x)
> >>>>>>>>>>> {
> >>>>>>>>>>>   if (H(x, x))
> >>>>>>>>>>>     HERE: goto HERE;
> >>>>>>>>>>>   return;
> >>>>>>>>>>> }
> >>>>>>>>>>>
> >>>>>>>>>>> int main()
> >>>>>>>>>>> {
> >>>>>>>>>>>   Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>>>>>>>>> }
> >>>>>>>>>>>
> >>>>>>>>>>> _P()
> >>>>>>>>>>> [00001202](01)  55              push ebp
> >>>>>>>>>>> [00001203](02)  8bec            mov ebp,esp
> >>>>>>>>>>> [00001205](03)  8b4508          mov eax,[ebp+08]
> >>>>>>>>>>> [00001208](01)  50              push eax
> >>>>>>>>>>> [00001209](03)  8b4d08          mov ecx,[ebp+08]
> >>>>>>>>>>> [0000120c](01)  51              push ecx
> >>>>>>>>>>> [0000120d](05)  e820feffff      call 00001032
> >>>>>>>>>>> [00001212](03)  83c408          add esp,+08
> >>>>>>>>>>> [00001215](02)  85c0            test eax,eax
> >>>>>>>>>>> [00001217](02)  7402            jz 0000121b
> >>>>>>>>>>> [00001219](02)  ebfe            jmp 00001219
> >>>>>>>>>>> [0000121b](01)  5d              pop ebp
> >>>>>>>>>>> [0000121c](01)  c3              ret
> >>>>>>>>>>> Size in bytes:(0027) [0000121c]
> >>>>>>>>>>>
> >>>>>>>>>>> _main()
> >>>>>>>>>>> [00001222](01)  55              push ebp
> >>>>>>>>>>> [00001223](02)  8bec            mov ebp,esp
> >>>>>>>>>>> [00001225](05)  6802120000      push 00001202
> >>>>>>>>>>> [0000122a](05)  6802120000      push 00001202
> >>>>>>>>>>> [0000122f](05)  e8fefdffff      call 00001032
> >>>>>>>>>>> [00001234](03)  83c408          add esp,+08
> >>>>>>>>>>> [00001237](01)  50              push eax
> >>>>>>>>>>> [00001238](05)  68b3030000      push 000003b3
> >>>>>>>>>>> [0000123d](05)  e8c0f1ffff      call 00000402
> >>>>>>>>>>> [00001242](03)  83c408          add esp,+08
> >>>>>>>>>>> [00001245](02)  33c0            xor eax,eax
> >>>>>>>>>>> [00001247](01)  5d              pop ebp
> >>>>>>>>>>> [00001248](01)  c3              ret
> >>>>>>>>>>> Size in bytes:(0039) [00001248]
> >>>>>>>>>>>
> >>>>>>>>>>>  machine   stack     stack     machine    assembly
> >>>>>>>>>>>  address   address   data      code       language
> >>>>>>>>>>>  ========  ========  ========  ========> >>>>>>>>>>> ============= [00001222][0010200f][00000000] 55
> >>>>>>>>>>> push ebp [00001223][0010200f][00000000] 8bec       mov
> >>>>>>>>>>> ebp,esp [00001225][0010200b][00001202] 6802120000 push
> >>>>>>>>>>> 00001202 // push P [0000122a][00102007][00001202]
> >>>>>>>>>>> 6802120000 push 00001202 // push P
> >>>>>>>>>>> [0000122f][00102003][00001234] e8fefdffff call 00001032
> >>>>>>>>>>> // call executed H
> >>>>>>>>>>>
> >>>>>>>>>>> Begin Simulation   Execution Trace Stored at:2120c3
> >>>>>>>>>>> Address_of_H:1032
> >>>>>>>>>>> [00001202][002120af][002120b3] 55         push ebp
> >>>>>>>>>>> [00001203][002120af][002120b3] 8bec       mov ebp,esp
> >>>>>>>>>>> [00001205][002120af][002120b3] 8b4508     mov eax,[ebp+08]
> >>>>>>>>>>> [00001208][002120ab][00001202] 50         push eax      //
> >>>>>>>>>>> push P [00001209][002120ab][00001202] 8b4d08     mov
> >>>>>>>>>>> ecx,[ebp+08] [0000120c][002120a7][00001202] 51
> >>>>>>>>>>> push ecx      // push P [0000120d][002120a3][00001212]
> >>>>>>>>>>> e820feffff call 00001032 // call emulated H Infinitely
> >>>>>>>>>>> Recursive Simulation Detected Simulation Stopped
> >>>>>>>>>>>
> >>>>>>>>>>> H knows its own machine address and on this basis it can
> >>>>>>>>>>> easily examine its stored execution_trace of P (see above)
> >>>>>>>>>>> to determine: (a) P is calling H with the same arguments
> >>>>>>>>>>> that H was called with. (b) No instructions in P could
> >>>>>>>>>>> possibly escape this otherwise infinitely recursive
> >>>>>>>>>>> emulation. (c) H aborts its emulation of P before its call
> >>>>>>>>>>> to H is emulated.
> >>>>>>>>>>
> >>>>>>>>>> When you know that H simply implements the above algorithm
> >>>>>>>>>> there is no need to see its source code. I am reserving the
> >>>>>>>>>> publication of the 5 pages of the source code of the halt
> >>>>>>>>>> decider for journal publication.
> >>>>>>>>>
> >>>>>>>>> Your H is not a pure function as it behaves differently
> >>>>>>>>> depending on what is invoking it (it returns a decision
> >>>>>>>>> answer to main() but not to P()) and it has side effects
> >>>>>>>>> (aborting a simulation).
> >>>>>>>>>
> >>>>>>>>> /Flibble
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> Finally a critique that has a reasonable basis.
> >>>>>>>>
> >>>>>>>> When I transformed H into a pure function of its inputs it
> >>>>>>>> always has the same behavior no matter how it is invoked.
> >>>>>>>>
> >>>>>>>> The x86 emulation of P is aborted before P invokes H.
> >>>>>>>
> >>>>>>> Nope. Preventing a call to H is equivalent to H behaving
> >>>>>>> differently for same inputs. Aborting a simulation is a side
> >>>>>>> effect: pure functions do not have side effects.
> >>>>>>>
> >>>>>>> /Flibble
> >>>>>>>
> >>>>>>
> >>>>>> In other words you are saying that a halt decider is simply not
> >>>>>> allowed to report when it correctly detects that it is being
> >>>>>> called in infinitely recursive simulation.
> >>>>>
> >>>>> I keep telling you this: the infinite recursion is NOT present
> >>>>> when using a valid halt decider: your H is NOT a valid halt
> >>>>> decider.
> >>>>>
> >>>>> Simulation is an erroneous approach as a simulating halt decider
> >>>>> can not answer in finite time for a non-halting input as there
> >>>>> is no proven general solution for detecting non-halting
> >>>>> behaviour.
> >>>>>
> >>>>> /Flibble
> >>>>>
> >>>>
> >>>> IN OTHER WORDS THOROUGH LACK OF TECHNICAL COMPETANCE OR
> >>>> DISHONESTLY YOU DENY THIS VERIFIABLE FACT:
> >>>>
> >>>> The correct and complete x86 emulation of its input by H(P,P)
> >>>> would never reach the "ret" instruction of P because both H and
> >>>> P would remain stuck in infinitely nested emulation.
> >>>
> >>> For [Strachey 1965] (and the proofs based on it) H is NOT a
> >>> simulating halt decider so there is no infinite recursion as there
> >>> is no emulation.
> >>>
> >>> Valid halt deciders ANALYSE P, they do not EMULATE P.
> >>>
> >>> /Flibble
> >>>
> >>
> >> I provide a halt decider H that gets the right answer and your
> >> rebuttal is that H does not get the right answer because there is
> >> another different halt decider named H1 that gets the wrong
> >> answer.
> >
> > Your H also gets the wrong answer:
> >
> > void Px(u32 x)
> > {
> > H(x, x);
> > return;
> > }
> >
> > int main()
> > {
> > Output("Input_Halts = ", H((u32)Px, (u32)Px));
> > }
> >
> > ...[000013e8][00102357][00000000] 83c408 add esp,+08
> > ...[000013eb][00102353][00000000] 50 push eax
> > ...[000013ec][0010234f][00000427] 6827040000 push 00000427
> > ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
> > Input_Halts = 0
> > ...[000013f6][00102357][00000000] 83c408 add esp,+08
> > ...[000013f9][00102357][00000000] 33c0 xor eax,eax
> > ...[000013fb][0010235b][00100000] 5d pop ebp
> > ...[000013fc][0010235f][00000004] c3 ret
> > Number of Instructions Executed(16120)
> >
> > It gets the answer wrong, i.e. input has not been decided correctly.
> > QED.
> >
> > /Flibble
> >
>
> Yet you only have dogma and no supporting reasoning.
>
> The reason that you only have dogma and no supporting reasoning is
> that tautologies such as this one have no correct rebuttal in the
> universe:
>
> The ordinary semantics of standard C and the conventional x86
> language are the entire semantics required to conclusively prove that
> H(P,P) does correctly predict that its correct and complete x86
> emulation of its input would never reach the "ret" instruction (final
> state) of this input thus never halts.

Click here to read the complete article

Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<486e2f52-c19c-49ef-9db9-1e7a3c7391b9n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34923&group=comp.theory#34923

  copy link   Newsgroups: comp.theory
X-Received: by 2002:adf:e196:0:b0:219:f3c7:fd88 with SMTP id az22-20020adfe196000000b00219f3c7fd88mr4880993wrb.402.1656185633508;
Sat, 25 Jun 2022 12:33:53 -0700 (PDT)
X-Received: by 2002:a81:14c9:0:b0:317:d4cf:135d with SMTP id
192-20020a8114c9000000b00317d4cf135dmr5931659ywu.494.1656185633057; Sat, 25
Jun 2022 12:33:53 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.88.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.theory
Date: Sat, 25 Jun 2022 12:33:52 -0700 (PDT)
In-Reply-To: <871qvcwnq9.fsf@bsb.me.uk>
Injection-Info: google-groups.googlegroups.com; posting-host=89.240.148.226; posting-account=0B-afgoAAABP6274zLUJKa8ZpdIdhsYx
NNTP-Posting-Host: 89.240.148.226
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com> <9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com> <SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com> <NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com> <AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com> <YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com> <Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com> <zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com> <S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com> <871qvcwnq9.fsf@bsb.me.uk>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <486e2f52-c19c-49ef-9db9-1e7a3c7391b9n@googlegroups.com>
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
From: gw7...@aol.com (Paul N)
Injection-Date: Sat, 25 Jun 2022 19:33:53 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Paul N - Sat, 25 Jun 2022 19:33 UTC

On Saturday, June 25, 2022 at 8:24:16 PM UTC+1, Ben Bacarisse wrote:
> Paul N <gw7...@aol.com> writes:
>
> > If P(P) returns, then a CORRECT emulation of it will reach the ret
> > instruction. An emulation that runs forever, when P(P) does not, is
> > not a correct emulation.
> You have missed the magic words. We know a few things for certain about
> PO's ever-so-secret code. One is that whatever it is the latest mantra
> means "the correct simulation of the input to H(P,P)" is not the same as
> the correct simulation of P(P). Why? Well PO is explicitly not talking
> about an H that answers the halting problem, as translated into the
> language of C functions returning.
>
> He hasn't been talking about that for years, but in the past he was too
> clear. He used to say things like "P(P) only halts because..." as if
> the reason excused the wrong answer. He used to say that P(P) halts but
> it would not halt is H didn't stop it (famously "if line 15 were
> commented out"). All was too obvious.
>
> The latest wording is proving more effective at sucking people down the
> rabbit hole.

Yes, perhaps I'm wasting my time here. I have got out of him now that:

>> The correct and complete emulation of the input to H(P,P) has halting
>> behavior that is provably different than the the direct execution of P(P).

>> "Common sense" tells you that they must be the same empirical proof
>> proves that they are not the same.

Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<LvWdnZNE0pju-Sr_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34924&group=comp.theory#34924

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 14:39:31 -0500
Date: Sat, 25 Jun 2022 14:39:29 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<5f26b879-5cd4-4f28-b7c4-c3e4ed0614c2n@googlegroups.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<871qvcwnq9.fsf@bsb.me.uk>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <871qvcwnq9.fsf@bsb.me.uk>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Message-ID: <LvWdnZNE0pju-Sr_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 56
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-Ih63J9C4B/dzODPKFklZsk7Ovfr4xH8G0vG5EYATpAgOB4uAu+nduChznfgR8iLjHnn1J80g28fSI1J!CKKaz+/ei/IbQz2Ase0QBCJfJcGuVWbE2sfoCVJ60WI9+6JGyYs5Mdh4Vgld+Ths2F7lRCQKAEQO
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 4648
X-Received-Bytes: 4739
 by: olcott - Sat, 25 Jun 2022 19:39 UTC

On 6/25/2022 2:24 PM, Ben Bacarisse wrote:
> Paul N <gw7rib@aol.com> writes:
>
>> If P(P) returns, then a CORRECT emulation of it will reach the ret
>> instruction. An emulation that runs forever, when P(P) does not, is
>> not a correct emulation.
>
> You have missed the magic words. We know a few things for certain about
> PO's ever-so-secret code. One is that whatever it is the latest mantra
> means "the correct simulation of the input to H(P,P)" is not the same as
> the correct simulation of P(P). Why? Well PO is explicitly not talking
> about an H that answers the halting problem, as translated into the
> language of C functions returning.
>
> He hasn't been talking about that for years, but in the past he was too
> clear. He used to say things like "P(P) only halts because..." as if
> the reason excused the wrong answer. He used to say that P(P) halts but
> it would not halt is H didn't stop it (famously "if line 15 were
> commented out"). All was too obvious.
>
> The latest wording is proving more effective at sucking people down the
> rabbit hole.
>

A halt decider must compute the mapping from its inputs to an accept or
reject state on the basis of the actual behavior that is actually
specified by these inputs.

It is provable that the behavior of the correct and complete x86
emulation of the input to H(P,P) never halts and the direct execution of
P(P) halts. H is required to decide on the basis of the former and not
allowed to decide on the basis of the latter unless it is the same as
the former.

These behaviors only diverge when H and P are defined to have this
pathological relationship to each other:

For any program H that might determine if programs halt, a
"pathological"
program P, called with some input, can pass its own source and its
input to
H and then specifically do the opposite of what H predicts P will
do. No H
can exist that handles this case.
https://en.wikipedia.org/wiki/Halting_problem

None of the textbook authors were aware that these behaviors could
possibly diverge because they never fully considered the effect of a
simulating halt decider applied to the halting problem counter-examples.

--
Copyright 2022 Pete Olcott

"Talent hits a target no one else can hit;
Genius hits a target no one else can see."
Arthur Schopenhauer

Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<kYSdneJoYN5H-yr_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34925&group=comp.theory#34925

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 25 Jun 2022 14:49:46 -0500
Date: Sat, 25 Jun 2022 14:49:44 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<871qvcwnq9.fsf@bsb.me.uk>
<486e2f52-c19c-49ef-9db9-1e7a3c7391b9n@googlegroups.com>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <486e2f52-c19c-49ef-9db9-1e7a3c7391b9n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Message-ID: <kYSdneJoYN5H-yr_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 142
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-VC1PGPKMWJtlF019TKuJnFOcjvJ2bVTz36FN0D7HX5a7k3Eeb57dWa2CLzEKfFSGuqEGzJBbccKCxpp!KaICkoo+9tUmEIlHcDHt6zw5f94XtGfomSqTbeTFAXM95rg0m/Ji3BbVnzDQEeZM1OT1y3WIJJZq
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 8234
 by: olcott - Sat, 25 Jun 2022 19:49 UTC

On 6/25/2022 2:33 PM, Paul N wrote:
> On Saturday, June 25, 2022 at 8:24:16 PM UTC+1, Ben Bacarisse wrote:
>> Paul N <gw7...@aol.com> writes:
>>
>>> If P(P) returns, then a CORRECT emulation of it will reach the ret
>>> instruction. An emulation that runs forever, when P(P) does not, is
>>> not a correct emulation.
>> You have missed the magic words. We know a few things for certain about
>> PO's ever-so-secret code. One is that whatever it is the latest mantra
>> means "the correct simulation of the input to H(P,P)" is not the same as
>> the correct simulation of P(P). Why? Well PO is explicitly not talking
>> about an H that answers the halting problem, as translated into the
>> language of C functions returning.
>>
>> He hasn't been talking about that for years, but in the past he was too
>> clear. He used to say things like "P(P) only halts because..." as if
>> the reason excused the wrong answer. He used to say that P(P) halts but
>> it would not halt is H didn't stop it (famously "if line 15 were
>> commented out"). All was too obvious.
>>
>> The latest wording is proving more effective at sucking people down the
>> rabbit hole.
>
> Yes, perhaps I'm wasting my time here. I have got out of him now that:
>
>>> The correct and complete emulation of the input to H(P,P) has halting
>>> behavior that is provably different than the the direct execution of P(P).
>
>>> "Common sense" tells you that they must be the same empirical proof
>>> proves that they are not the same.
>

Empirical proof is a term that is weaker than the actual proof:

Someone that very recently coached me on how to write formal
mathematical proofs of my claim indicated that I must specify the
precise semantics that I am referencing:

The ordinary semantics of standard C and the conventional x86 language
are the entire semantics required to conclusively prove that H(P,P) does
correctly predict that its correct and complete x86 emulation of its
input would never reach the "ret" instruction (final state) of this
input thus never halts.

This same proof shows that P(P) halts.

When we specify the precise semantics the proof gains much more than
mere "empirical" mathematical rigor.

void P(u32 x)
{ if (H(x, x))
HERE: goto HERE;
return;
}

int main()
{ P(P);
}

_P()
[000011f0](01) 55 push ebp
[000011f1](02) 8bec mov ebp,esp
[000011f3](03) 8b4508 mov eax,[ebp+08]
[000011f6](01) 50 push eax
[000011f7](03) 8b4d08 mov ecx,[ebp+08]
[000011fa](01) 51 push ecx
[000011fb](05) e820feffff call 00001020

[00001200](03) 83c408 add esp,+08
[00001203](02) 85c0 test eax,eax
[00001205](02) 7402 jz 00001209
[00001207](02) ebfe jmp 00001207
[00001209](01) 5d pop ebp
[0000120a](01) c3 ret
Size in bytes:(0027) [0000120a]

_main()
[00001210](01) 55 push ebp
[00001211](02) 8bec mov ebp,esp
[00001213](05) 68f0110000 push 000011f0
[00001218](05) e8d3ffffff call 000011f0
[0000121d](03) 83c404 add esp,+04
[00001220](02) 33c0 xor eax,eax
[00001222](01) 5d pop ebp
[00001223](01) c3 ret
Size in bytes:(0020) [00001223]

machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
[00001210][00101fba][00000000] 55 push ebp
[00001211][00101fba][00000000] 8bec mov ebp,esp
[00001213][00101fb6][000011f0] 68f0110000 push 000011f0 // push P
[00001218][00101fb2][0000121d] e8d3ffffff call 000011f0 // call P
[000011f0][00101fae][00101fba] 55 push ebp // enter executed P
[000011f1][00101fae][00101fba] 8bec mov ebp,esp
[000011f3][00101fae][00101fba] 8b4508 mov eax,[ebp+08]
[000011f6][00101faa][000011f0] 50 push eax // push P
[000011f7][00101faa][000011f0] 8b4d08 mov ecx,[ebp+08]
[000011fa][00101fa6][000011f0] 51 push ecx // push P
[000011fb][00101fa2][00001200] e820feffff call 00001020 // call H

Begin Simulation Execution Trace Stored at:21206e
Address_of_H:1020
[000011f0][0021205a][0021205e] 55 push ebp // enter emulated P
[000011f1][0021205a][0021205e] 8bec mov ebp,esp
[000011f3][0021205a][0021205e] 8b4508 mov eax,[ebp+08]
[000011f6][00212056][000011f0] 50 push eax // push P
[000011f7][00212056][000011f0] 8b4d08 mov ecx,[ebp+08]
[000011fa][00212052][000011f0] 51 push ecx // push P
[000011fb][0021204e][00001200] e820feffff call 00001020 // call emulated H
Infinitely Recursive Simulation Detected Simulation Stopped

H knows its own machine address and on this basis it can easily
examine its stored execution_trace of P (see above) to determine:
(a) P is calling H with the same arguments that H was called with.
(b) No instructions in P could possibly escape this otherwise infinitely
recursive emulation.
(c) H aborts its emulation of P before its call to H is emulated.

[00001200][00101fae][00101fba] 83c408 add esp,+08 // return to
executed P
[00001203][00101fae][00101fba] 85c0 test eax,eax
[00001205][00101fae][00101fba] 7402 jz 00001209
[00001209][00101fb2][0000121d] 5d pop ebp
[0000120a][00101fb6][000011f0] c3 ret // return from
executed P
[0000121d][00101fba][00000000] 83c404 add esp,+04
[00001220][00101fba][00000000] 33c0 xor eax,eax
[00001222][00101fbe][00100000] 5d pop ebp
[00001223][00101fc2][00000000] c3 ret // ret from main
Number of Instructions Executed(878) / 67 = 13 pages

--
Copyright 2022 Pete Olcott

"Talent hits a target no one else can hit;
Genius hits a target no one else can see."
Arthur Schopenhauer

Re: Technically competent Software engineers can verify this halting problem proof refutation [ tautology ]

<FZJtK.286953$vAW9.155624@fx10.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34926&group=comp.theory#34926

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx10.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ tautology ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<w6GdnTS8QYHH1ir_nZ2dnUU7_83NnZ2d@giganews.com>
<bf62d3d3-2adb-4546-a6d7-dd5bcca2a611n@googlegroups.com>
<udWdnT9pv9NZwyr_nZ2dnUU7_8zNnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <udWdnT9pv9NZwyr_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 657
Message-ID: <FZJtK.286953$vAW9.155624@fx10.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 25 Jun 2022 16:11:16 -0400
X-Received-Bytes: 33229
 by: Richard Damon - Sat, 25 Jun 2022 20:11 UTC

On 6/25/22 3:15 PM, olcott wrote:
> On 6/25/2022 1:58 PM, Paul N wrote:
>> On Saturday, June 25, 2022 at 6:52:33 PM UTC+1, olcott wrote:
>>> On 6/25/2022 12:21 PM, Paul N wrote:
>>>> On Saturday, June 25, 2022 at 5:29:33 PM UTC+1, olcott wrote:
>>>>> On 6/25/2022 11:19 AM, Paul N wrote:
>>>>>> On Saturday, June 25, 2022 at 3:10:50 PM UTC+1, olcott wrote:
>>>>>>> On 6/25/2022 6:56 AM, Paul N wrote:
>>>>>>>> On Friday, June 24, 2022 at 9:27:27 PM UTC+1, olcott wrote:
>>>>>>>>> On 6/24/2022 3:05 PM, Paul N wrote:
>>>>>>>>>> On Friday, June 24, 2022 at 7:52:22 PM UTC+1, olcott wrote:
>>>>>>>>>>> On 6/22/2022 9:23 PM, Dennis Bush wrote:
>>>>>>>>>>>> On Wednesday, June 22, 2022 at 10:15:11 PM UTC-4, olcott wrote:
>>>>>>>>>>>>> On 6/22/2022 8:44 PM, Dennis Bush wrote:
>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:38:03 PM UTC-4, olcott
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> On 6/22/2022 8:21 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 9:17:02 PM UTC-4, olcott
>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> On 6/22/2022 8:02 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 7:11:35 PM UTC-4,
>>>>>>>>>>>>>>>>>> olcott wrote:
>>>>>>>>>>>>>>>>>>> On 6/22/2022 5:48 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 6:22:56 PM UTC-4,
>>>>>>>>>>>>>>>>>>>> olcott wrote:
>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:53 PM, Dennis Bush wrote:
>>>>>>>>>>>>>>>>>>>>>> On Wednesday, June 22, 2022 at 5:41:51 PM UTC-4,
>>>>>>>>>>>>>>>>>>>>>> olcott wrote:
>>>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 4:20 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>>>>> On Wed, 22 Jun 2022 15:27:01 -0500
>>>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On 6/22/2022 2:31 PM, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, 21 Jun 2022 21:38:56 -0500
>>>>>>>>>>>>>>>>>>>>>>>>>> olcott <No...@NoWhere.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>>>>>>> #define u32 uint32_t
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> #include <stdint.h>
>>>>>>>>>>>>>>>>>>>>>>>>>>> typedef void (*ptr)();
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> void P(ptr x)
>>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>>> if (H(x, x))
>>>>>>>>>>>>>>>>>>>>>>>>>>> HERE: goto HERE;
>>>>>>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H(P, P));
>>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> _P()
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d2](01) 55 push ebp
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d3](02) 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d5](03) 8b4508 mov eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d8](01) 50 push eax
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d9](03) 8b4d08 mov ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dc](01) 51 push ecx
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dd](05) e820feffff call 00000f02
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e2](03) 83c408 add esp,+08
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e5](02) 85c0 test eax,eax
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e7](02) 7402 jz 000010eb
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010e9](02) ebfe jmp 000010e9
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010eb](01) 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010ec](01) c3 ret
>>>>>>>>>>>>>>>>>>>>>>>>>>> Size in bytes:(0027) [000010ec]
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software
>>>>>>>>>>>>>>>>>>>>>>>>>>> engineer can easily verify
>>>>>>>>>>>>>>>>>>>>>>>>>>> that the complete and correct x86 emulation
>>>>>>>>>>>>>>>>>>>>>>>>>>> of the input to H(P,P)
>>>>>>>>>>>>>>>>>>>>>>>>>>> by H would never reach the "ret" instruction
>>>>>>>>>>>>>>>>>>>>>>>>>>> of P because both H
>>>>>>>>>>>>>>>>>>>>>>>>>>> and P would remain stuck in infinitely
>>>>>>>>>>>>>>>>>>>>>>>>>>> recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> If H does correctly determine that this is
>>>>>>>>>>>>>>>>>>>>>>>>>>> the case in a finite
>>>>>>>>>>>>>>>>>>>>>>>>>>> number of steps then H could reject its input
>>>>>>>>>>>>>>>>>>>>>>>>>>> on this basis. Here
>>>>>>>>>>>>>>>>>>>>>>>>>>> are the details of exactly how H does this in
>>>>>>>>>>>>>>>>>>>>>>>>>>> a finite number of
>>>>>>>>>>>>>>>>>>>>>>>>>>> steps.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> typedef struct Decoded
>>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Address;
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 ESP; // Current value of ESP
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 TOS; // Current value of Top of Stack
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 NumBytes;
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Simplified_Opcode;
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Decode_Target;
>>>>>>>>>>>>>>>>>>>>>>>>>>> } Decoded_Line_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> machine stack stack machine assembly
>>>>>>>>>>>>>>>>>>>>>>>>>>> address address data code language
>>>>>>>>>>>>>>>>>>>>>>>>>>> ======== ======== ======== =========
>>>>>>>>>>>>>>>>>>>>>>>>>>> =============
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d2][00211e8a][00211e8e] 55 push ebp
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d3][00211e8a][00211e8e] 8bec mov ebp,esp
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d5][00211e8a][00211e8e] 8b4508 mov
>>>>>>>>>>>>>>>>>>>>>>>>>>> eax,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d8][00211e86][000010d2] 50 push eax //
>>>>>>>>>>>>>>>>>>>>>>>>>>> push P
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010d9][00211e86][000010d2] 8b4d08 mov
>>>>>>>>>>>>>>>>>>>>>>>>>>> ecx,[ebp+08]
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dc][00211e82][000010d2] 51 push ecx //
>>>>>>>>>>>>>>>>>>>>>>>>>>> push P
>>>>>>>>>>>>>>>>>>>>>>>>>>> [000010dd][00211e7e][000010e2] e820feffff
>>>>>>>>>>>>>>>>>>>>>>>>>>> call 00000f02 // call H
>>>>>>>>>>>>>>>>>>>>>>>>>>> Infinitely Recursive Simulation Detected
>>>>>>>>>>>>>>>>>>>>>>>>>>> Simulation Stopped
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> // actual fully operational code in the
>>>>>>>>>>>>>>>>>>>>>>>>>>> x86utm operating system
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 H(u32 P, u32 I)
>>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>>> HERE:
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 End_Of_Code;
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 Address_of_H; // 2022-06-17
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 code_end = get_code_end(P);
>>>>>>>>>>>>>>>>>>>>>>>>>>> Decoded_Line_Of_Code *decoded =
>>>>>>>>>>>>>>>>>>>>>>>>>>> (Decoded_Line_Of_Code*)
>>>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Decoded_Line_Of_Code));
>>>>>>>>>>>>>>>>>>>>>>>>>>> Registers* master_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>>>>>>> Registers* slave_state = (Registers*)
>>>>>>>>>>>>>>>>>>>>>>>>>>> Allocate(sizeof(Registers));
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32* slave_stack = Allocate(0x10000); // 64k;
>>>>>>>>>>>>>>>>>>>>>>>>>>> u32 execution_trace =
>>>>>>>>>>>>>>>>>>>>>>>>>>> (u32)Allocate(sizeof(Decoded_Line_Of_Code)
>>>>>>>>>>>>>>>>>>>>>>>>>>> * 1000);
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> __asm lea eax, HERE // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>>>>> __asm sub eax, 6 // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov Address_of_H, eax // 2022-06-18
>>>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov eax, END_OF_CODE
>>>>>>>>>>>>>>>>>>>>>>>>>>> __asm mov End_Of_Code, eax
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Output("Address_of_H:", Address_of_H); //
>>>>>>>>>>>>>>>>>>>>>>>>>>> 2022-06-11
>>>>>>>>>>>>>>>>>>>>>>>>>>> Init_slave_state(P, I, End_Of_Code,
>>>>>>>>>>>>>>>>>>>>>>>>>>> slave_state, slave_stack);
>>>>>>>>>>>>>>>>>>>>>>>>>>> Output("\nBegin Simulation Execution Trace
>>>>>>>>>>>>>>>>>>>>>>>>>>> Stored at:",
>>>>>>>>>>>>>>>>>>>>>>>>>>> execution_trace);
>>>>>>>>>>>>>>>>>>>>>>>>>>> if (Decide_Halting(&execution_trace,
>>>>>>>>>>>>>>>>>>>>>>>>>>> &decoded, code_end,
>>>>>>>>>>>>>>>>>>>>>>>>>>> &master_state, &slave_state, &slave_stack,
>>>>>>>>>>>>>>>>>>>>>>>>>>> Address_of_H, P, I))
>>>>>>>>>>>>>>>>>>>>>>>>>>> goto END_OF_CODE;
>>>>>>>>>>>>>>>>>>>>>>>>>>> return 0; // Does not halt
>>>>>>>>>>>>>>>>>>>>>>>>>>> END_OF_CODE:
>>>>>>>>>>>>>>>>>>>>>>>>>>> return 1; // Input has normally terminated
>>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> H knows its own machine address and on this
>>>>>>>>>>>>>>>>>>>>>>>>>>> basis it can easily
>>>>>>>>>>>>>>>>>>>>>>>>>>> examine its stored execution_trace of P and
>>>>>>>>>>>>>>>>>>>>>>>>>>> determine:
>>>>>>>>>>>>>>>>>>>>>>>>>>> (a) P is calling H with the same arguments
>>>>>>>>>>>>>>>>>>>>>>>>>>> that H was called with.
>>>>>>>>>>>>>>>>>>>>>>>>>>> (b) No instructions in P could possibly
>>>>>>>>>>>>>>>>>>>>>>>>>>> escape this otherwise
>>>>>>>>>>>>>>>>>>>>>>>>>>> infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>>>>>> (c) H aborts its emulation of P before its
>>>>>>>>>>>>>>>>>>>>>>>>>>> call to H is invoked.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Technically competent software engineers may
>>>>>>>>>>>>>>>>>>>>>>>>>>> not know this computer
>>>>>>>>>>>>>>>>>>>>>>>>>>> science:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> A halt decider must compute the mapping from
>>>>>>>>>>>>>>>>>>>>>>>>>>> its inputs to an
>>>>>>>>>>>>>>>>>>>>>>>>>>> accept or reject state on the basis of the
>>>>>>>>>>>>>>>>>>>>>>>>>>> actual behavior that is
>>>>>>>>>>>>>>>>>>>>>>>>>>> actually specified by these inputs.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> computation that halts … the Turing machine
>>>>>>>>>>>>>>>>>>>>>>>>>>> will halt whenever it
>>>>>>>>>>>>>>>>>>>>>>>>>>> enters a final state. (Linz:1990:234)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> The "ret" instruction of P is its final state.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal
>>>>>>>>>>>>>>>>>>>>>>>>>>> Languages and Automata.
>>>>>>>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>>>>>>>>>>>>>>>>>>>>>>> (317-320)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> void Px(u32 x)
>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>> H(x, x);
>>>>>>>>>>>>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
>>>>>>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013e8][00102357][00000000] 83c408 add
>>>>>>>>>>>>>>>>>>>>>>>>>> esp,+08
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013eb][00102353][00000000] 50 push eax
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013ec][0010234f][00000427] 6827040000
>>>>>>>>>>>>>>>>>>>>>>>>>> push 00000427
>>>>>>>>>>>>>>>>>>>>>>>>>> ---[000013f1][0010234f][00000427] e880f0ffff
>>>>>>>>>>>>>>>>>>>>>>>>>> call 00000476
>>>>>>>>>>>>>>>>>>>>>>>>>> Input_Halts = 0
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013f6][00102357][00000000] 83c408 add
>>>>>>>>>>>>>>>>>>>>>>>>>> esp,+08
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013f9][00102357][00000000] 33c0 xor
>>>>>>>>>>>>>>>>>>>>>>>>>> eax,eax
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
>>>>>>>>>>>>>>>>>>>>>>>>>> ...[000013fc][0010235f][00000004] c3 ret
>>>>>>>>>>>>>>>>>>>>>>>>>> Number of Instructions Executed(16120)
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> It gets the answer wrong, i.e. input has not
>>>>>>>>>>>>>>>>>>>>>>>>>> been decided correctly.
>>>>>>>>>>>>>>>>>>>>>>>>>> QED.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> /Flibble
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> You and Richard are insufficiently technically
>>>>>>>>>>>>>>>>>>>>>>>>> competent at software
>>>>>>>>>>>>>>>>>>>>>>>>> engineering not meeting these specs:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> A software engineer must be an expert in: the C
>>>>>>>>>>>>>>>>>>>>>>>>> programming language,
>>>>>>>>>>>>>>>>>>>>>>>>> the x86 programming language, exactly how C
>>>>>>>>>>>>>>>>>>>>>>>>> translates into x86 and
>>>>>>>>>>>>>>>>>>>>>>>>> the ability to recognize infinite recursion at
>>>>>>>>>>>>>>>>>>>>>>>>> the x86 assembly
>>>>>>>>>>>>>>>>>>>>>>>>> language level. No knowledge of the halting
>>>>>>>>>>>>>>>>>>>>>>>>> problem is required.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I cannot speak for Richard but I have 30+ years
>>>>>>>>>>>>>>>>>>>>>>>> C++ experience; I also
>>>>>>>>>>>>>>>>>>>>>>>> have C and x86 assembly experience (I once wrote
>>>>>>>>>>>>>>>>>>>>>>>> a Zilog Z80A CPU
>>>>>>>>>>>>>>>>>>>>>>>> emulator in 80286 assembly) and I can recognize
>>>>>>>>>>>>>>>>>>>>>>>> an infinite recursion;
>>>>>>>>>>>>>>>>>>>>>>>> the problem is that you cannot recognize the
>>>>>>>>>>>>>>>>>>>>>>>> fact that the infinite
>>>>>>>>>>>>>>>>>>>>>>>> recursion only manifests as part of your invalid
>>>>>>>>>>>>>>>>>>>>>>>> simulation-based
>>>>>>>>>>>>>>>>>>>>>>>> omnishambles:
>>>>>>>>>>>>>>>>>>>>>>> If you are competent then you already know this
>>>>>>>>>>>>>>>>>>>>>>> is true and lie about it:
>>>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer
>>>>>>>>>>>>>>>>>>>>>>> can easily verify that
>>>>>>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the
>>>>>>>>>>>>>>>>>>>>>>> input to H(Px,Px) by H
>>>>>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of P
>>>>>>>>>>>>>>>>>>>>>>> because both H and P would
>>>>>>>>>>>>>>>>>>>>>>> remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> H (if it was constructed correctly) is a
>>>>>>>>>>>>>>>>>>>>>> computation, and a computation *always* gives the
>>>>>>>>>>>>>>>>>>>>>> same output for a given input. So it doesn't make
>>>>>>>>>>>>>>>>>>>>>> sense to say what it "would" do. It either does or
>>>>>>>>>>>>>>>>>>>>>> does not perform a complete and correct emulation.
>>>>>>>>>>>>>>>>>>>>>> And because H contains code to abort, and does
>>>>>>>>>>>>>>>>>>>>>> abort, it does not do a complete emulation.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> So the input must be given to a UTM, which by
>>>>>>>>>>>>>>>>>>>>>> definition does a correct and complete simulation,
>>>>>>>>>>>>>>>>>>>>>> to see what the actual behavior is. UTM(Px,Px)
>>>>>>>>>>>>>>>>>>>>>> halts, therefore H(Px,Px)==0 is wrong.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Every sufficiently competent software engineer can
>>>>>>>>>>>>>>>>>>>>> easily verify that
>>>>>>>>>>>>>>>>>>>>> the complete and correct x86 emulation of the input
>>>>>>>>>>>>>>>>>>>>> to H(Px,Px) by H
>>>>>>>>>>>>>>>>>>>>> would never reach the "ret" instruction of Px
>>>>>>>>>>>>>>>>>>>>> because both H and Px
>>>>>>>>>>>>>>>>>>>>> would remain stuck in infinitely recursive emulation.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> So you just repeated what you said instead of
>>>>>>>>>>>>>>>>>>>> explaining why I'm wrong. In other words you
>>>>>>>>>>>>>>>>>>>> provided no rebuttal, which can only be taken to
>>>>>>>>>>>>>>>>>>>> mean that you have none.
>>>>>>>>>>>>>>>>>>> Your entire basis and all of assumptions was
>>>>>>>>>>>>>>>>>>> incorrect so when I
>>>>>>>>>>>>>>>>>>> provided an infallible one to that cannot possibly be
>>>>>>>>>>>>>>>>>>> correctly refuted
>>>>>>>>>>>>>>>>>>> you simply dodged it. That is a smart move for a
>>>>>>>>>>>>>>>>>>> dishonest person that
>>>>>>>>>>>>>>>>>>> is only interested in rebuttal.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I dare you to go back to the prior post and find any
>>>>>>>>>>>>>>>>>>> error in my
>>>>>>>>>>>>>>>>>>> airtight correct reasoning. Another dodge will be
>>>>>>>>>>>>>>>>>>> construed as a tacit
>>>>>>>>>>>>>>>>>>> admission of defeat.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> As stated before H (or more accurately Ha) does not
>>>>>>>>>>>>>>>>>> perform a complete and correct emulation because it
>>>>>>>>>>>>>>>>>> aborts. So by definition it cannot be complete.
>>>>>>>>>>>>>>>>> I never claimed that H(P,P) performs a complete and
>>>>>>>>>>>>>>>>> correct emulation of
>>>>>>>>>>>>>>>>> its input so your rebuttal is the strawman deception.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I claimed that H(P,P) correctly predicts that its
>>>>>>>>>>>>>>>>> complete and correct
>>>>>>>>>>>>>>>>> x86 emulation of its input would never reach the "ret"
>>>>>>>>>>>>>>>>> instruction of P.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> But since H, or more accurately Ha, *can't* do a correct
>>>>>>>>>>>>>>>> and complete emulation of its input, your point is moot.
>>>>>>>>>>>>>>> _Infinite_Loop()
>>>>>>>>>>>>>>> [00001082](01) 55 push ebp
>>>>>>>>>>>>>>> [00001083](02) 8bec mov ebp,esp
>>>>>>>>>>>>>>> [00001085](02) ebfe jmp 00001085
>>>>>>>>>>>>>>> [00001087](01) 5d pop ebp
>>>>>>>>>>>>>>> [00001088](01) c3 ret
>>>>>>>>>>>>>>> Size in bytes:(0007) [00001088]
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Begin Local Halt Decider Simulation Execution Trace
>>>>>>>>>>>>>>> Stored at:211e8f
>>>>>>>>>>>>>>> ...[00001082][00211e7f][00211e83] 55 push ebp
>>>>>>>>>>>>>>> ...[00001083][00211e7f][00211e83] 8bec mov ebp,esp
>>>>>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>>>>>>> ...[00001085][00211e7f][00211e83] ebfe jmp 00001085
>>>>>>>>>>>>>>> Infinite Loop Detected Simulation Stopped
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On the basis of this exact same utterly moronic reasoning
>>>>>>>>>>>>>>> because H
>>>>>>>>>>>>>>> *can't* do a correct and complete emulation of its input,
>>>>>>>>>>>>>>> H cannot
>>>>>>>>>>>>>>> possibly determine that _Infinite_Loop() never halts.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now who's using the strawman error? Just because H can
>>>>>>>>>>>>>> determine that _Infinite_Loop does not halt doesn't mean
>>>>>>>>>>>>>> that it gets other cases right. B
>>>>>>>>>>>>> You just said that H(P,P) cannot correctly predict that the
>>>>>>>>>>>>> correct and
>>>>>>>>>>>>> complete x86 emulation of its input would never reach the
>>>>>>>>>>>>> "ret"
>>>>>>>>>>>>> instruction of P without a compete x86 emulation of its
>>>>>>>>>>>>> input. I just
>>>>>>>>>>>>> proved that is a very stupid thing to say.
>>>>>>>>>>>>
>>>>>>>>>>>> You said that H can predict what *its* correct and complete
>>>>>>>>>>>> emulation would do, and I said that doesn't make sense
>>>>>>>>>>>> because H does not do correct and complete emulation. What H
>>>>>>>>>>>> *must* do is predict what *the* correct and complete
>>>>>>>>>>>> emulation, i.e. UTM(P,P), would do. And it fails to do that.
>>>>>>>>>>>  From a purely software engineering perspective H(P,P) is
>>>>>>>>>>> required to to
>>>>>>>>>>> correctly determine that its correct and complete x86
>>>>>>>>>>> emulation of its
>>>>>>>>>>> input would never reach the "ret" instruction of this input
>>>>>>>>>>> and H must
>>>>>>>>>>> do this in a finite number of steps.
>>>>>>>>>>>
>>>>>>>>>>> The ordinary semantics of standard C and the conventional x86
>>>>>>>>>>> language
>>>>>>>>>>> are the entire semantics required to conclusively prove that
>>>>>>>>>>> H(P,P) does
>>>>>>>>>>> correctly determine that its correct and complete x86
>>>>>>>>>>> emulation of its
>>>>>>>>>>> input would never reach the "ret" instruction.
>>>>>>>>>>>
>>>>>>>>>>> That you disagree with easily verified software engineering
>>>>>>>>>>> when you
>>>>>>>>>>> already know that this software engineering is correct speaks
>>>>>>>>>>> loads
>>>>>>>>>>> about your character.
>>>>>>>>>>>
>>>>>>>>>>> The only computer science that need be added to this is that
>>>>>>>>>>> the "ret"
>>>>>>>>>>> instruction is the final state of P and that a sequence of
>>>>>>>>>>> configurations that cannot possibly reach its final state is a
>>>>>>>>>>> non-halting sequence.
>>>>>>>>>>
>>>>>>>>>> You say that "H(P,P) is required to to correctly determine
>>>>>>>>>> that its correct and complete x86 emulation of its input would
>>>>>>>>>> never reach the "ret" instruction of this input". You seem to
>>>>>>>>>> be assuming that H does an emulation of P, that this emulation
>>>>>>>>>> includes emulating the call to H, that this call to H would
>>>>>>>>>> start emulating the call to P, etc, etc, and so the call to P
>>>>>>>>>> does not terminate.
>>>>>>>>>>
>>>>>>>>> Thanks for continuing to review this.
>>>>>>>>>
>>>>>>>>> No assumptions two years of software development derived fully
>>>>>>>>> operational software that conclusively proves this.
>>>>>>>>
>>>>>>>> It might help people's understanding if we had a few more
>>>>>>>> examples. Suppose, in addition to the normal P and H, we have
>>>>>>>> two more functions as follows:
>>>>>>>>
>>>>>>>> void Q(void)
>>>>>>>> {
>>>>>>>> if (H(P, P))
>>>>>>>> H2: goto H2;
>>>>>>>> return;
>>>>>>>> }
>>>>>>>>
>>>>>>>> void R(void)
>>>>>>>> {
>>>>>>>> H(P, P);
>>>>>>>> return;
>>>>>>>> }
>>>>>>>>
>>>>>>>> Will Q return? Will R return?
>>>>>>>>
>>>>>>> Yes they both return.
>>>>>>> void Q(void)
>>>>>>> {
>>>>>>> if (H(P, P))
>>>>>>> H2: goto H2;
>>>>>>> return;
>>>>>>> }
>>>>>>>
>>>>>>> void R(void)
>>>>>>> {
>>>>>>> H(P, P);
>>>>>>> return;
>>>>>>> }
>>>>>>> _P()
>>>>>>> [000011f0](01) 55 push ebp
>>>>>>> [000011f1](02) 8bec mov ebp,esp
>>>>>>> [000011f3](03) 8b4508 mov eax,[ebp+08]
>>>>>>> [000011f6](01) 50 push eax
>>>>>>> [000011f7](03) 8b4d08 mov ecx,[ebp+08]
>>>>>>> [000011fa](01) 51 push ecx
>>>>>>> [000011fb](05) e820feffff call 00001020
>>>>>>> [00001200](03) 83c408 add esp,+08
>>>>>>> [00001203](02) 85c0 test eax,eax
>>>>>>> [00001205](02) 7402 jz 00001209
>>>>>>> [00001207](02) ebfe jmp 00001207
>>>>>>> [00001209](01) 5d pop ebp
>>>>>>> [0000120a](01) c3 ret
>>>>>>> Size in bytes:(0027) [0000120a]
>>>>>>>
>>>>>>> _Q()
>>>>>>> [00001210](01) 55 push ebp
>>>>>>> [00001211](02) 8bec mov ebp,esp
>>>>>>> [00001213](05) 68f0110000 push 000011f0
>>>>>>> [00001218](05) 68f0110000 push 000011f0
>>>>>>> [0000121d](05) e8fefdffff call 00001020
>>>>>>> [00001222](03) 83c408 add esp,+08
>>>>>>> [00001225](02) 85c0 test eax,eax
>>>>>>> [00001227](02) 7402 jz 0000122b
>>>>>>> [00001229](02) ebfe jmp 00001229
>>>>>>> [0000122b](01) 5d pop ebp
>>>>>>> [0000122c](01) c3 ret
>>>>>>> Size in bytes:(0029) [0000122c]
>>>>>>>
>>>>>>> _main()
>>>>>>> [00001250](01) 55 push ebp
>>>>>>> [00001251](02) 8bec mov ebp,esp
>>>>>>> [00001253](05) e8b8ffffff call 00001210
>>>>>>> [00001258](02) 33c0 xor eax,eax
>>>>>>> [0000125a](01) 5d pop ebp
>>>>>>> [0000125b](01) c3 ret
>>>>>>> Size in bytes:(0012) [0000125b]
>>>>>>> machine stack stack machine assembly
>>>>>>> address address data code language
>>>>>>> ======== ======== ======== ========= =============
>>>>>>> ...[00001250][00102048][00000000] 55 push ebp
>>>>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>>>>>>> ...[00001253][00102044][00001258] e8b8ffffff call 00001210
>>>>>>> ...[00001210][00102040][00102048] 55 push ebp
>>>>>>> ...[00001211][00102040][00102048] 8bec mov ebp,esp
>>>>>>> ...[00001213][0010203c][000011f0] 68f0110000 push 000011f0
>>>>>>> ...[00001218][00102038][000011f0] 68f0110000 push 000011f0
>>>>>>> ...[0000121d][00102034][00001222] e8fefdffff call 00001020
>>>>>>>
>>>>>>> Begin Simulation Execution Trace Stored at:2120fc
>>>>>>> Address_of_H:1020
>>>>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
>>>>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>>>>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>>>>>>> ...[000011f6][002120e4][000011f0] 50 push eax
>>>>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>>>>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
>>>>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>>> ...[00001222][00102040][00102048] 83c408 add esp,+08
>>>>>>> ...[00001225][00102040][00102048] 85c0 test eax,eax
>>>>>>> ...[00001227][00102040][00102048] 7402 jz 0000122b
>>>>>>> ...[0000122b][00102044][00001258] 5d pop ebp
>>>>>>> ...[0000122c][00102048][00000000] c3 ret
>>>>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>>>>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
>>>>>>> ...[0000125b][00102050][00000000] c3 ret
>>>>>>> Number of Instructions Executed(874)
>>>>>>>
>>>>>>> Above is:
>>>>>>> int main()
>>>>>>> {
>>>>>>> Q();
>>>>>>> //R();
>>>>>>> }
>>>>>>>
>>>>>>> ---
>>>>>>> machine stack stack machine assembly
>>>>>>> address address data code language
>>>>>>> ======== ======== ======== ========= =============
>>>>>>> ...[00001250][00102048][00000000] 55 push ebp
>>>>>>> ...[00001251][00102048][00000000] 8bec mov ebp,esp
>>>>>>> ...[00001253][00102044][00001258] e8d8ffffff call 00001230
>>>>>>> ...[00001230][00102040][00102048] 55 push ebp
>>>>>>> ...[00001231][00102040][00102048] 8bec mov ebp,esp
>>>>>>> ...[00001233][0010203c][000011f0] 68f0110000 push 000011f0
>>>>>>> ...[00001238][00102038][000011f0] 68f0110000 push 000011f0
>>>>>>> ...[0000123d][00102034][00001242] e8defdffff call 00001020
>>>>>>>
>>>>>>> Begin Simulation Execution Trace Stored at:2120fc
>>>>>>> Address_of_H:1020
>>>>>>> ...[000011f0][002120e8][002120ec] 55 push ebp
>>>>>>> ...[000011f1][002120e8][002120ec] 8bec mov ebp,esp
>>>>>>> ...[000011f3][002120e8][002120ec] 8b4508 mov eax,[ebp+08]
>>>>>>> ...[000011f6][002120e4][000011f0] 50 push eax
>>>>>>> ...[000011f7][002120e4][000011f0] 8b4d08 mov ecx,[ebp+08]
>>>>>>> ...[000011fa][002120e0][000011f0] 51 push ecx
>>>>>>> ...[000011fb][002120dc][00001200] e820feffff call 00001020
>>>>>>> Infinitely Recursive Simulation Detected Simulation Stopped
>>>>>>> ...[00001242][00102040][00102048] 83c408 add esp,+08
>>>>>>> ...[00001245][00102044][00001258] 5d pop ebp
>>>>>>> ...[00001246][00102048][00000000] c3 ret
>>>>>>> ...[00001258][00102048][00000000] 33c0 xor eax,eax
>>>>>>> ...[0000125a][0010204c][00100000] 5d pop ebp
>>>>>>> ...[0000125b][00102050][00000000] c3 ret
>>>>>>> Number of Instructions Executed(872)
>>>>>>>
>>>>>>> Above is:
>>>>>>> int main()
>>>>>>> {
>>>>>>> //Q();
>>>>>>> R();
>>>>>>> }
>>>>>>
>>>>>> Right, so we're getting somewhere. Can you explain why Q()
>>>>>> returns, and P(P) doesn't, when they both do the same thing in the
>>>>>> same way?
>>>>> int main()
>>>>> {
>>>>> P(P);
>>>>> }
>>>>>
>>>>> does return.
>>>>>
>>>>> The correct and complete x86 emulation of its input by H(P,P)
>>>>> would never reach the "ret" instruction of P because both H and
>>>>> P would remain stuck in infinitely nested emulation.
>>>>
>>>> These last two statements of yours are a contradiction.
>>>>
>>>> If P(P) returns, then a CORRECT emulation of it will reach the ret
>>>> instruction. An emulation that runs forever, when P(P) does not, is
>>>> not a correct emulation.
>>>
>>> The ordinary semantics of standard C and the conventional x86 language
>>> are the entire semantics required to conclusively prove that H(P,P)
>>> *does correctly predict*
>>> that its correct and complete x86 emulation of its input would never
>>> reach the "ret" instruction (final state) of this input thus never
>>> halts.
>>> The correct and complete x86 emulation of its input by H would never
>>> reach the "ret" instruction of P because both H and P would remain stuck
>>> in infinitely nested emulation.
>>>
>>> I need reviewers like you so that I can *fine tune* my words.
>>
>> If you are saying that P(P) returns, but that a correct and complete
>> x86 emulation of P(P) does not, then I think you are going to have to
>> change either "correct" or "emulation" to some very different word.
>>
>
> The correct and complete emulation of the input to H(P,P) has halting
> behavior that is provably different than the the direct execution of P(P).


Click here to read the complete article
Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<RcLtK.141529$ssF.104375@fx14.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34930&group=comp.theory#34930

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx14.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<871qvcwnq9.fsf@bsb.me.uk>
<486e2f52-c19c-49ef-9db9-1e7a3c7391b9n@googlegroups.com>
<kYSdneJoYN5H-yr_nZ2dnUU7_83NnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <kYSdneJoYN5H-yr_nZ2dnUU7_83NnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 161
Message-ID: <RcLtK.141529$ssF.104375@fx14.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 25 Jun 2022 17:35:44 -0400
X-Received-Bytes: 9379
 by: Richard Damon - Sat, 25 Jun 2022 21:35 UTC

On 6/25/22 3:49 PM, olcott wrote:
> On 6/25/2022 2:33 PM, Paul N wrote:
>> On Saturday, June 25, 2022 at 8:24:16 PM UTC+1, Ben Bacarisse wrote:
>>> Paul N <gw7...@aol.com> writes:
>>>
>>>> If P(P) returns, then a CORRECT emulation of it will reach the ret
>>>> instruction. An emulation that runs forever, when P(P) does not, is
>>>> not a correct emulation.
>>> You have missed the magic words. We know a few things for certain about
>>> PO's ever-so-secret code. One is that whatever it is the latest mantra
>>> means "the correct simulation of the input to H(P,P)" is not the same as
>>> the correct simulation of P(P). Why? Well PO is explicitly not talking
>>> about an H that answers the halting problem, as translated into the
>>> language of C functions returning.
>>>
>>> He hasn't been talking about that for years, but in the past he was too
>>> clear. He used to say things like "P(P) only halts because..." as if
>>> the reason excused the wrong answer. He used to say that P(P) halts but
>>> it would not halt is H didn't stop it (famously "if line 15 were
>>> commented out"). All was too obvious.
>>>
>>> The latest wording is proving more effective at sucking people down the
>>> rabbit hole.
>>
>> Yes, perhaps I'm wasting my time here. I have got out of him now that:
>>
>>>> The correct and complete emulation of the input to H(P,P) has halting
>>>> behavior that is provably different than the the direct execution of
>>>> P(P).
>>
>>>> "Common sense" tells you that they must be the same empirical proof
>>>> proves that they are not the same.
>>
>
> Empirical proof is a term that is weaker than the actual proof:
>
> Someone that very recently coached me on how to write formal
> mathematical proofs of my claim indicated that I must specify the
> precise semantics that I am referencing:
>
> The ordinary semantics of standard C and the conventional x86 language
> are the entire semantics required to conclusively prove that H(P,P) does
> correctly predict that its correct and complete x86 emulation of its
> input would never reach the "ret" instruction (final state) of this
> input thus never halts.
>

But, but this definition, H needs to be a CORRECT emulation of its
input, which means that the emulation of H(P,P) needs to match the
bahavior of an actual call to H(P,P).

Since the conclusion of this argument is that H(P,P) is correctly
returning 0, then for the emulation to actaully be correct, it needs to
match that behavior.

This mean that it CAN NOT appear that H(P,P) never returns in the
correct emulation of the input, but MUST appear as a returning of 0.

> This same proof shows that P(P) halts.
>
> When we specify the precise semantics the proof gains much more than
> mere "empirical" mathematical rigor.
>
> void P(u32 x)
> {
>   if (H(x, x))
>     HERE: goto HERE;
>   return;
> }
>
> int main()
> {
>   P(P);
> }
>
> _P()
> [000011f0](01)  55              push ebp
> [000011f1](02)  8bec            mov ebp,esp
> [000011f3](03)  8b4508          mov eax,[ebp+08]
> [000011f6](01)  50              push eax
> [000011f7](03)  8b4d08          mov ecx,[ebp+08]
> [000011fa](01)  51              push ecx
> [000011fb](05)  e820feffff      call 00001020
>
> [00001200](03)  83c408          add esp,+08
> [00001203](02)  85c0            test eax,eax
> [00001205](02)  7402            jz 00001209
> [00001207](02)  ebfe            jmp 00001207
> [00001209](01)  5d              pop ebp
> [0000120a](01)  c3              ret
> Size in bytes:(0027) [0000120a]
>
> _main()
> [00001210](01)  55              push ebp
> [00001211](02)  8bec            mov ebp,esp
> [00001213](05)  68f0110000      push 000011f0
> [00001218](05)  e8d3ffffff      call 000011f0
> [0000121d](03)  83c404          add esp,+04
> [00001220](02)  33c0            xor eax,eax
> [00001222](01)  5d              pop ebp
> [00001223](01)  c3              ret
> Size in bytes:(0020) [00001223]
>
>  machine   stack     stack     machine    assembly
>  address   address   data      code       language
>  ========  ========  ========  =========  =============
> [00001210][00101fba][00000000] 55         push ebp
> [00001211][00101fba][00000000] 8bec       mov ebp,esp
> [00001213][00101fb6][000011f0] 68f0110000 push 000011f0 // push P
> [00001218][00101fb2][0000121d] e8d3ffffff call 000011f0 // call P
> [000011f0][00101fae][00101fba] 55         push ebp      // enter executed P
> [000011f1][00101fae][00101fba] 8bec       mov ebp,esp
> [000011f3][00101fae][00101fba] 8b4508     mov eax,[ebp+08]
> [000011f6][00101faa][000011f0] 50         push eax      // push P
> [000011f7][00101faa][000011f0] 8b4d08     mov ecx,[ebp+08]
> [000011fa][00101fa6][000011f0] 51         push ecx      // push P
> [000011fb][00101fa2][00001200] e820feffff call 00001020 // call H
>
> Begin Simulation   Execution Trace Stored at:21206e
> Address_of_H:1020
> [000011f0][0021205a][0021205e] 55         push ebp      // enter emulated P
> [000011f1][0021205a][0021205e] 8bec       mov ebp,esp
> [000011f3][0021205a][0021205e] 8b4508     mov eax,[ebp+08]
> [000011f6][00212056][000011f0] 50         push eax      // push P
> [000011f7][00212056][000011f0] 8b4d08     mov ecx,[ebp+08]
> [000011fa][00212052][000011f0] 51         push ecx      // push P
> [000011fb][0021204e][00001200] e820feffff call 00001020 // call emulated H
> Infinitely Recursive Simulation Detected Simulation Stopped
>
> H knows its own machine address and on this basis it can easily
> examine its stored execution_trace of P (see above) to determine:
> (a) P is calling H with the same arguments that H was called with.
> (b) No instructions in P could possibly escape this otherwise infinitely
> recursive emulation.

and (b) is proved incorrect from the definition of correctly emulating
an actual call of H(P,P), which is known to return 0 for this case.

> (c) H aborts its emulation of P before its call to H is emulated.

but based on a FALSE assumption about what that emulation would do.

You (b) can ONLY be established based on an assumption that H actually
does a complete and correct emulation, which is broken by the actual
fact that it will abort it simulation.
>
> [00001200][00101fae][00101fba] 83c408     add esp,+08   // return to
> executed P
> [00001203][00101fae][00101fba] 85c0       test eax,eax
> [00001205][00101fae][00101fba] 7402       jz 00001209
> [00001209][00101fb2][0000121d] 5d         pop ebp
> [0000120a][00101fb6][000011f0] c3         ret           // return from
> executed P
> [0000121d][00101fba][00000000] 83c404     add esp,+04
> [00001220][00101fba][00000000] 33c0       xor eax,eax
> [00001222][00101fbe][00100000] 5d         pop ebp
> [00001223][00101fc2][00000000] c3         ret           // ret from main
> Number of Instructions Executed(878) / 67 = 13 pages
>
>

Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<iMMtK.157475$ntj.15039@fx15.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34932&group=comp.theory#34932

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx15.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation [ truism ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<871qvcwnq9.fsf@bsb.me.uk> <LvWdnZNE0pju-Sr_nZ2dnUU7_8zNnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <LvWdnZNE0pju-Sr_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 76
Message-ID: <iMMtK.157475$ntj.15039@fx15.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 25 Jun 2022 19:21:49 -0400
X-Received-Bytes: 5163
 by: Richard Damon - Sat, 25 Jun 2022 23:21 UTC

On 6/25/22 3:39 PM, olcott wrote:
> On 6/25/2022 2:24 PM, Ben Bacarisse wrote:
>> Paul N <gw7rib@aol.com> writes:
>>
>>> If P(P) returns, then a CORRECT emulation of it will reach the ret
>>> instruction. An emulation that runs forever, when P(P) does not, is
>>> not a correct emulation.
>>
>> You have missed the magic words.  We know a few things for certain about
>> PO's ever-so-secret code.  One is that whatever it is the latest mantra
>> means "the correct simulation of the input to H(P,P)" is not the same as
>> the correct simulation of P(P).  Why?  Well PO is explicitly not talking
>> about an H that answers the halting problem, as translated into the
>> language of C functions returning.
>>
>> He hasn't been talking about that for years, but in the past he was too
>> clear.  He used to say things like "P(P) only halts because..." as if
>> the reason excused the wrong answer.  He used to say that P(P) halts but
>> it would not halt is H didn't stop it (famously "if line 15 were
>> commented out").  All was too obvious.
>>
>> The latest wording is proving more effective at sucking people down the
>> rabbit hole.
>>
>
> A halt decider must compute the mapping from its inputs to an accept or
> reject state on the basis of the actual behavior that is actually
> specified by these inputs.
>
> It is provable that the behavior of the correct and complete x86
> emulation of the input to H(P,P) never halts and the direct execution of
> P(P) halts. H is required to decide on the basis of the former and not
> allowed to decide on the basis of the latter unless it is the same as
> the former.

Which means that P isn't the "impossible program" required by the proof.

P needs to ask H about itself applied to its input.

If H(P,P) isn't that for P(P), then either P isn't defined right to ask
H the proper question, of H isn't interpreeting its input correctly.

Either way, you LIE that you are doing things according to the proof.

>
> These behaviors only diverge when H and P are defined to have this
> pathological relationship to each other:
>
>      For any program H that might determine if programs halt, a
> "pathological"
>      program P, called with some input, can pass its own source and its
> input to
>      H and then specifically do the opposite of what H predicts P will
> do. No H
>      can exist that handles this case.
> https://en.wikipedia.org/wiki/Halting_problem
>
> None of the textbook authors were aware that these behaviors could
> possibly diverge because they never fully considered the effect of a
> simulating halt decider applied to the halting problem counter-examples.
>

Because they CAN'T and have H and P meet their actual requirements.

DEFINITION.

If H(P,P) doesn't look at the behavior of P(P), then P should call H
with that sequence, but whatever it needs to do to represent that.

If H can't have an input that represents P(P), then that shows that H
can't correctly decide that problem, and thus fails to be the needed
decider.

Remember, the requriement is to find an H that can decide on all MACHINE
/ INPUT combinations, NOT all "inputs" that can be given to it.

Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]

<87pmiwuxv0.fsf@bsb.me.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=34933&group=comp.theory#34933

  copy link   Newsgroups: comp.theory
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.theory
Subject: Re: Technically competent Software engineers can verify this halting problem proof refutation [ truism ]
Date: Sun, 26 Jun 2022 00:28:19 +0100
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <87pmiwuxv0.fsf@bsb.me.uk>
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<9OydnaRCCvQ9PC7_nZ2dnUU7_83NnZ2d@giganews.com>
<58dc4a7a-d635-44bb-bf2a-3a959d9d808an@googlegroups.com>
<SJ-dnXBdiJ6aIi7_nZ2dnUU7_83NnZ2d@giganews.com>
<d59b136e-6411-462f-9b62-229c0ac00608n@googlegroups.com>
<NZmdnRY_I-BpXi7_nZ2dnUU7_83NnZ2d@giganews.com>
<5934b17d-9607-49d1-97db-813a232a6d94n@googlegroups.com>
<AfGdncZCoPo1US7_nZ2dnUU7_83NnZ2d@giganews.com>
<15937d3c-f189-4c7a-bd39-2d7e25754d15n@googlegroups.com>
<YZqdnR1GHIpCmiv_nZ2dnUU7_8zNnZ2d@giganews.com>
<ec1c047f-97f1-49df-abf9-cc53d2d9b4e5n@googlegroups.com>
<Uaudnfan2u21gyv_nZ2dnUU7_83NnZ2d@giganews.com>
<ba57458e-02e2-4d31-af47-972c96a34871n@googlegroups.com>
<zZqdnd7eJKj_iir_nZ2dnUU7_8zNnZ2d@giganews.com>
<f0fa1007-c2e1-405d-b74c-b9701fc33ab0n@googlegroups.com>
<S8udnWTpo617qir_nZ2dnUU7_8zNnZ2d@giganews.com>
<bf7c8dfe-4551-4589-a273-d0dff16a87a0n@googlegroups.com>
<871qvcwnq9.fsf@bsb.me.uk>
<486e2f52-c19c-49ef-9db9-1e7a3c7391b9n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: reader01.eternal-september.org; posting-host="9de7364df76ea86855e6d3fbce7aadf3";
logging-data="3829775"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nwTmSOhi09xNYnMYQ7fipVC01KjN3cz0="
Cancel-Lock: sha1:0VXD9ib47vUDrt90BxebjQ8KDxs=
sha1:8FBdJYi0qMsDWe0KJ4IGFxXQLgg=
X-BSB-Auth: 1.63be5d23ef5438d61c53.20220626002819BST.87pmiwuxv0.fsf@bsb.me.uk
 by: Ben Bacarisse - Sat, 25 Jun 2022 23:28 UTC

Paul N <gw7rib@aol.com> writes:

> On Saturday, June 25, 2022 at 8:24:16 PM UTC+1, Ben Bacarisse wrote:

>> The latest wording is proving more effective at sucking people down the
>> rabbit hole.
>
> Yes, perhaps I'm wasting my time here. I have got out of him now that:
>
>>> The correct and complete emulation of the input to H(P,P) has halting
>>> behavior that is provably different than the the direct execution of
>>> P(P).

Not to diminish the achievement of getting any clear statements from PO,
but that's not new. I made a note on June 13th that he'd come clean
about this:

"Before my research no one was aware of the possibility that the
correctly simulated input to H(P,P) could possibly have behavior that
is different than the directly executed P(P)."

--
Ben.

Pages:123456789
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor