Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Row, row, row your bits, gently down the stream...


devel / comp.lang.c / Refuting the HP proofs (adapted for software engineers)

SubjectAuthor
* Refuting the HP proofs (adapted for software engineers)olcott
+* Re: Refuting the HP proofs (adapted for software engineers)Manu Raju
|`* Re: Refuting the HP proofs (adapted for software engineers)olcott
| +* Re: Refuting the HP proofs (adapted for software engineers)Richard Damon
| |`- Re: Refuting the HP proofs (adapted for software engineers)olcott
| `* Re: Refuting the HP proofs (adapted for software engineers)Manu Raju
|  `* Re: Refuting the HP proofs (adapted for software engineers)olcott
|   `* Re: Refuting the HP proofs (adapted for software engineers)Manu Raju
|    `* Re: Refuting the HP proofs (adapted for software engineers)olcott
|     `* Re: Refuting the HP proofs (adapted for software engineers)Mr Flibble
|      `- Re: Refuting the HP proofs (adapted for software engineers)olcott
+* Re: Refuting the HP proofs (adapted for software engineers)Muttley
|`* Re: Refuting the HP proofs (adapted for software engineers)olcott
| `* Re: Refuting the HP proofs (adapted for software engineers)Muttley
|  `* Re: Refuting the HP proofs (adapted for software engineers)olcott
|   `* Re: Refuting the HP proofs (adapted for software engineers)Freethinker
|    `- Re: Refuting the HP proofs (adapted for software engineers)olcott
`* Re: Refuting the HP proofs (adapted for software engineers)[ Mikeolcott
 +* Re: Refuting the HP proofs (adapted for software engineers)[ MikeRichard Damon
 |`* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 | `* Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]Mr Flibble
 |  +* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |`* Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]Mr Flibble
 |  | `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |  `* Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]Mr Flibble
 |  |   `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |    `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |     `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |      `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |       `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |        `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |         `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |          `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |           `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |            `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             +* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |`* Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]Mr Flibble
 |  |             | `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |  `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |   +- Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |   `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |    `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |     +* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |     |`- Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |     `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |      `* Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]Mr Flibble
 |  |             |       `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |        `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |         `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |          `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |           `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |            `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |             `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |              `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |               `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |                +- Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |                `* Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             |                 `* Re: Refuting the HP proofs (adapted for software engineers)[Mr Flibble
 |  |             |                  `- Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  |             `* Re: Refuting the HP proofs (adapted for software engineers)[ membersMike Terry
 |  |              `- Re: Refuting the HP proofs (adapted for software engineers)[ membersolcott
 |  `- Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]Siri Cruise
 `- Re: Refuting the HP proofs (adapted for software engineers)[ MikeMr Flibble

Pages:123
Refuting the HP proofs (adapted for software engineers)

<LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21819&group=comp.lang.c#21819

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.lang.c comp.lang.c++
Followup: comp.theory,comp.ai.philosophy,sci.logic,comp.software-eng
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: Fri, 03 Jun 2022 17:17:13 -0500
Date: Fri, 3 Jun 2022 17:17:12 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Newsgroups: comp.theory,comp.ai.philosophy,comp.lang.c,comp.lang.c++
Content-Language: en-US
From: NoO...@NoWhere.com (olcott)
Subject: Refuting the HP proofs (adapted for software engineers)
Followup-To: comp.theory,comp.ai.philosophy,sci.logic,comp.software-eng
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 75
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-ZctXa26ZNPk+eOWTE5SmOZgDMxr3JuxMqUrhWsFw9VlwVzD+cC9fJvd14rY/vqO7/PlbAf/uxOeNg+v!4Ckx1EcIaR0wUCCIWgcFSySnU153LLaBRU8cbbKIO91owz0easKEnRHc5r+w/73P57Kjh9HQgwIw
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: 3900
 by: olcott - Fri, 3 Jun 2022 22:17 UTC

This post assumes that you already know my work, otherwise please read
the linked paper provided below. This work is based on the x86utm
operating system that was created so that every detail of the halting
problem could be directly examined in C/x86.

void Infinite_Loop()
{ HERE: goto HERE;
}

int main()
{ Output("Input_Halts = ", H0(Infinite_Loop));
}

_Infinite_Loop()
[00001342](01) 55 push ebp
[00001343](02) 8bec mov ebp,esp
[00001345](02) ebfe jmp 00001345
[00001347](01) 5d pop ebp
[00001348](01) c3 ret
Size in bytes:(0007) [00001348]

It is totally obvious that the _Infinite_Loop() would never halt
(meaning that it terminates normally by reaching its "ret" instruction).

Equally obvious is the fact that a partial x86 emulation of this input
conclusively proves that its complete x86 emulation would never halt.

Begin Local Halt Decider Simulation Execution Trace Stored at:212343
[00001342][00212333][00212337] 55 push ebp
[00001343][00212333][00212337] 8bec mov ebp,esp
[00001345][00212333][00212337] ebfe jmp 00001345
[00001345][00212333][00212337] ebfe jmp 00001345
Local Halt Decider: Infinite Loop Detected Simulation Stopped

The exact same reasoning applies to the correctly emulated input to H(P,P):

_P()
[00001352](01) 55 push ebp
[00001353](02) 8bec mov ebp,esp
[00001355](03) 8b4508 mov eax,[ebp+08]
[00001358](01) 50 push eax // push P
[00001359](03) 8b4d08 mov ecx,[ebp+08]
[0000135c](01) 51 push ecx // push P
[0000135d](05) e840feffff call 000011a2 // call H
[00001362](03) 83c408 add esp,+08
[00001365](02) 85c0 test eax,eax
[00001367](02) 7402 jz 0000136b
[00001369](02) ebfe jmp 00001369
[0000136b](01) 5d pop ebp
[0000136c](01) c3 ret
Size in bytes:(0027) [0000136c]

It is completely obvious that when H(P,P) correctly emulates its input
that it must emulate the first seven instructions of P.

Because the seventh instruction repeats this process we can know with
complete certainty that the emulated P never reaches its final “ret”
instruction, thus never halts.

Halting problem undecidability and infinitely nested simulation (V5)

https://www.researchgate.net/publication/359984584_Halting_problem_undecidability_and_infinitely_nested_simulation_V5

--
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: Refuting the HP proofs (adapted for software engineers)

<t7e4bq$ddv$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21820&group=comp.lang.c#21820

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: MR...@invalid.invalid (Manu Raju)
Newsgroups: comp.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Date: Sat, 4 Jun 2022 00:08:39 +0100
Organization: Aioe.org NNTP Server
Lines: 15
Message-ID: <t7e4bq$ddv$1@dont-email.me>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 3 Jun 2022 23:09:46 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="6d4cb9969d35a73ec818ac28b6a3534e";
logging-data="13759"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+X5sUwc8d93yZiop95bRMcHB19XiTq1/4="
Cancel-Lock: sha1:oPrmmZyiEW2y6DO5Ga/1PMIgSXE=
In-Reply-To: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Language: en-GB
 by: Manu Raju - Fri, 3 Jun 2022 23:08 UTC

On 03/06/2022 23:17, olcott wrote:
> This post assumes that you already know my work, otherwise please read
> the linked paper provided below. This work is based on the x86utm
> operating system that was created so that every detail of the halting
> problem could be directly examined in C/x86.

Have you thought of publishing your work on Wikipedia? I think you will
like it because people will contribute to your work.

I think Wikipedia is the best medium for you, Olcott,  and Ramine to get
maximum global exposure make name for yourselves before you die.

Re: Refuting the HP proofs (adapted for software engineers)

<U9CdnfLTJd_3Pgf_nZ2dnUU7_81g4p2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21821&group=comp.lang.c#21821

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Fri, 03 Jun 2022 19:12:26 -0500
Date: Fri, 3 Jun 2022 19:12:25 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7e4bq$ddv$1@dont-email.me>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <t7e4bq$ddv$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <U9CdnfLTJd_3Pgf_nZ2dnUU7_81g4p2d@giganews.com>
Lines: 24
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-v4duTVt2sE2L6gsCu42P27OJXkdO2LSTxEMC0PO+cwS0z1CTsmwrQjk5wplSPpdDjnNgXpVQJYi47Cx!5U6QGOT9fjpq3GbEUsAOV63LJ9z155uQP05ItV9STRDfzPeEl3Px2yWXoez5xggOTNrHwneZEXoh
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: 2129
 by: olcott - Sat, 4 Jun 2022 00:12 UTC

On 6/3/2022 6:08 PM, Manu Raju wrote:
> On 03/06/2022 23:17, olcott wrote:
>> This post assumes that you already know my work, otherwise please read
>> the linked paper provided below. This work is based on the x86utm
>> operating system that was created so that every detail of the halting
>> problem could be directly examined in C/x86.
>
>
> Have you thought of publishing your work on Wikipedia? I think you will
> like it because people will contribute to your work.
>
> I think Wikipedia is the best medium for you, Olcott,  and Ramine to get
> maximum global exposure make name for yourselves before you die.

I yes, I have. They make sure to erase anything that has not been
properly peer reviewed.

--
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: Refuting the HP proofs (adapted for software engineers)

<scymK.66223$wIO9.6611@fx12.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21822&group=comp.lang.c#21822

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx12.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.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7e4bq$ddv$1@dont-email.me> <U9CdnfLTJd_3Pgf_nZ2dnUU7_81g4p2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <U9CdnfLTJd_3Pgf_nZ2dnUU7_81g4p2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 26
Message-ID: <scymK.66223$wIO9.6611@fx12.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: Fri, 3 Jun 2022 21:04:24 -0400
X-Received-Bytes: 2084
 by: Richard Damon - Sat, 4 Jun 2022 01:04 UTC

On 6/3/22 8:12 PM, olcott wrote:
> On 6/3/2022 6:08 PM, Manu Raju wrote:
>> On 03/06/2022 23:17, olcott wrote:
>>> This post assumes that you already know my work, otherwise please
>>> read the linked paper provided below. This work is based on the
>>> x86utm operating system that was created so that every detail of the
>>> halting problem could be directly examined in C/x86.
>>
>>
>> Have you thought of publishing your work on Wikipedia? I think you
>> will like it because people will contribute to your work.
>>
>> I think Wikipedia is the best medium for you, Olcott,  and Ramine to
>> get maximum global exposure make name for yourselves before you die.
>
> I yes, I have. They make sure to erase anything that has not been
> properly peer reviewed.
>
>

Actually, I thought Wikipedia had a rule that everything was supposed to
be sources to some reliable source elsewhere, and "original content"
wasn't supposed to be "published" on Wikipedia.

Until you can get your ideas published somewhere that is considered a
"reliable sourced" you can't refer to it/discuss it on Wikipedia.

Re: Refuting the HP proofs (adapted for software engineers)

<UbKdnXhzpfYVJAf_nZ2dnUU7_81g4p2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21823&group=comp.lang.c#21823

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Fri, 03 Jun 2022 20:46:48 -0500
Date: Fri, 3 Jun 2022 20:46:48 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7e4bq$ddv$1@dont-email.me> <U9CdnfLTJd_3Pgf_nZ2dnUU7_81g4p2d@giganews.com>
<scymK.66223$wIO9.6611@fx12.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <scymK.66223$wIO9.6611@fx12.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <UbKdnXhzpfYVJAf_nZ2dnUU7_81g4p2d@giganews.com>
Lines: 36
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-HkvsF3znIQ9yrodiBMpE9cSbywRAp0jtE3NFlerFhgfXE5G316C7E/JTt8I1CWhq7WaO2yzX7kGsWva!W5rFtau4eclQdMWQ8QmHebEFm++oviDUgPB4Ms6yVeGyWHcPdqWHKEMf71CoSM4NZCY1YiuuATTr
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: 2709
 by: olcott - Sat, 4 Jun 2022 01:46 UTC

On 6/3/2022 8:04 PM, Richard Damon wrote:
> On 6/3/22 8:12 PM, olcott wrote:
>> On 6/3/2022 6:08 PM, Manu Raju wrote:
>>> On 03/06/2022 23:17, olcott wrote:
>>>> This post assumes that you already know my work, otherwise please
>>>> read the linked paper provided below. This work is based on the
>>>> x86utm operating system that was created so that every detail of the
>>>> halting problem could be directly examined in C/x86.
>>>
>>>
>>> Have you thought of publishing your work on Wikipedia? I think you
>>> will like it because people will contribute to your work.
>>>
>>> I think Wikipedia is the best medium for you, Olcott,  and Ramine to
>>> get maximum global exposure make name for yourselves before you die.
>>
>> I yes, I have. They make sure to erase anything that has not been
>> properly peer reviewed.
>>
>>
>
> Actually, I thought Wikipedia had a rule that everything was supposed to
> be sources to some reliable source elsewhere, and "original content"
> wasn't supposed to be "published" on Wikipedia.
>
> Until you can get your ideas published somewhere that is considered a
> "reliable sourced" you can't refer to it/discuss it on Wikipedia.

That is what I said.

--
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: Refuting the HP proofs (adapted for software engineers)

<t7f45l$15gj$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21824&group=comp.lang.c#21824

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!aioe.org!BKzeqmo2UYxb4eR2zKm0zw.user.46.165.242.91.POSTED!not-for-mail
From: Mutt...@dastardlyhq.com
Newsgroups: comp.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Date: Sat, 4 Jun 2022 08:12:37 -0000 (UTC)
Organization: Aioe.org NNTP Server
Message-ID: <t7f45l$15gj$1@gioia.aioe.org>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
Injection-Info: gioia.aioe.org; logging-data="38419"; posting-host="BKzeqmo2UYxb4eR2zKm0zw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-Notice: Filtered by postfilter v. 0.9.2
 by: Mutt...@dastardlyhq.com - Sat, 4 Jun 2022 08:12 UTC

On Fri, 3 Jun 2022 17:17:12 -0500
olcott <NoOne@NoWhere.com> wrote:
>This post assumes that you already know my work, otherwise please read
>the linked paper provided below. This work is based on the x86utm

Thanks, but I need to go watch some paint dry. Maybe next time.

Re: Refuting the HP proofs (adapted for software engineers)

<X5adnYqWV7ZBGQb_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21831&group=comp.lang.c#21831

  copy link   Newsgroups: comp.lang.c comp.lang.c++ comp.ai.philosophy
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, 04 Jun 2022 11:14:20 -0500
Date: Sat, 4 Jun 2022 11:14:19 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++,comp.ai.philosophy
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7f45l$15gj$1@gioia.aioe.org>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <t7f45l$15gj$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Message-ID: <X5adnYqWV7ZBGQb_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 33
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-2W3vnPlgwxLXOHoB4e9hBa/xKnzuDyZJdh9w/nysbo8UQ89tMTxKEGyvyN7/+d6P1sIC9LZWx3+5aFm!gcoo11s6XZUOWo8MNay9LQqr9LtE4bQjTw/TsZesFh7t44llh4fSbggZOIWUPSr3CfaEAmiXNiET
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: 2385
 by: olcott - Sat, 4 Jun 2022 16:14 UTC

On 6/4/2022 3:12 AM, Muttley@dastardlyhq.com wrote:
> On Fri, 3 Jun 2022 17:17:12 -0500
> olcott <NoOne@NoWhere.com> wrote:
>> This post assumes that you already know my work, otherwise please read
>> the linked paper provided below. This work is based on the x86utm
>
> Thanks, but I need to go watch some paint dry. Maybe next time.
>
>

Until the notion of truth itself is formalized research in artificial
intelligence is hobbled.

A correct refutation of the halting problem proofs also refutes the
Tarski undefinability theorem by proxy, thus enabling the notion of
truth to be formalized.

This anchors the basis of Davidson's truth conditional semantics. This
creates the roadmap for artificial intelligence with unlimited potential.

Halting problem undecidability and infinitely nested simulation (V5)

https://www.researchgate.net/publication/359984584_Halting_problem_undecidability_and_infinitely_nested_simulation_V5

--
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: Refuting the HP proofs (adapted for software engineers)

<t7igbg$s42$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21838&group=comp.lang.c#21838

  copy link   Newsgroups: comp.lang.c comp.lang.c++ comp.ai.philosophy
Path: i2pn2.org!i2pn.org!aioe.org!BKzeqmo2UYxb4eR2zKm0zw.user.46.165.242.91.POSTED!not-for-mail
From: Mutt...@dastardlyhq.com
Newsgroups: comp.lang.c,comp.lang.c++,comp.ai.philosophy
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Date: Sun, 5 Jun 2022 14:58:56 -0000 (UTC)
Organization: Aioe.org NNTP Server
Message-ID: <t7igbg$s42$1@gioia.aioe.org>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7f45l$15gj$1@gioia.aioe.org>
<X5adnYqWV7ZBGQb_nZ2dnUU7_83NnZ2d@giganews.com>
Injection-Info: gioia.aioe.org; logging-data="28802"; posting-host="BKzeqmo2UYxb4eR2zKm0zw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-Notice: Filtered by postfilter v. 0.9.2
 by: Mutt...@dastardlyhq.com - Sun, 5 Jun 2022 14:58 UTC

On Sat, 4 Jun 2022 11:14:19 -0500
olcott <NoOne@NoWhere.com> wrote:
>On 6/4/2022 3:12 AM, Muttley@dastardlyhq.com wrote:
>> On Fri, 3 Jun 2022 17:17:12 -0500
>> olcott <NoOne@NoWhere.com> wrote:
>>> This post assumes that you already know my work, otherwise please read
>>> the linked paper provided below. This work is based on the x86utm
>>
>> Thanks, but I need to go watch some paint dry. Maybe next time.
>>
>>
>
>Until the notion of truth itself is formalized research in artificial
>intelligence is hobbled.
>
>A correct refutation of the halting problem proofs also refutes the
>Tarski undefinability theorem by proxy, thus enabling the notion of
>truth to be formalized.
>
>This anchors the basis of Davidson's truth conditional semantics. This
>creates the roadmap for artificial intelligence with unlimited potential.
>
>Halting problem undecidability and infinitely nested simulation (V5)

You sound like the output of a simple markov chain chat bot thats been fed
some doctorate level CS papers.

Re: Refuting the HP proofs (adapted for software engineers)

<BPudnXsKDYEdkQD_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21840&group=comp.lang.c#21840

  copy link   Newsgroups: comp.lang.c comp.lang.c++ comp.ai.philosophy
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: Sun, 05 Jun 2022 15:05:20 -0500
Date: Sun, 5 Jun 2022 15:05:17 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++,comp.ai.philosophy
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7f45l$15gj$1@gioia.aioe.org>
<X5adnYqWV7ZBGQb_nZ2dnUU7_83NnZ2d@giganews.com> <t7igbg$s42$1@gioia.aioe.org>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <t7igbg$s42$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <BPudnXsKDYEdkQD_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 102
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-D2gSUl8Bim4bLKvVMQpLEocMYSmsxX6kzM4EhhlB1SBgzE7esTFBoWa33sVYei2O6Pm180vZXMIwycp!6zJcvJB30CN0mA0PbfuWLgxwK0A9s5Q7kgptxtVcwR2qyjE2c0kqbgJbYLjmsLSinzp2ibUYqXy1
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: 4841
 by: olcott - Sun, 5 Jun 2022 20:05 UTC

On 6/5/2022 9:58 AM, Muttley@dastardlyhq.com wrote:
> On Sat, 4 Jun 2022 11:14:19 -0500
> olcott <NoOne@NoWhere.com> wrote:
>> On 6/4/2022 3:12 AM, Muttley@dastardlyhq.com wrote:
>>> On Fri, 3 Jun 2022 17:17:12 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>> This post assumes that you already know my work, otherwise please read
>>>> the linked paper provided below. This work is based on the x86utm
>>>
>>> Thanks, but I need to go watch some paint dry. Maybe next time.
>>>
>>>
>>
>> Until the notion of truth itself is formalized research in artificial
>> intelligence is hobbled.
>>
>> A correct refutation of the halting problem proofs also refutes the
>> Tarski undefinability theorem by proxy, thus enabling the notion of
>> truth to be formalized.
>>
>> This anchors the basis of Davidson's truth conditional semantics. This
>> creates the roadmap for artificial intelligence with unlimited potential.
>>
>> Halting problem undecidability and infinitely nested simulation (V5)
>
> You sound like the output of a simple markov chain chat bot thats been fed
> some doctorate level CS papers.
>

I posted to this group because I have boiled down a key computer science
problem into ordinary software engineering in C/x86.

In computability theory, the halting problem is the problem of
determining,
from a description of an arbitrary computer program and an input,
whether
the program will finish running, or continue to run forever. Alan
Turing proved
in 1936 that a general algorithm to solve the halting problem for
all possible
program-input pairs cannot exist.

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

#include <stdint.h>
#define u32 uint32_t

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

int main()
{ Output("Input_Halts = ", H((u32)P, (u32)P));
}

_P()
[00001352](01) 55 push ebp
[00001353](02) 8bec mov ebp,esp
[00001355](03) 8b4508 mov eax,[ebp+08]
[00001358](01) 50 push eax // push P
[00001359](03) 8b4d08 mov ecx,[ebp+08]
[0000135c](01) 51 push ecx // push P
[0000135d](05) e840feffff call 000011a2 // call H
[00001362](03) 83c408 add esp,+08
[00001365](02) 85c0 test eax,eax
[00001367](02) 7402 jz 0000136b
[00001369](02) ebfe jmp 00001369
[0000136b](01) 5d pop ebp
[0000136c](01) c3 ret
Size in bytes:(0027) [0000136c]

It is completely obvious that when H(P,P) correctly emulates its input
that it must emulate the first seven instructions of P. Because the
seventh instruction of P repeats this process we can know with complete
certainty that the emulated P never reaches its final “ret” instruction,
thus never halts.

Because we can easily see that H(P,P)==0 is correct we can know that the
otherwise "impossible" input to the halting problem proofs is correctly
rejected as non-halting.

--
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: Refuting the HP proofs (adapted for software engineers)

<t7j3da$12pv$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21842&group=comp.lang.c#21842

  copy link   Newsgroups: comp.lang.c comp.lang.c++ comp.ai.philosophy
Path: i2pn2.org!i2pn.org!aioe.org!nACnFUzRMCe5Y42786rXiw.user.46.165.242.91.POSTED!not-for-mail
From: freethin...@mymail.com (Freethinker)
Newsgroups: comp.lang.c,comp.lang.c++,comp.ai.philosophy
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Date: Sun, 5 Jun 2022 22:24:10 +0200
Organization: Aioe.org NNTP Server
Message-ID: <t7j3da$12pv$1@gioia.aioe.org>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7f45l$15gj$1@gioia.aioe.org>
<X5adnYqWV7ZBGQb_nZ2dnUU7_83NnZ2d@giganews.com> <t7igbg$s42$1@gioia.aioe.org>
<BPudnXsKDYEdkQD_nZ2dnUU7_8zNnZ2d@giganews.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="35647"; posting-host="nACnFUzRMCe5Y42786rXiw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Content-Language: de-DE
X-Notice: Filtered by postfilter v. 0.9.2
 by: Freethinker - Sun, 5 Jun 2022 20:24 UTC

On 05.06.22 22:05, olcott wrote:
> On 6/5/2022 9:58 AM, Muttley@dastardlyhq.com wrote:
>> On Sat, 4 Jun 2022 11:14:19 -0500
>> olcott <NoOne@NoWhere.com> wrote:
>>> On 6/4/2022 3:12 AM, Muttley@dastardlyhq.com wrote:
>>>> On Fri, 3 Jun 2022 17:17:12 -0500
>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>> This post assumes that you already know my work, otherwise please read
>>>>> the linked paper provided below. This work is based on the x86utm
>>>>
>>>> Thanks, but I need to go watch some paint dry. Maybe next time.
>>>>
>>>>
>>>
>>> Until the notion of truth itself is formalized research in artificial
>>> intelligence is hobbled.
>>>
>>> A correct refutation of the halting problem proofs also refutes the
>>> Tarski undefinability theorem by proxy, thus enabling the notion of
>>> truth to be formalized.
>>>
>>> This anchors the basis of Davidson's truth conditional semantics. This
>>> creates the roadmap for artificial intelligence with unlimited
>>> potential.
>>>
>>> Halting problem undecidability and infinitely nested simulation (V5)
>>
>> You sound like the output of a simple markov chain chat bot thats been
>> fed
>> some doctorate level CS papers.
>>
>
> I posted to this group because I have boiled down a key computer science
> problem into ordinary software engineering in C/x86.
>
>      In computability theory, the halting problem is the problem of
> determining,
>      from a description of an arbitrary computer program and an input,
> whether
>      the program will finish running, or continue to run forever. Alan
> Turing proved
>      in 1936 that a general algorithm to solve the halting problem for
> all possible
>      program-input pairs cannot exist.
>
>      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
>
>
>
> #include <stdint.h>
> #define u32 uint32_t
>
> void P(u32 x)
> {
>   if (H(x, x))
>     HERE: goto HERE;
>   return;
> }
>
> int main()
> {
>   Output("Input_Halts = ", H((u32)P, (u32)P));
> }
>
> _P()
> [00001352](01)  55              push ebp
> [00001353](02)  8bec            mov ebp,esp
> [00001355](03)  8b4508          mov eax,[ebp+08]
> [00001358](01)  50              push eax      // push P
> [00001359](03)  8b4d08          mov ecx,[ebp+08]
> [0000135c](01)  51              push ecx      // push P
> [0000135d](05)  e840feffff      call 000011a2 // call H
> [00001362](03)  83c408          add esp,+08
> [00001365](02)  85c0            test eax,eax
> [00001367](02)  7402            jz 0000136b
> [00001369](02)  ebfe            jmp 00001369
> [0000136b](01)  5d              pop ebp
> [0000136c](01)  c3              ret
> Size in bytes:(0027) [0000136c]
>
> It is completely obvious that when H(P,P) correctly emulates its input
> that it must emulate the first seven instructions of P. Because the
> seventh instruction of P repeats this process we can know with complete
> certainty that the emulated P never reaches its final “ret” instruction,
> thus never halts.
>
> Because we can easily see that H(P,P)==0 is correct we can know that the
> otherwise "impossible" input to the halting problem proofs is correctly
> rejected as non-halting.
>
>
>
What about the opposite: can you make a program that always correctly
predicts that another program will halt? It doesn't seem to me that this
case is included in what you did, but I must admit, computer science is
not my major.

Re: Refuting the HP proofs (adapted for software engineers)

<eIydnXT8e8USjwD_nZ2dnUU7_81g4p2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21843&group=comp.lang.c#21843

  copy link   Newsgroups: comp.lang.c comp.lang.c++ comp.ai.philosophy
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: Sun, 05 Jun 2022 15:31:11 -0500
Date: Sun, 5 Jun 2022 15:31:09 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++,comp.ai.philosophy
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7f45l$15gj$1@gioia.aioe.org>
<X5adnYqWV7ZBGQb_nZ2dnUU7_83NnZ2d@giganews.com> <t7igbg$s42$1@gioia.aioe.org>
<BPudnXsKDYEdkQD_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7j3da$12pv$1@gioia.aioe.org>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <t7j3da$12pv$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <eIydnXT8e8USjwD_nZ2dnUU7_81g4p2d@giganews.com>
Lines: 117
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-QpdqFDHrnPo8626RMm1VLQ8PE+zNTt7bduoCh7je/99ydR4w57et9Nl4ylRYCpW//d055GnI4WZ8NQw!943vu11xlH0oLHcXSD3Bddcd5ez2XFpkOd/aZvjRA3uUV+cef0fTPT1/EABYBJKXVJ6hyLY1OYZ4
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: 5988
 by: olcott - Sun, 5 Jun 2022 20:31 UTC

On 6/5/2022 3:24 PM, Freethinker wrote:
> On 05.06.22 22:05, olcott wrote:
>> On 6/5/2022 9:58 AM, Muttley@dastardlyhq.com wrote:
>>> On Sat, 4 Jun 2022 11:14:19 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>> On 6/4/2022 3:12 AM, Muttley@dastardlyhq.com wrote:
>>>>> On Fri, 3 Jun 2022 17:17:12 -0500
>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>> This post assumes that you already know my work, otherwise please
>>>>>> read
>>>>>> the linked paper provided below. This work is based on the x86utm
>>>>>
>>>>> Thanks, but I need to go watch some paint dry. Maybe next time.
>>>>>
>>>>>
>>>>
>>>> Until the notion of truth itself is formalized research in artificial
>>>> intelligence is hobbled.
>>>>
>>>> A correct refutation of the halting problem proofs also refutes the
>>>> Tarski undefinability theorem by proxy, thus enabling the notion of
>>>> truth to be formalized.
>>>>
>>>> This anchors the basis of Davidson's truth conditional semantics. This
>>>> creates the roadmap for artificial intelligence with unlimited
>>>> potential.
>>>>
>>>> Halting problem undecidability and infinitely nested simulation (V5)
>>>
>>> You sound like the output of a simple markov chain chat bot thats
>>> been fed
>>> some doctorate level CS papers.
>>>
>>
>> I posted to this group because I have boiled down a key computer
>> science problem into ordinary software engineering in C/x86.
>>
>>       In computability theory, the halting problem is the problem of
>> determining,
>>       from a description of an arbitrary computer program and an
>> input, whether
>>       the program will finish running, or continue to run forever.
>> Alan Turing proved
>>       in 1936 that a general algorithm to solve the halting problem
>> for all possible
>>       program-input pairs cannot exist.
>>
>>       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
>>
>>
>>
>> #include <stdint.h>
>> #define u32 uint32_t
>>
>> void P(u32 x)
>> {
>>    if (H(x, x))
>>      HERE: goto HERE;
>>    return;
>> }
>>
>> int main()
>> {
>>    Output("Input_Halts = ", H((u32)P, (u32)P));
>> }
>>
>> _P()
>> [00001352](01)  55              push ebp
>> [00001353](02)  8bec            mov ebp,esp
>> [00001355](03)  8b4508          mov eax,[ebp+08]
>> [00001358](01)  50              push eax      // push P
>> [00001359](03)  8b4d08          mov ecx,[ebp+08]
>> [0000135c](01)  51              push ecx      // push P
>> [0000135d](05)  e840feffff      call 000011a2 // call H
>> [00001362](03)  83c408          add esp,+08
>> [00001365](02)  85c0            test eax,eax
>> [00001367](02)  7402            jz 0000136b
>> [00001369](02)  ebfe            jmp 00001369
>> [0000136b](01)  5d              pop ebp
>> [0000136c](01)  c3              ret
>> Size in bytes:(0027) [0000136c]
>>
>> It is completely obvious that when H(P,P) correctly emulates its input
>> that it must emulate the first seven instructions of P. Because the
>> seventh instruction of P repeats this process we can know with
>> complete certainty that the emulated P never reaches its final “ret”
>> instruction, thus never halts.
>>
>> Because we can easily see that H(P,P)==0 is correct we can know that
>> the otherwise "impossible" input to the halting problem proofs is
>> correctly rejected as non-halting.
>>
>>
>>
> What about the opposite: can you make a program that always correctly
> predicts that another program will halt? It doesn't seem to me that this
> case is included in what you did, but I must admit, computer science is
> not my major.

The whole scope of my investigation was to simply correctly refute the
conventional halting problem proofs, thus proving that a universal halt
decider is possible. Actually making a a universal halt decider would
take at least 1000 labor years.

--
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: Refuting the HP proofs (adapted for software engineers)[ Mike Terry ]

<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21844&group=comp.lang.c#21844

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.szaf.org!3.eu.feeder.erje.net!feeder.erje.net!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: Sun, 05 Jun 2022 19:27:41 -0500
Date: Sun, 5 Jun 2022 19:27:39 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ Mike
Terry ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <t7jg0k$1qko$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 238
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-7O3/1uLRiZNDKd26HngnSSuzdHp3dFZUKUnWNVfdrRw044O8g7oezz9oP/HNVzWPddB7jWuJJE3fsYy!IB+u9Ou8w0zbxVK6fkcAm08MFvXCFwYOVnczRixd5M+jLgejK+B14On0KPt5ujG1YYv5erqrNBKW
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: 12259
 by: olcott - Mon, 6 Jun 2022 00:27 UTC

On 6/5/2022 6:59 PM, Mike Terry wrote:
> On 05/06/2022 22:59, Jeff Barnett wrote:
>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>
>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
>>>>>>>>>>> configuration for which δ is not defined; this is possible
>>>>>>>>>>> because
>>>>>>>>>>> δ is a partial function. In fact, we will assume that no
>>>>>>>>>>> transitions are defined for any final state so the Turing
>>>>>>>>>>> machine
>>>>>>>>>>> will halt whenever it enters a final state.  (Linz:1990:234)
>>>>
>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and
>>>>>>>>>>> Automata.
>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>
>>>>>>>>>>> When translated into ordinary software engineering terms this
>>>>>>>>>>> means
>>>>>>>>>>> terminated normally. In a C function this means reaching the
>>>>>>>>>>> "ret"
>>>>>>>>>>> instruction.
>>>>
>>>>>>>>>> The best equivalent to "not defined" is not "ret". Instead, "not
>>>>>>>>>> defined" should include at least:
>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>> - any undefined op code
>>>>>>>>>> - any return or pop instruction if the stack is empty
>>>>>>>>>> - an instruction fetch from a location that is not specifiec
>>>>>>>>>> by the
>>>>>>>>>>      program
>>>>>>>>>> That way the analogy to Linz' definition is much better.
>>>>
>>>>>>>>>> Mikko
>>>>
>>>>>>>>> Reaching a final state is merely the Turing machine way of saying
>>>>>>>>> terminated normally. "ret" is the C way of saying the same thing.
>>>>
>>>>>>>> Sophistry.  What would be the turing machine equivalent of an
>>>>>>>> "abnormal termination" in C?
>>>>
>>>>>>> An aborted simulation.
>>>>
>>>>>> There's no such thing on a turing machine.  It either runs and halts,
>>>>>> or it runs forever.
>>>>
>>>>>> Your aborted simulation is just one final state of a turing machine,
>>>>>> which has thus halted.
>>>>
>>>>> A TM "aborting" a simulation is just the TM ceasing to calculate
>>>>> computation steps for some computation, and going on to calculate
>>>>> something else instead.  It does not mean:
>>>>> a)  that the TM (doing the simulation) has halted
>>>>> b)  that the simulated computation halts
>>>>> c)  that the simulated computation never halts
>>>>
>>>> OK.  I've a feeling we're talking more about nice shades of words than
>>>> computer science here, but ....
>>>>
>>>> If the simulation is the entire turing machine, aborting it will bring
>>>> the TM to a halt state.  If that simulation is merely part of the TM,
>>>> then the word "halt" has a different meaning when applied to that
>>>> simulation part from when applied to the entire TM.  I'm not even sure
>>>> what you mean when you say a part of a TM has halted or not halted.
>>>
>>> We are clearly talking at cross purposes - I never talked about
>>> /part/ of a TM halting, and like you, I can't work out what that
>>> would mean!  I used "halt" only with respect to a computation,
>>> meaning that the computation halts [there is an n such that
>>> computation step n is a TM final state].
>>>
>>> Reading what you say very carefully, I think that by your definition
>>> of simulation, the simulating TM must be a "pure" simulator that does
>>> nothing but simulate computation steps until the simulation halts, at
>>> which point the simulating TM halts (like a UTM).  I get that with
>>> that interpretation what you said:
>>>
>>> <copied from above>
>>>  >>> Your aborted simulation is just one final state of a turing
>>> machine,
>>>  >>> which has thus halted.
>>>
>>>   makes sense and is correct.  I'd just say I don't think that usage
>>> of "simulation" is very useful, and is DEFINITELY not what PO is
>>> talking about (so it would be wrong if applied PO's posts...)
>>>
>>> My use of "simulation" is broader: it's simply the activity performed
>>> by a TM which consists of calculating computation steps of some given
>>> computation.  As such it's just a part of the TM logic. A TM's
>>> typical use of simulation might be something like "..the TM simulates
>>> the computation for n steps, and if the simulation halts during those
>>> n steps, the TM [blah blah], /otherwise/ the TM [blah blah blah]...".
>>> Just about every reference in the literature I can recall is
>>> something like that.
>>>
>>> So... to be 100% clear on what I said:
>>>
>>> <copied from above>
>>>  >> A TM "aborting" a simulation is just the TM ceasing to calculate
>>>  >> computation steps for some computation, and going on to calculate
>>>  >> something else instead.
>>>
>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM either
>>> halts or enters an infinite loop.  (That logic is not part of the
>>> simulation, IMO.)
>>>
>>>  >> It does *NOT* mean:
>>>  >> a)  that the TM (doing the simulation) has halted
>>>
>>> obviously, because now P has gone on to something else...
>>>
>>>  >> b)  that the simulated computation halts
>>>  >> c)  that the simulated computation never halts
>>>
>>> obviously - in general different exacmples of a simulated computation
>>> P(I) might halt or never halt, and this is unaffected by a
>>> simulator's decision to simulate no further computation steps. [The
>>> TM may have spotted some pattern in the simulated computation which
>>> implies P(I) never halts - that is a separate matter, but for sure
>>> the mere act of "aborting" the simulation doesn't imply P(I) never
>>> halts, or imply that it halts...
>>>
>>> Put yet another way, when a TM stops calculating TM steps (aka aborts
>>> its simulation), NOTHING HALTS: not the simulating TM, not the
>>> simulated computation, and NOT ANY PART OF EITHER OF THOSE. (Like you
>>> say, what would part of a TM halting mean?)
>>
>> I think of a TM and an input string as defining a sequence (an ordered
>> list). The elements of the sequence are pairs of a TM state name and a
>> string representing the "tape" contents when the state was entered.
>> Note that this view has no character of animation in it and makes the
>> definition of the halt predicate (H) trivial:
>>
>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else FALSE.
>
> Yes, that's equivalent to what I said (or at least meant).  Your
> sequence is my computation steps. Formally, these would be defined
> inductively via the rule to go from step n to step n+1.  (Not an
> animation, but the induction gives some /sense/ of step-by-step
> calculation, and a simulator will follow this, starting at step 1, then
> calculate step 2 and so on.  Still, I agree the entire sequence [the
> "computation"] exists as one timeless structure.  Too abstract for PO...)
>


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ Mike Terry ]

<rhcnK.65120$ntj.43005@fx15.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21845&group=comp.lang.c#21845

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.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: Refuting the HP proofs (adapted for software engineers)[ Mike
Terry ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 281
Message-ID: <rhcnK.65120$ntj.43005@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: Sun, 5 Jun 2022 20:56:55 -0400
X-Received-Bytes: 14159
 by: Richard Damon - Mon, 6 Jun 2022 00:56 UTC

On 6/5/22 8:27 PM, olcott wrote:
> On 6/5/2022 6:59 PM, Mike Terry wrote:
>> On 05/06/2022 22:59, Jeff Barnett wrote:
>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>>
>>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
>>>>>>>>>>>> configuration for which δ is not defined; this is possible
>>>>>>>>>>>> because
>>>>>>>>>>>> δ is a partial function. In fact, we will assume that no
>>>>>>>>>>>> transitions are defined for any final state so the Turing
>>>>>>>>>>>> machine
>>>>>>>>>>>> will halt whenever it enters a final state.  (Linz:1990:234)
>>>>>
>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and
>>>>>>>>>>>> Automata.
>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>
>>>>>>>>>>>> When translated into ordinary software engineering terms
>>>>>>>>>>>> this means
>>>>>>>>>>>> terminated normally. In a C function this means reaching the
>>>>>>>>>>>> "ret"
>>>>>>>>>>>> instruction.
>>>>>
>>>>>>>>>>> The best equivalent to "not defined" is not "ret". Instead, "not
>>>>>>>>>>> defined" should include at least:
>>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>>> - any undefined op code
>>>>>>>>>>> - any return or pop instruction if the stack is empty
>>>>>>>>>>> - an instruction fetch from a location that is not specifiec
>>>>>>>>>>> by the
>>>>>>>>>>>      program
>>>>>>>>>>> That way the analogy to Linz' definition is much better.
>>>>>
>>>>>>>>>>> Mikko
>>>>>
>>>>>>>>>> Reaching a final state is merely the Turing machine way of saying
>>>>>>>>>> terminated normally. "ret" is the C way of saying the same thing.
>>>>>
>>>>>>>>> Sophistry.  What would be the turing machine equivalent of an
>>>>>>>>> "abnormal termination" in C?
>>>>>
>>>>>>>> An aborted simulation.
>>>>>
>>>>>>> There's no such thing on a turing machine.  It either runs and
>>>>>>> halts,
>>>>>>> or it runs forever.
>>>>>
>>>>>>> Your aborted simulation is just one final state of a turing machine,
>>>>>>> which has thus halted.
>>>>>
>>>>>> A TM "aborting" a simulation is just the TM ceasing to calculate
>>>>>> computation steps for some computation, and going on to calculate
>>>>>> something else instead.  It does not mean:
>>>>>> a)  that the TM (doing the simulation) has halted
>>>>>> b)  that the simulated computation halts
>>>>>> c)  that the simulated computation never halts
>>>>>
>>>>> OK.  I've a feeling we're talking more about nice shades of words than
>>>>> computer science here, but ....
>>>>>
>>>>> If the simulation is the entire turing machine, aborting it will bring
>>>>> the TM to a halt state.  If that simulation is merely part of the TM,
>>>>> then the word "halt" has a different meaning when applied to that
>>>>> simulation part from when applied to the entire TM.  I'm not even sure
>>>>> what you mean when you say a part of a TM has halted or not halted.
>>>>
>>>> We are clearly talking at cross purposes - I never talked about
>>>> /part/ of a TM halting, and like you, I can't work out what that
>>>> would mean!  I used "halt" only with respect to a computation,
>>>> meaning that the computation halts [there is an n such that
>>>> computation step n is a TM final state].
>>>>
>>>> Reading what you say very carefully, I think that by your definition
>>>> of simulation, the simulating TM must be a "pure" simulator that
>>>> does nothing but simulate computation steps until the simulation
>>>> halts, at which point the simulating TM halts (like a UTM).  I get
>>>> that with that interpretation what you said:
>>>>
>>>> <copied from above>
>>>>  >>> Your aborted simulation is just one final state of a turing
>>>> machine,
>>>>  >>> which has thus halted.
>>>>
>>>>   makes sense and is correct.  I'd just say I don't think that usage
>>>> of "simulation" is very useful, and is DEFINITELY not what PO is
>>>> talking about (so it would be wrong if applied PO's posts...)
>>>>
>>>> My use of "simulation" is broader: it's simply the activity
>>>> performed by a TM which consists of calculating computation steps of
>>>> some given computation.  As such it's just a part of the TM logic. A
>>>> TM's typical use of simulation might be something like "..the TM
>>>> simulates the computation for n steps, and if the simulation halts
>>>> during those n steps, the TM [blah blah], /otherwise/ the TM [blah
>>>> blah blah]...". Just about every reference in the literature I can
>>>> recall is something like that.
>>>>
>>>> So... to be 100% clear on what I said:
>>>>
>>>> <copied from above>
>>>>  >> A TM "aborting" a simulation is just the TM ceasing to calculate
>>>>  >> computation steps for some computation, and going on to calculate
>>>>  >> something else instead.
>>>>
>>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM either
>>>> halts or enters an infinite loop.  (That logic is not part of the
>>>> simulation, IMO.)
>>>>
>>>>  >> It does *NOT* mean:
>>>>  >> a)  that the TM (doing the simulation) has halted
>>>>
>>>> obviously, because now P has gone on to something else...
>>>>
>>>>  >> b)  that the simulated computation halts
>>>>  >> c)  that the simulated computation never halts
>>>>
>>>> obviously - in general different exacmples of a simulated
>>>> computation P(I) might halt or never halt, and this is unaffected by
>>>> a simulator's decision to simulate no further computation steps.
>>>> [The TM may have spotted some pattern in the simulated computation
>>>> which implies P(I) never halts - that is a separate matter, but for
>>>> sure the mere act of "aborting" the simulation doesn't imply P(I)
>>>> never halts, or imply that it halts...
>>>>
>>>> Put yet another way, when a TM stops calculating TM steps (aka
>>>> aborts its simulation), NOTHING HALTS: not the simulating TM, not
>>>> the simulated computation, and NOT ANY PART OF EITHER OF THOSE.
>>>> (Like you say, what would part of a TM halting mean?)
>>>
>>> I think of a TM and an input string as defining a sequence (an
>>> ordered list). The elements of the sequence are pairs of a TM state
>>> name and a string representing the "tape" contents when the state was
>>> entered. Note that this view has no character of animation in it and
>>> makes the definition of the halt predicate (H) trivial:
>>>
>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else FALSE.
>>
>> Yes, that's equivalent to what I said (or at least meant).  Your
>> sequence is my computation steps. Formally, these would be defined
>> inductively via the rule to go from step n to step n+1.  (Not an
>> animation, but the induction gives some /sense/ of step-by-step
>> calculation, and a simulator will follow this, starting at step 1,
>> then calculate step 2 and so on.  Still, I agree the entire sequence
>> [the "computation"] exists as one timeless structure.  Too abstract
>> for PO...)
>>
>
> In other words when we make sure to conflate the program under test with
> the test program as a single computation then the whole idea of a halt
> decider becomes less coherent and
>
> this can be used as an excuse to pretend that you don't already know
> that H(P,P)==0 is correct and the H/P relationship matches the halting
> problem counter example template.
>
> void P(u32 x)
> {
>   if (H(x, x))
>     HERE: goto HERE;
>   return;
> }
>
> int main()
> {
>   Output("Input_Halts = ", H((u32)P, (u32)P));
> }
>
>      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
>
>
>>>
>>> A simulator animates the production of the sequence and that causes
>>> some difficulties in the same way that elaborating an infinite sum or
>>> sequence does in math classes. An (ultimate) value only exists if
>>> there is some notation of convergence or limit which typically is the
>>> case with examples used in a math class. There is no definition of
>>> convergence or limit with the sequence defined by TM(STRING); rather,
>>> we simply ask about the last pair if the sequence is finite.
>>
>> Sure.
>> The question right now is what you would call a TM which evaluates the
>> first 10 steps of a computation, and then does something else.  What
>> is it doing while evaluating those 10 steps?
>>
>> tl;dr : who cares :)
>>
>> My terminology would be that it's "simulating" the computation (just
>> for 10 steps) - then it stops simulating and does something else.
>> Obviously I wouldn't describe it as "correctly" simulating, because
>> nobody considers incorrect simulations, so the word would be redundant!
>
> It is required because my reviewers are making their best possible
> effort to form rebuttals and the most persistent of the fake rebuttals
> has been that the simulation is incorrect.  It is very easy to verify
> the correct x86 emulation on the basis of the x86 language.


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21846&group=comp.lang.c#21846

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Sun, 05 Jun 2022 20:13:04 -0500
Date: Sun, 5 Jun 2022 20:13:01 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members
of c/c++ ]
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <rhcnK.65120$ntj.43005@fx15.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 260
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-QeliOtYo5GffV3IsPMFbMpuAXwOpeA//TmAFDYyROg1kus3z1VQkAe34F9d9mUK7xPjuPuy4okXLmkv!YpNGqFd7laWwzSAxfuxpVeb2kng5/Po2t+I87fB86zwU9cBEbTbHGlU47c5vc4v0m5QRGGVffH9w
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: 13306
 by: olcott - Mon, 6 Jun 2022 01:13 UTC

On 6/5/2022 7:56 PM, Richard Damon wrote:
> On 6/5/22 8:27 PM, olcott wrote:
>> On 6/5/2022 6:59 PM, Mike Terry wrote:
>>> On 05/06/2022 22:59, Jeff Barnett wrote:
>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>>>
>>>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
>>>>>>>>>>>>> configuration for which δ is not defined; this is possible
>>>>>>>>>>>>> because
>>>>>>>>>>>>> δ is a partial function. In fact, we will assume that no
>>>>>>>>>>>>> transitions are defined for any final state so the Turing
>>>>>>>>>>>>> machine
>>>>>>>>>>>>> will halt whenever it enters a final state.  (Linz:1990:234)
>>>>>>
>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and
>>>>>>>>>>>>> Automata.
>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>>
>>>>>>>>>>>>> When translated into ordinary software engineering terms
>>>>>>>>>>>>> this means
>>>>>>>>>>>>> terminated normally. In a C function this means reaching
>>>>>>>>>>>>> the "ret"
>>>>>>>>>>>>> instruction.
>>>>>>
>>>>>>>>>>>> The best equivalent to "not defined" is not "ret". Instead,
>>>>>>>>>>>> "not
>>>>>>>>>>>> defined" should include at least:
>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>>>> - any undefined op code
>>>>>>>>>>>> - any return or pop instruction if the stack is empty
>>>>>>>>>>>> - an instruction fetch from a location that is not specifiec
>>>>>>>>>>>> by the
>>>>>>>>>>>>      program
>>>>>>>>>>>> That way the analogy to Linz' definition is much better.
>>>>>>
>>>>>>>>>>>> Mikko
>>>>>>
>>>>>>>>>>> Reaching a final state is merely the Turing machine way of
>>>>>>>>>>> saying
>>>>>>>>>>> terminated normally. "ret" is the C way of saying the same
>>>>>>>>>>> thing.
>>>>>>
>>>>>>>>>> Sophistry.  What would be the turing machine equivalent of an
>>>>>>>>>> "abnormal termination" in C?
>>>>>>
>>>>>>>>> An aborted simulation.
>>>>>>
>>>>>>>> There's no such thing on a turing machine.  It either runs and
>>>>>>>> halts,
>>>>>>>> or it runs forever.
>>>>>>
>>>>>>>> Your aborted simulation is just one final state of a turing
>>>>>>>> machine,
>>>>>>>> which has thus halted.
>>>>>>
>>>>>>> A TM "aborting" a simulation is just the TM ceasing to calculate
>>>>>>> computation steps for some computation, and going on to calculate
>>>>>>> something else instead.  It does not mean:
>>>>>>> a)  that the TM (doing the simulation) has halted
>>>>>>> b)  that the simulated computation halts
>>>>>>> c)  that the simulated computation never halts
>>>>>>
>>>>>> OK.  I've a feeling we're talking more about nice shades of words
>>>>>> than
>>>>>> computer science here, but ....
>>>>>>
>>>>>> If the simulation is the entire turing machine, aborting it will
>>>>>> bring
>>>>>> the TM to a halt state.  If that simulation is merely part of the TM,
>>>>>> then the word "halt" has a different meaning when applied to that
>>>>>> simulation part from when applied to the entire TM.  I'm not even
>>>>>> sure
>>>>>> what you mean when you say a part of a TM has halted or not halted.
>>>>>
>>>>> We are clearly talking at cross purposes - I never talked about
>>>>> /part/ of a TM halting, and like you, I can't work out what that
>>>>> would mean!  I used "halt" only with respect to a computation,
>>>>> meaning that the computation halts [there is an n such that
>>>>> computation step n is a TM final state].
>>>>>
>>>>> Reading what you say very carefully, I think that by your
>>>>> definition of simulation, the simulating TM must be a "pure"
>>>>> simulator that does nothing but simulate computation steps until
>>>>> the simulation halts, at which point the simulating TM halts (like
>>>>> a UTM).  I get that with that interpretation what you said:
>>>>>
>>>>> <copied from above>
>>>>>  >>> Your aborted simulation is just one final state of a turing
>>>>> machine,
>>>>>  >>> which has thus halted.
>>>>>
>>>>>   makes sense and is correct.  I'd just say I don't think that
>>>>> usage of "simulation" is very useful, and is DEFINITELY not what PO
>>>>> is talking about (so it would be wrong if applied PO's posts...)
>>>>>
>>>>> My use of "simulation" is broader: it's simply the activity
>>>>> performed by a TM which consists of calculating computation steps
>>>>> of some given computation.  As such it's just a part of the TM
>>>>> logic. A TM's typical use of simulation might be something like
>>>>> "..the TM simulates the computation for n steps, and if the
>>>>> simulation halts during those n steps, the TM [blah blah],
>>>>> /otherwise/ the TM [blah blah blah]...". Just about every reference
>>>>> in the literature I can recall is something like that.
>>>>>
>>>>> So... to be 100% clear on what I said:
>>>>>
>>>>> <copied from above>
>>>>>  >> A TM "aborting" a simulation is just the TM ceasing to calculate
>>>>>  >> computation steps for some computation, and going on to calculate
>>>>>  >> something else instead.
>>>>>
>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM
>>>>> either halts or enters an infinite loop.  (That logic is not part
>>>>> of the simulation, IMO.)
>>>>>
>>>>>  >> It does *NOT* mean:
>>>>>  >> a)  that the TM (doing the simulation) has halted
>>>>>
>>>>> obviously, because now P has gone on to something else...
>>>>>
>>>>>  >> b)  that the simulated computation halts
>>>>>  >> c)  that the simulated computation never halts
>>>>>
>>>>> obviously - in general different exacmples of a simulated
>>>>> computation P(I) might halt or never halt, and this is unaffected
>>>>> by a simulator's decision to simulate no further computation steps.
>>>>> [The TM may have spotted some pattern in the simulated computation
>>>>> which implies P(I) never halts - that is a separate matter, but for
>>>>> sure the mere act of "aborting" the simulation doesn't imply P(I)
>>>>> never halts, or imply that it halts...
>>>>>
>>>>> Put yet another way, when a TM stops calculating TM steps (aka
>>>>> aborts its simulation), NOTHING HALTS: not the simulating TM, not
>>>>> the simulated computation, and NOT ANY PART OF EITHER OF THOSE.
>>>>> (Like you say, what would part of a TM halting mean?)
>>>>
>>>> I think of a TM and an input string as defining a sequence (an
>>>> ordered list). The elements of the sequence are pairs of a TM state
>>>> name and a string representing the "tape" contents when the state
>>>> was entered. Note that this view has no character of animation in it
>>>> and makes the definition of the halt predicate (H) trivial:
>>>>
>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else FALSE.
>>>
>>> Yes, that's equivalent to what I said (or at least meant).  Your
>>> sequence is my computation steps. Formally, these would be defined
>>> inductively via the rule to go from step n to step n+1.  (Not an
>>> animation, but the induction gives some /sense/ of step-by-step
>>> calculation, and a simulator will follow this, starting at step 1,
>>> then calculate step 2 and so on.  Still, I agree the entire sequence
>>> [the "computation"] exists as one timeless structure.  Too abstract
>>> for PO...)
>>>
>>
>> In other words when we make sure to conflate the program under test
>> with the test program as a single computation then the whole idea of a
>> halt decider becomes less coherent and
>>
>> this can be used as an excuse to pretend that you don't already know
>> that H(P,P)==0 is correct and the H/P relationship matches the halting
>> problem counter example template.
>>
>> void P(u32 x)
>> {
>>    if (H(x, x))
>>      HERE: goto HERE;
>>    return;
>> }
>>
>> int main()
>> {
>>    Output("Input_Halts = ", H((u32)P, (u32)P));
>> }
>>
>>       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
>>
>>
>>>>
>>>> A simulator animates the production of the sequence and that causes
>>>> some difficulties in the same way that elaborating an infinite sum
>>>> or sequence does in math classes. An (ultimate) value only exists if
>>>> there is some notation of convergence or limit which typically is
>>>> the case with examples used in a math class. There is no definition
>>>> of convergence or limit with the sequence defined by TM(STRING);
>>>> rather, we simply ask about the last pair if the sequence is finite.
>>>
>>> Sure.
>>> The question right now is what you would call a TM which evaluates
>>> the first 10 steps of a computation, and then does something else.
>>> What is it doing while evaluating those 10 steps?
>>>
>>> tl;dr : who cares :)
>>>
>>> My terminology would be that it's "simulating" the computation (just
>>> for 10 steps) - then it stops simulating and does something else.
>>> Obviously I wouldn't describe it as "correctly" simulating, because
>>> nobody considers incorrect simulations, so the word would be redundant!
>>
>> It is required because my reviewers are making their best possible
>> effort to form rebuttals and the most persistent of the fake rebuttals
>> has been that the simulation is incorrect.  It is very easy to verify
>> the correct x86 emulation on the basis of the x86 language.
>
> Except that it doesn't. By DEFINITION, a correct simulation needs show
> the same behavior of the thing it is simulating.
>


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<20220606174525.0000745f@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21850&group=comp.lang.c#21850

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder.usenetexpress.com!tr3.eu1.usenetexpress.com!81.171.65.16.MISMATCH!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.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]
Message-ID: <20220606174525.0000745f@reddwarf.jmc>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com> <zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com> <c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com> <gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de> <RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me> <rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de> <V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de> <t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de> <t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me> <t7jg0k$1qko$1@gioia.aioe.org> <SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com> <rhcnK.65120$ntj.43005@fx15.iad> <H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@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: 281
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Mon, 06 Jun 2022 16:45:22 UTC
Date: Mon, 6 Jun 2022 17:45:25 +0100
X-Received-Bytes: 13990
 by: Mr Flibble - Mon, 6 Jun 2022 16:45 UTC

On Sun, 5 Jun 2022 20:13:01 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/5/2022 7:56 PM, Richard Damon wrote:
> > On 6/5/22 8:27 PM, olcott wrote:
> >> On 6/5/2022 6:59 PM, Mike Terry wrote:
> >>> On 05/06/2022 22:59, Jeff Barnett wrote:
> >>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
> >>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
> >>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
> >>>>>> wrote:
> >>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
> >>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
> >>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
> >>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
> >>>>>>
> >>>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
> >>>>>>>>>>>>> configuration for which δ is not defined; this is
> >>>>>>>>>>>>> possible because
> >>>>>>>>>>>>> δ is a partial function. In fact, we will assume that no
> >>>>>>>>>>>>> transitions are defined for any final state so the
> >>>>>>>>>>>>> Turing machine
> >>>>>>>>>>>>> will halt whenever it enters a final state.
> >>>>>>>>>>>>> (Linz:1990:234)
> >>>>>>
> >>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages
> >>>>>>>>>>>>> and Automata.
> >>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
> >>>>>>
> >>>>>>>>>>>>> When translated into ordinary software engineering
> >>>>>>>>>>>>> terms this means
> >>>>>>>>>>>>> terminated normally. In a C function this means
> >>>>>>>>>>>>> reaching the "ret"
> >>>>>>>>>>>>> instruction.
> >>>>>>
> >>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
> >>>>>>>>>>>> Instead, "not
> >>>>>>>>>>>> defined" should include at least:
> >>>>>>>>>>>> - HLT or any other instruction that means 'halt'
> >>>>>>>>>>>> - any undefined op code
> >>>>>>>>>>>> - any return or pop instruction if the stack is empty
> >>>>>>>>>>>> - an instruction fetch from a location that is not
> >>>>>>>>>>>> specifiec by the
> >>>>>>>>>>>>      program
> >>>>>>>>>>>> That way the analogy to Linz' definition is much better.
> >>>>>>>>>>>>
> >>>>>>
> >>>>>>>>>>>> Mikko
> >>>>>>
> >>>>>>>>>>> Reaching a final state is merely the Turing machine way
> >>>>>>>>>>> of saying
> >>>>>>>>>>> terminated normally. "ret" is the C way of saying the
> >>>>>>>>>>> same thing.
> >>>>>>
> >>>>>>>>>> Sophistry.  What would be the turing machine equivalent of
> >>>>>>>>>> an "abnormal termination" in C?
> >>>>>>
> >>>>>>>>> An aborted simulation.
> >>>>>>
> >>>>>>>> There's no such thing on a turing machine.  It either runs
> >>>>>>>> and halts,
> >>>>>>>> or it runs forever.
> >>>>>>
> >>>>>>>> Your aborted simulation is just one final state of a turing
> >>>>>>>> machine,
> >>>>>>>> which has thus halted.
> >>>>>>
> >>>>>>> A TM "aborting" a simulation is just the TM ceasing to
> >>>>>>> calculate computation steps for some computation, and going
> >>>>>>> on to calculate something else instead.  It does not mean:
> >>>>>>> a)  that the TM (doing the simulation) has halted
> >>>>>>> b)  that the simulated computation halts
> >>>>>>> c)  that the simulated computation never halts
> >>>>>>
> >>>>>> OK.  I've a feeling we're talking more about nice shades of
> >>>>>> words than
> >>>>>> computer science here, but ....
> >>>>>>
> >>>>>> If the simulation is the entire turing machine, aborting it
> >>>>>> will bring
> >>>>>> the TM to a halt state.  If that simulation is merely part of
> >>>>>> the TM, then the word "halt" has a different meaning when
> >>>>>> applied to that simulation part from when applied to the
> >>>>>> entire TM.  I'm not even sure
> >>>>>> what you mean when you say a part of a TM has halted or not
> >>>>>> halted.
> >>>>>
> >>>>> We are clearly talking at cross purposes - I never talked about
> >>>>> /part/ of a TM halting, and like you, I can't work out what
> >>>>> that would mean!  I used "halt" only with respect to a
> >>>>> computation, meaning that the computation halts [there is an n
> >>>>> such that computation step n is a TM final state].
> >>>>>
> >>>>> Reading what you say very carefully, I think that by your
> >>>>> definition of simulation, the simulating TM must be a "pure"
> >>>>> simulator that does nothing but simulate computation steps
> >>>>> until the simulation halts, at which point the simulating TM
> >>>>> halts (like a UTM).  I get that with that interpretation what
> >>>>> you said:
> >>>>>
> >>>>> <copied from above>
> >>>>>  >>> Your aborted simulation is just one final state of a
> >>>>> turing machine,
> >>>>>  >>> which has thus halted.
> >>>>>
> >>>>>   makes sense and is correct.  I'd just say I don't think that
> >>>>> usage of "simulation" is very useful, and is DEFINITELY not
> >>>>> what PO is talking about (so it would be wrong if applied PO's
> >>>>> posts...)
> >>>>>
> >>>>> My use of "simulation" is broader: it's simply the activity
> >>>>> performed by a TM which consists of calculating computation
> >>>>> steps of some given computation.  As such it's just a part of
> >>>>> the TM logic. A TM's typical use of simulation might be
> >>>>> something like "..the TM simulates the computation for n steps,
> >>>>> and if the simulation halts during those n steps, the TM [blah
> >>>>> blah], /otherwise/ the TM [blah blah blah]...". Just about
> >>>>> every reference in the literature I can recall is something
> >>>>> like that.
> >>>>>
> >>>>> So... to be 100% clear on what I said:
> >>>>>
> >>>>> <copied from above>
> >>>>>  >> A TM "aborting" a simulation is just the TM ceasing to
> >>>>> calculate >> computation steps for some computation, and going
> >>>>> on to calculate >> something else instead.
> >>>>>
> >>>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM
> >>>>> either halts or enters an infinite loop.  (That logic is not
> >>>>> part of the simulation, IMO.)
> >>>>>
> >>>>>  >> It does *NOT* mean:
> >>>>>  >> a)  that the TM (doing the simulation) has halted
> >>>>>
> >>>>> obviously, because now P has gone on to something else...
> >>>>>
> >>>>>  >> b)  that the simulated computation halts
> >>>>>  >> c)  that the simulated computation never halts
> >>>>>
> >>>>> obviously - in general different exacmples of a simulated
> >>>>> computation P(I) might halt or never halt, and this is
> >>>>> unaffected by a simulator's decision to simulate no further
> >>>>> computation steps. [The TM may have spotted some pattern in the
> >>>>> simulated computation which implies P(I) never halts - that is
> >>>>> a separate matter, but for sure the mere act of "aborting" the
> >>>>> simulation doesn't imply P(I) never halts, or imply that it
> >>>>> halts...
> >>>>>
> >>>>> Put yet another way, when a TM stops calculating TM steps (aka
> >>>>> aborts its simulation), NOTHING HALTS: not the simulating TM,
> >>>>> not the simulated computation, and NOT ANY PART OF EITHER OF
> >>>>> THOSE. (Like you say, what would part of a TM halting mean?)
> >>>>
> >>>> I think of a TM and an input string as defining a sequence (an
> >>>> ordered list). The elements of the sequence are pairs of a TM
> >>>> state name and a string representing the "tape" contents when
> >>>> the state was entered. Note that this view has no character of
> >>>> animation in it and makes the definition of the halt predicate
> >>>> (H) trivial:
> >>>>
> >>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else
> >>>> FALSE.
> >>>
> >>> Yes, that's equivalent to what I said (or at least meant).  Your
> >>> sequence is my computation steps. Formally, these would be
> >>> defined inductively via the rule to go from step n to step n+1.
> >>> (Not an animation, but the induction gives some /sense/ of
> >>> step-by-step calculation, and a simulator will follow this,
> >>> starting at step 1, then calculate step 2 and so on.  Still, I
> >>> agree the entire sequence [the "computation"] exists as one
> >>> timeless structure.  Too abstract for PO...)
> >>>
> >>
> >> In other words when we make sure to conflate the program under
> >> test with the test program as a single computation then the whole
> >> idea of a halt decider becomes less coherent and
> >>
> >> this can be used as an excuse to pretend that you don't already
> >> know that H(P,P)==0 is correct and the H/P relationship matches
> >> the halting problem counter example template.
> >>
> >> void P(u32 x)
> >> {
> >>    if (H(x, x))
> >>      HERE: goto HERE;
> >>    return;
> >> }
> >>
> >> int main()
> >> {
> >>    Output("Input_Halts = ", H((u32)P, (u32)P));
> >> }
> >>
> >>       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
> >>
> >>
> >>>>
> >>>> A simulator animates the production of the sequence and that
> >>>> causes some difficulties in the same way that elaborating an
> >>>> infinite sum or sequence does in math classes. An (ultimate)
> >>>> value only exists if there is some notation of convergence or
> >>>> limit which typically is the case with examples used in a math
> >>>> class. There is no definition of convergence or limit with the
> >>>> sequence defined by TM(STRING); rather, we simply ask about the
> >>>> last pair if the sequence is finite.
> >>>
> >>> Sure.
> >>> The question right now is what you would call a TM which
> >>> evaluates the first 10 steps of a computation, and then does
> >>> something else. What is it doing while evaluating those 10 steps?
> >>>
> >>> tl;dr : who cares :)
> >>>
> >>> My terminology would be that it's "simulating" the computation
> >>> (just for 10 steps) - then it stops simulating and does something
> >>> else. Obviously I wouldn't describe it as "correctly" simulating,
> >>> because nobody considers incorrect simulations, so the word would
> >>> be redundant!
> >>
> >> It is required because my reviewers are making their best possible
> >> effort to form rebuttals and the most persistent of the fake
> >> rebuttals has been that the simulation is incorrect.  It is very
> >> easy to verify the correct x86 emulation on the basis of the x86
> >> language.
> >
> > Except that it doesn't. By DEFINITION, a correct simulation needs
> > show the same behavior of the thing it is simulating.
> >
>
> Members of comp.c and comp.c++ this goofy idiot is trying to claim
> that it is utterly impossible to create a C program that examines the
> x86 execution trace derived from simulating the input to
> H0(Infinite_Loop) with an x86 emulator to correctly determine that
> Infinite_Loop() infinitely loops.
>
> void Infinite_Loop()
> {
> HERE: goto HERE;
> }
>
> int main()
> {
> Output("Input_Halts = ", H0(Infinite_Loop));
> }
>
> _Infinite_Loop()
> [00001342](01) 55 push ebp
> [00001343](02) 8bec mov ebp,esp
> [00001345](02) ebfe jmp 00001345
> [00001347](01) 5d pop ebp
> [00001348](01) c3 ret
> Size in bytes:(0007) [00001348]
>
> Begin Local Halt Decider Simulation Execution Trace Stored at:212343
> [00001342][00212333][00212337] 55 push ebp
> [00001343][00212333][00212337] 8bec mov ebp,esp
> [00001345][00212333][00212337] ebfe jmp 00001345
> [00001345][00212333][00212337] ebfe jmp 00001345
> Local Halt Decider: Infinite Loop Detected Simulation Stopped

Click here to read the complete article

Re: Refuting the HP proofs (adapted for software engineers)[ Mike Terry ]

<20220606174952.00004643@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21851&group=comp.lang.c#21851

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!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,comp.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ Mike
Terry ]
Message-ID: <20220606174952.00004643@reddwarf.jmc>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com>
<t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com>
<t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com>
<t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com>
<t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org>
<t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org>
<t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@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: 173
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Mon, 06 Jun 2022 16:49:50 UTC
Date: Mon, 6 Jun 2022 17:49:52 +0100
X-Received-Bytes: 9772
 by: Mr Flibble - Mon, 6 Jun 2022 16:49 UTC

On Sun, 5 Jun 2022 19:27:39 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/5/2022 6:59 PM, Mike Terry wrote:
> > On 05/06/2022 22:59, Jeff Barnett wrote:
> >> On 6/5/2022 2:07 PM, Mike Terry wrote:
> >>> On 05/06/2022 16:16, Alan Mackenzie wrote:
> >>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
> >>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
> >>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
> >>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
> >>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
> >>>>
> >>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
> >>>>>>>>>>> configuration for which δ is not defined; this is
> >>>>>>>>>>> possible because
> >>>>>>>>>>> δ is a partial function. In fact, we will assume that no
> >>>>>>>>>>> transitions are defined for any final state so the Turing
> >>>>>>>>>>> machine
> >>>>>>>>>>> will halt whenever it enters a final state.
> >>>>>>>>>>> (Linz:1990:234)
> >>>>
> >>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages and
> >>>>>>>>>>> Automata.
> >>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
> >>>>
> >>>>>>>>>>> When translated into ordinary software engineering terms
> >>>>>>>>>>> this means
> >>>>>>>>>>> terminated normally. In a C function this means reaching
> >>>>>>>>>>> the "ret"
> >>>>>>>>>>> instruction.
> >>>>
> >>>>>>>>>> The best equivalent to "not defined" is not "ret".
> >>>>>>>>>> Instead, "not defined" should include at least:
> >>>>>>>>>> - HLT or any other instruction that means 'halt'
> >>>>>>>>>> - any undefined op code
> >>>>>>>>>> - any return or pop instruction if the stack is empty
> >>>>>>>>>> - an instruction fetch from a location that is not
> >>>>>>>>>> specifiec by the
> >>>>>>>>>>      program
> >>>>>>>>>> That way the analogy to Linz' definition is much better.
> >>>>
> >>>>>>>>>> Mikko
> >>>>
> >>>>>>>>> Reaching a final state is merely the Turing machine way of
> >>>>>>>>> saying terminated normally. "ret" is the C way of saying
> >>>>>>>>> the same thing.
> >>>>
> >>>>>>>> Sophistry.  What would be the turing machine equivalent of an
> >>>>>>>> "abnormal termination" in C?
> >>>>
> >>>>>>> An aborted simulation.
> >>>>
> >>>>>> There's no such thing on a turing machine.  It either runs and
> >>>>>> halts, or it runs forever.
> >>>>
> >>>>>> Your aborted simulation is just one final state of a turing
> >>>>>> machine, which has thus halted.
> >>>>
> >>>>> A TM "aborting" a simulation is just the TM ceasing to calculate
> >>>>> computation steps for some computation, and going on to
> >>>>> calculate something else instead.  It does not mean:
> >>>>> a)  that the TM (doing the simulation) has halted
> >>>>> b)  that the simulated computation halts
> >>>>> c)  that the simulated computation never halts
> >>>>
> >>>> OK.  I've a feeling we're talking more about nice shades of
> >>>> words than computer science here, but ....
> >>>>
> >>>> If the simulation is the entire turing machine, aborting it will
> >>>> bring the TM to a halt state.  If that simulation is merely part
> >>>> of the TM, then the word "halt" has a different meaning when
> >>>> applied to that simulation part from when applied to the entire
> >>>> TM.  I'm not even sure what you mean when you say a part of a TM
> >>>> has halted or not halted.
> >>>
> >>> We are clearly talking at cross purposes - I never talked about
> >>> /part/ of a TM halting, and like you, I can't work out what that
> >>> would mean!  I used "halt" only with respect to a computation,
> >>> meaning that the computation halts [there is an n such that
> >>> computation step n is a TM final state].
> >>>
> >>> Reading what you say very carefully, I think that by your
> >>> definition of simulation, the simulating TM must be a "pure"
> >>> simulator that does nothing but simulate computation steps until
> >>> the simulation halts, at which point the simulating TM halts
> >>> (like a UTM).  I get that with that interpretation what you said:
> >>>
> >>> <copied from above>
> >>>  >>> Your aborted simulation is just one final state of a turing
> >>> machine,
> >>>  >>> which has thus halted.
> >>>
> >>>   makes sense and is correct.  I'd just say I don't think that
> >>> usage of "simulation" is very useful, and is DEFINITELY not what
> >>> PO is talking about (so it would be wrong if applied PO's
> >>> posts...)
> >>>
> >>> My use of "simulation" is broader: it's simply the activity
> >>> performed by a TM which consists of calculating computation steps
> >>> of some given computation.  As such it's just a part of the TM
> >>> logic. A TM's typical use of simulation might be something like
> >>> "..the TM simulates the computation for n steps, and if the
> >>> simulation halts during those n steps, the TM [blah blah],
> >>> /otherwise/ the TM [blah blah blah]...". Just about every
> >>> reference in the literature I can recall is something like that.
> >>>
> >>> So... to be 100% clear on what I said:
> >>>
> >>> <copied from above>
> >>>  >> A TM "aborting" a simulation is just the TM ceasing to
> >>> calculate >> computation steps for some computation, and going on
> >>> to calculate >> something else instead.
> >>>
> >>> E.g. in PO's P, after P aborts its simulation of P(P), the TM
> >>> either halts or enters an infinite loop.  (That logic is not part
> >>> of the simulation, IMO.)
> >>>
> >>>  >> It does *NOT* mean:
> >>>  >> a)  that the TM (doing the simulation) has halted
> >>>
> >>> obviously, because now P has gone on to something else...
> >>>
> >>>  >> b)  that the simulated computation halts
> >>>  >> c)  that the simulated computation never halts
> >>>
> >>> obviously - in general different exacmples of a simulated
> >>> computation P(I) might halt or never halt, and this is unaffected
> >>> by a simulator's decision to simulate no further computation
> >>> steps. [The TM may have spotted some pattern in the simulated
> >>> computation which implies P(I) never halts - that is a separate
> >>> matter, but for sure the mere act of "aborting" the simulation
> >>> doesn't imply P(I) never halts, or imply that it halts...
> >>>
> >>> Put yet another way, when a TM stops calculating TM steps (aka
> >>> aborts its simulation), NOTHING HALTS: not the simulating TM, not
> >>> the simulated computation, and NOT ANY PART OF EITHER OF THOSE.
> >>> (Like you say, what would part of a TM halting mean?)
> >>
> >> I think of a TM and an input string as defining a sequence (an
> >> ordered list). The elements of the sequence are pairs of a TM
> >> state name and a string representing the "tape" contents when the
> >> state was entered. Note that this view has no character of
> >> animation in it and makes the definition of the halt predicate (H)
> >> trivial:
> >>
> >> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else
> >> FALSE.
> >
> > Yes, that's equivalent to what I said (or at least meant).  Your
> > sequence is my computation steps. Formally, these would be defined
> > inductively via the rule to go from step n to step n+1.  (Not an
> > animation, but the induction gives some /sense/ of step-by-step
> > calculation, and a simulator will follow this, starting at step 1,
> > then calculate step 2 and so on.  Still, I agree the entire
> > sequence [the "computation"] exists as one timeless structure.  Too
> > abstract for PO...)
>
> In other words when we make sure to conflate the program under test
> with the test program as a single computation then the whole idea of
> a halt decider becomes less coherent and


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21852&group=comp.lang.c#21852

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Mon, 06 Jun 2022 11:57:58 -0500
Date: Mon, 6 Jun 2022 11:57:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members
of c/c++ ]
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606174525.0000745f@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220606174525.0000745f@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>
Lines: 286
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-twFXu3eyZrVa8G3SbUZxQxVveHN45AXiojbjxsqO9Yw/siv0TxWOWAHOkxPxlRLDXhh3Crl3Nlg/laa!S6hw5uuzIajTgBACe/Z3QsjAyMz0yilMkR9Jt8nWYkwBi/rR3c6pUSVSTH4j/MV5H2vRKdxPcs4j
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: 14420
 by: olcott - Mon, 6 Jun 2022 16:57 UTC

On 6/6/2022 11:45 AM, Mr Flibble wrote:
> On Sun, 5 Jun 2022 20:13:01 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/5/2022 7:56 PM, Richard Damon wrote:
>>> On 6/5/22 8:27 PM, olcott wrote:
>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
>>>>>>>> wrote:
>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>>>>>
>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
>>>>>>>>>>>>>>> configuration for which δ is not defined; this is
>>>>>>>>>>>>>>> possible because
>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume that no
>>>>>>>>>>>>>>> transitions are defined for any final state so the
>>>>>>>>>>>>>>> Turing machine
>>>>>>>>>>>>>>> will halt whenever it enters a final state.
>>>>>>>>>>>>>>> (Linz:1990:234)
>>>>>>>>
>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages
>>>>>>>>>>>>>>> and Automata.
>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>>>>
>>>>>>>>>>>>>>> When translated into ordinary software engineering
>>>>>>>>>>>>>>> terms this means
>>>>>>>>>>>>>>> terminated normally. In a C function this means
>>>>>>>>>>>>>>> reaching the "ret"
>>>>>>>>>>>>>>> instruction.
>>>>>>>>
>>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
>>>>>>>>>>>>>> Instead, "not
>>>>>>>>>>>>>> defined" should include at least:
>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>>>>>> - any undefined op code
>>>>>>>>>>>>>> - any return or pop instruction if the stack is empty
>>>>>>>>>>>>>> - an instruction fetch from a location that is not
>>>>>>>>>>>>>> specifiec by the
>>>>>>>>>>>>>>      program
>>>>>>>>>>>>>> That way the analogy to Linz' definition is much better.
>>>>>>>>>>>>>>
>>>>>>>>
>>>>>>>>>>>>>> Mikko
>>>>>>>>
>>>>>>>>>>>>> Reaching a final state is merely the Turing machine way
>>>>>>>>>>>>> of saying
>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying the
>>>>>>>>>>>>> same thing.
>>>>>>>>
>>>>>>>>>>>> Sophistry.  What would be the turing machine equivalent of
>>>>>>>>>>>> an "abnormal termination" in C?
>>>>>>>>
>>>>>>>>>>> An aborted simulation.
>>>>>>>>
>>>>>>>>>> There's no such thing on a turing machine.  It either runs
>>>>>>>>>> and halts,
>>>>>>>>>> or it runs forever.
>>>>>>>>
>>>>>>>>>> Your aborted simulation is just one final state of a turing
>>>>>>>>>> machine,
>>>>>>>>>> which has thus halted.
>>>>>>>>
>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
>>>>>>>>> calculate computation steps for some computation, and going
>>>>>>>>> on to calculate something else instead.  It does not mean:
>>>>>>>>> a)  that the TM (doing the simulation) has halted
>>>>>>>>> b)  that the simulated computation halts
>>>>>>>>> c)  that the simulated computation never halts
>>>>>>>>
>>>>>>>> OK.  I've a feeling we're talking more about nice shades of
>>>>>>>> words than
>>>>>>>> computer science here, but ....
>>>>>>>>
>>>>>>>> If the simulation is the entire turing machine, aborting it
>>>>>>>> will bring
>>>>>>>> the TM to a halt state.  If that simulation is merely part of
>>>>>>>> the TM, then the word "halt" has a different meaning when
>>>>>>>> applied to that simulation part from when applied to the
>>>>>>>> entire TM.  I'm not even sure
>>>>>>>> what you mean when you say a part of a TM has halted or not
>>>>>>>> halted.
>>>>>>>
>>>>>>> We are clearly talking at cross purposes - I never talked about
>>>>>>> /part/ of a TM halting, and like you, I can't work out what
>>>>>>> that would mean!  I used "halt" only with respect to a
>>>>>>> computation, meaning that the computation halts [there is an n
>>>>>>> such that computation step n is a TM final state].
>>>>>>>
>>>>>>> Reading what you say very carefully, I think that by your
>>>>>>> definition of simulation, the simulating TM must be a "pure"
>>>>>>> simulator that does nothing but simulate computation steps
>>>>>>> until the simulation halts, at which point the simulating TM
>>>>>>> halts (like a UTM).  I get that with that interpretation what
>>>>>>> you said:
>>>>>>>
>>>>>>> <copied from above>
>>>>>>>  >>> Your aborted simulation is just one final state of a
>>>>>>> turing machine,
>>>>>>>  >>> which has thus halted.
>>>>>>>
>>>>>>>   makes sense and is correct.  I'd just say I don't think that
>>>>>>> usage of "simulation" is very useful, and is DEFINITELY not
>>>>>>> what PO is talking about (so it would be wrong if applied PO's
>>>>>>> posts...)
>>>>>>>
>>>>>>> My use of "simulation" is broader: it's simply the activity
>>>>>>> performed by a TM which consists of calculating computation
>>>>>>> steps of some given computation.  As such it's just a part of
>>>>>>> the TM logic. A TM's typical use of simulation might be
>>>>>>> something like "..the TM simulates the computation for n steps,
>>>>>>> and if the simulation halts during those n steps, the TM [blah
>>>>>>> blah], /otherwise/ the TM [blah blah blah]...". Just about
>>>>>>> every reference in the literature I can recall is something
>>>>>>> like that.
>>>>>>>
>>>>>>> So... to be 100% clear on what I said:
>>>>>>>
>>>>>>> <copied from above>
>>>>>>>  >> A TM "aborting" a simulation is just the TM ceasing to
>>>>>>> calculate >> computation steps for some computation, and going
>>>>>>> on to calculate >> something else instead.
>>>>>>>
>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM
>>>>>>> either halts or enters an infinite loop.  (That logic is not
>>>>>>> part of the simulation, IMO.)
>>>>>>>
>>>>>>>  >> It does *NOT* mean:
>>>>>>>  >> a)  that the TM (doing the simulation) has halted
>>>>>>>
>>>>>>> obviously, because now P has gone on to something else...
>>>>>>>
>>>>>>>  >> b)  that the simulated computation halts
>>>>>>>  >> c)  that the simulated computation never halts
>>>>>>>
>>>>>>> obviously - in general different exacmples of a simulated
>>>>>>> computation P(I) might halt or never halt, and this is
>>>>>>> unaffected by a simulator's decision to simulate no further
>>>>>>> computation steps. [The TM may have spotted some pattern in the
>>>>>>> simulated computation which implies P(I) never halts - that is
>>>>>>> a separate matter, but for sure the mere act of "aborting" the
>>>>>>> simulation doesn't imply P(I) never halts, or imply that it
>>>>>>> halts...
>>>>>>>
>>>>>>> Put yet another way, when a TM stops calculating TM steps (aka
>>>>>>> aborts its simulation), NOTHING HALTS: not the simulating TM,
>>>>>>> not the simulated computation, and NOT ANY PART OF EITHER OF
>>>>>>> THOSE. (Like you say, what would part of a TM halting mean?)
>>>>>>
>>>>>> I think of a TM and an input string as defining a sequence (an
>>>>>> ordered list). The elements of the sequence are pairs of a TM
>>>>>> state name and a string representing the "tape" contents when
>>>>>> the state was entered. Note that this view has no character of
>>>>>> animation in it and makes the definition of the halt predicate
>>>>>> (H) trivial:
>>>>>>
>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else
>>>>>> FALSE.
>>>>>
>>>>> Yes, that's equivalent to what I said (or at least meant).  Your
>>>>> sequence is my computation steps. Formally, these would be
>>>>> defined inductively via the rule to go from step n to step n+1.
>>>>> (Not an animation, but the induction gives some /sense/ of
>>>>> step-by-step calculation, and a simulator will follow this,
>>>>> starting at step 1, then calculate step 2 and so on.  Still, I
>>>>> agree the entire sequence [the "computation"] exists as one
>>>>> timeless structure.  Too abstract for PO...)
>>>>>
>>>>
>>>> In other words when we make sure to conflate the program under
>>>> test with the test program as a single computation then the whole
>>>> idea of a halt decider becomes less coherent and
>>>>
>>>> this can be used as an excuse to pretend that you don't already
>>>> know that H(P,P)==0 is correct and the H/P relationship matches
>>>> the halting problem counter example template.
>>>>
>>>> void P(u32 x)
>>>> {
>>>>    if (H(x, x))
>>>>      HERE: goto HERE;
>>>>    return;
>>>> }
>>>>
>>>> int main()
>>>> {
>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
>>>> }
>>>>
>>>>       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
>>>>
>>>>
>>>>>>
>>>>>> A simulator animates the production of the sequence and that
>>>>>> causes some difficulties in the same way that elaborating an
>>>>>> infinite sum or sequence does in math classes. An (ultimate)
>>>>>> value only exists if there is some notation of convergence or
>>>>>> limit which typically is the case with examples used in a math
>>>>>> class. There is no definition of convergence or limit with the
>>>>>> sequence defined by TM(STRING); rather, we simply ask about the
>>>>>> last pair if the sequence is finite.
>>>>>
>>>>> Sure.
>>>>> The question right now is what you would call a TM which
>>>>> evaluates the first 10 steps of a computation, and then does
>>>>> something else. What is it doing while evaluating those 10 steps?
>>>>>
>>>>> tl;dr : who cares :)
>>>>>
>>>>> My terminology would be that it's "simulating" the computation
>>>>> (just for 10 steps) - then it stops simulating and does something
>>>>> else. Obviously I wouldn't describe it as "correctly" simulating,
>>>>> because nobody considers incorrect simulations, so the word would
>>>>> be redundant!
>>>>
>>>> It is required because my reviewers are making their best possible
>>>> effort to form rebuttals and the most persistent of the fake
>>>> rebuttals has been that the simulation is incorrect.  It is very
>>>> easy to verify the correct x86 emulation on the basis of the x86
>>>> language.
>>>
>>> Except that it doesn't. By DEFINITION, a correct simulation needs
>>> show the same behavior of the thing it is simulating.
>>>
>>
>> Members of comp.c and comp.c++ this goofy idiot is trying to claim
>> that it is utterly impossible to create a C program that examines the
>> x86 execution trace derived from simulating the input to
>> H0(Infinite_Loop) with an x86 emulator to correctly determine that
>> Infinite_Loop() infinitely loops.
>>
>> void Infinite_Loop()
>> {
>> HERE: goto HERE;
>> }
>>
>> int main()
>> {
>> Output("Input_Halts = ", H0(Infinite_Loop));
>> }
>>
>> _Infinite_Loop()
>> [00001342](01) 55 push ebp
>> [00001343](02) 8bec mov ebp,esp
>> [00001345](02) ebfe jmp 00001345
>> [00001347](01) 5d pop ebp
>> [00001348](01) c3 ret
>> Size in bytes:(0007) [00001348]
>>
>> Begin Local Halt Decider Simulation Execution Trace Stored at:212343
>> [00001342][00212333][00212337] 55 push ebp
>> [00001343][00212333][00212337] 8bec mov ebp,esp
>> [00001345][00212333][00212337] ebfe jmp 00001345
>> [00001345][00212333][00212337] ebfe jmp 00001345
>> Local Halt Decider: Infinite Loop Detected Simulation Stopped
>
> But he isn't doing that; the issue is not the infinite loop but the
> logic used to decide to enter the infinite loop. Post *full* traces.
>
> /Flibble
>
>


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<20220606185031.0000254f@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21853&group=comp.lang.c#21853

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder.usenetexpress.com!tr1.eu1.usenetexpress.com!81.171.65.14.MISMATCH!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx01.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]
Message-ID: <20220606185031.0000254f@reddwarf.jmc>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com> <zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com> <c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com> <gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de> <RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me> <rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de> <V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de> <t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de> <t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me> <t7jg0k$1qko$1@gioia.aioe.org> <SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com> <rhcnK.65120$ntj.43005@fx15.iad> <H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com> <20220606174525.0000745f@reddwarf.jmc> <ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@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: 300
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Mon, 06 Jun 2022 17:50:31 UTC
Date: Mon, 6 Jun 2022 18:50:31 +0100
X-Received-Bytes: 15216
 by: Mr Flibble - Mon, 6 Jun 2022 17:50 UTC

On Mon, 6 Jun 2022 11:57:57 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/6/2022 11:45 AM, Mr Flibble wrote:
> > On Sun, 5 Jun 2022 20:13:01 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/5/2022 7:56 PM, Richard Damon wrote:
> >>> On 6/5/22 8:27 PM, olcott wrote:
> >>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
> >>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
> >>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
> >>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
> >>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
> >>>>>>>> wrote:
> >>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
> >>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
> >>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
> >>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
> >>>>>>>>
> >>>>>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
> >>>>>>>>>>>>>>> configuration for which δ is not defined; this is
> >>>>>>>>>>>>>>> possible because
> >>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume that
> >>>>>>>>>>>>>>> no transitions are defined for any final state so the
> >>>>>>>>>>>>>>> Turing machine
> >>>>>>>>>>>>>>> will halt whenever it enters a final state.
> >>>>>>>>>>>>>>> (Linz:1990:234)
> >>>>>>>>
> >>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages
> >>>>>>>>>>>>>>> and Automata.
> >>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
> >>>>>>>>
> >>>>>>>>>>>>>>> When translated into ordinary software engineering
> >>>>>>>>>>>>>>> terms this means
> >>>>>>>>>>>>>>> terminated normally. In a C function this means
> >>>>>>>>>>>>>>> reaching the "ret"
> >>>>>>>>>>>>>>> instruction.
> >>>>>>>>
> >>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
> >>>>>>>>>>>>>> Instead, "not
> >>>>>>>>>>>>>> defined" should include at least:
> >>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
> >>>>>>>>>>>>>> - any undefined op code
> >>>>>>>>>>>>>> - any return or pop instruction if the stack is empty
> >>>>>>>>>>>>>> - an instruction fetch from a location that is not
> >>>>>>>>>>>>>> specifiec by the
> >>>>>>>>>>>>>>      program
> >>>>>>>>>>>>>> That way the analogy to Linz' definition is much
> >>>>>>>>>>>>>> better.
> >>>>>>>>
> >>>>>>>>>>>>>> Mikko
> >>>>>>>>
> >>>>>>>>>>>>> Reaching a final state is merely the Turing machine way
> >>>>>>>>>>>>> of saying
> >>>>>>>>>>>>> terminated normally. "ret" is the C way of saying the
> >>>>>>>>>>>>> same thing.
> >>>>>>>>
> >>>>>>>>>>>> Sophistry.  What would be the turing machine equivalent
> >>>>>>>>>>>> of an "abnormal termination" in C?
> >>>>>>>>
> >>>>>>>>>>> An aborted simulation.
> >>>>>>>>
> >>>>>>>>>> There's no such thing on a turing machine.  It either runs
> >>>>>>>>>> and halts,
> >>>>>>>>>> or it runs forever.
> >>>>>>>>
> >>>>>>>>>> Your aborted simulation is just one final state of a turing
> >>>>>>>>>> machine,
> >>>>>>>>>> which has thus halted.
> >>>>>>>>
> >>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
> >>>>>>>>> calculate computation steps for some computation, and going
> >>>>>>>>> on to calculate something else instead.  It does not mean:
> >>>>>>>>> a)  that the TM (doing the simulation) has halted
> >>>>>>>>> b)  that the simulated computation halts
> >>>>>>>>> c)  that the simulated computation never halts
> >>>>>>>>
> >>>>>>>> OK.  I've a feeling we're talking more about nice shades of
> >>>>>>>> words than
> >>>>>>>> computer science here, but ....
> >>>>>>>>
> >>>>>>>> If the simulation is the entire turing machine, aborting it
> >>>>>>>> will bring
> >>>>>>>> the TM to a halt state.  If that simulation is merely part of
> >>>>>>>> the TM, then the word "halt" has a different meaning when
> >>>>>>>> applied to that simulation part from when applied to the
> >>>>>>>> entire TM.  I'm not even sure
> >>>>>>>> what you mean when you say a part of a TM has halted or not
> >>>>>>>> halted.
> >>>>>>>
> >>>>>>> We are clearly talking at cross purposes - I never talked
> >>>>>>> about /part/ of a TM halting, and like you, I can't work out
> >>>>>>> what that would mean!  I used "halt" only with respect to a
> >>>>>>> computation, meaning that the computation halts [there is an n
> >>>>>>> such that computation step n is a TM final state].
> >>>>>>>
> >>>>>>> Reading what you say very carefully, I think that by your
> >>>>>>> definition of simulation, the simulating TM must be a "pure"
> >>>>>>> simulator that does nothing but simulate computation steps
> >>>>>>> until the simulation halts, at which point the simulating TM
> >>>>>>> halts (like a UTM).  I get that with that interpretation what
> >>>>>>> you said:
> >>>>>>>
> >>>>>>> <copied from above>
> >>>>>>>  >>> Your aborted simulation is just one final state of a
> >>>>>>> turing machine,
> >>>>>>>  >>> which has thus halted.
> >>>>>>>
> >>>>>>>   makes sense and is correct.  I'd just say I don't think
> >>>>>>> that usage of "simulation" is very useful, and is DEFINITELY
> >>>>>>> not what PO is talking about (so it would be wrong if applied
> >>>>>>> PO's posts...)
> >>>>>>>
> >>>>>>> My use of "simulation" is broader: it's simply the activity
> >>>>>>> performed by a TM which consists of calculating computation
> >>>>>>> steps of some given computation.  As such it's just a part of
> >>>>>>> the TM logic. A TM's typical use of simulation might be
> >>>>>>> something like "..the TM simulates the computation for n
> >>>>>>> steps, and if the simulation halts during those n steps, the
> >>>>>>> TM [blah blah], /otherwise/ the TM [blah blah blah]...". Just
> >>>>>>> about every reference in the literature I can recall is
> >>>>>>> something like that.
> >>>>>>>
> >>>>>>> So... to be 100% clear on what I said:
> >>>>>>>
> >>>>>>> <copied from above>
> >>>>>>>  >> A TM "aborting" a simulation is just the TM ceasing to
> >>>>>>> calculate >> computation steps for some computation, and going
> >>>>>>> on to calculate >> something else instead.
> >>>>>>>
> >>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM
> >>>>>>> either halts or enters an infinite loop.  (That logic is not
> >>>>>>> part of the simulation, IMO.)
> >>>>>>>
> >>>>>>>  >> It does *NOT* mean:
> >>>>>>>  >> a)  that the TM (doing the simulation) has halted
> >>>>>>>
> >>>>>>> obviously, because now P has gone on to something else...
> >>>>>>>
> >>>>>>>  >> b)  that the simulated computation halts
> >>>>>>>  >> c)  that the simulated computation never halts
> >>>>>>>
> >>>>>>> obviously - in general different exacmples of a simulated
> >>>>>>> computation P(I) might halt or never halt, and this is
> >>>>>>> unaffected by a simulator's decision to simulate no further
> >>>>>>> computation steps. [The TM may have spotted some pattern in
> >>>>>>> the simulated computation which implies P(I) never halts -
> >>>>>>> that is a separate matter, but for sure the mere act of
> >>>>>>> "aborting" the simulation doesn't imply P(I) never halts, or
> >>>>>>> imply that it halts...
> >>>>>>>
> >>>>>>> Put yet another way, when a TM stops calculating TM steps (aka
> >>>>>>> aborts its simulation), NOTHING HALTS: not the simulating TM,
> >>>>>>> not the simulated computation, and NOT ANY PART OF EITHER OF
> >>>>>>> THOSE. (Like you say, what would part of a TM halting mean?)
> >>>>>>
> >>>>>> I think of a TM and an input string as defining a sequence (an
> >>>>>> ordered list). The elements of the sequence are pairs of a TM
> >>>>>> state name and a string representing the "tape" contents when
> >>>>>> the state was entered. Note that this view has no character of
> >>>>>> animation in it and makes the definition of the halt predicate
> >>>>>> (H) trivial:
> >>>>>>
> >>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else
> >>>>>> FALSE.
> >>>>>
> >>>>> Yes, that's equivalent to what I said (or at least meant).  Your
> >>>>> sequence is my computation steps. Formally, these would be
> >>>>> defined inductively via the rule to go from step n to step n+1.
> >>>>> (Not an animation, but the induction gives some /sense/ of
> >>>>> step-by-step calculation, and a simulator will follow this,
> >>>>> starting at step 1, then calculate step 2 and so on.  Still, I
> >>>>> agree the entire sequence [the "computation"] exists as one
> >>>>> timeless structure.  Too abstract for PO...)
> >>>>>
> >>>>
> >>>> In other words when we make sure to conflate the program under
> >>>> test with the test program as a single computation then the whole
> >>>> idea of a halt decider becomes less coherent and
> >>>>
> >>>> this can be used as an excuse to pretend that you don't already
> >>>> know that H(P,P)==0 is correct and the H/P relationship matches
> >>>> the halting problem counter example template.
> >>>>
> >>>> void P(u32 x)
> >>>> {
> >>>>    if (H(x, x))
> >>>>      HERE: goto HERE;
> >>>>    return;
> >>>> }
> >>>>
> >>>> int main()
> >>>> {
> >>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>> }
> >>>>
> >>>>       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
> >>>>
> >>>>
> >>>>>>
> >>>>>> A simulator animates the production of the sequence and that
> >>>>>> causes some difficulties in the same way that elaborating an
> >>>>>> infinite sum or sequence does in math classes. An (ultimate)
> >>>>>> value only exists if there is some notation of convergence or
> >>>>>> limit which typically is the case with examples used in a math
> >>>>>> class. There is no definition of convergence or limit with the
> >>>>>> sequence defined by TM(STRING); rather, we simply ask about the
> >>>>>> last pair if the sequence is finite.
> >>>>>
> >>>>> Sure.
> >>>>> The question right now is what you would call a TM which
> >>>>> evaluates the first 10 steps of a computation, and then does
> >>>>> something else. What is it doing while evaluating those 10
> >>>>> steps?
> >>>>>
> >>>>> tl;dr : who cares :)
> >>>>>
> >>>>> My terminology would be that it's "simulating" the computation
> >>>>> (just for 10 steps) - then it stops simulating and does
> >>>>> something else. Obviously I wouldn't describe it as "correctly"
> >>>>> simulating, because nobody considers incorrect simulations, so
> >>>>> the word would be redundant!
> >>>>
> >>>> It is required because my reviewers are making their best
> >>>> possible effort to form rebuttals and the most persistent of the
> >>>> fake rebuttals has been that the simulation is incorrect.  It is
> >>>> very easy to verify the correct x86 emulation on the basis of
> >>>> the x86 language.
> >>>
> >>> Except that it doesn't. By DEFINITION, a correct simulation needs
> >>> show the same behavior of the thing it is simulating.
> >>>
> >>
> >> Members of comp.c and comp.c++ this goofy idiot is trying to claim
> >> that it is utterly impossible to create a C program that examines
> >> the x86 execution trace derived from simulating the input to
> >> H0(Infinite_Loop) with an x86 emulator to correctly determine that
> >> Infinite_Loop() infinitely loops.
> >>
> >> void Infinite_Loop()
> >> {
> >> HERE: goto HERE;
> >> }
> >>
> >> int main()
> >> {
> >> Output("Input_Halts = ", H0(Infinite_Loop));
> >> }
> >>
> >> _Infinite_Loop()
> >> [00001342](01) 55 push ebp
> >> [00001343](02) 8bec mov ebp,esp
> >> [00001345](02) ebfe jmp 00001345
> >> [00001347](01) 5d pop ebp
> >> [00001348](01) c3 ret
> >> Size in bytes:(0007) [00001348]
> >>
> >> Begin Local Halt Decider Simulation Execution Trace Stored
> >> at:212343 [00001342][00212333][00212337] 55 push ebp
> >> [00001343][00212333][00212337] 8bec mov ebp,esp
> >> [00001345][00212333][00212337] ebfe jmp 00001345
> >> [00001345][00212333][00212337] ebfe jmp 00001345
> >> Local Halt Decider: Infinite Loop Detected Simulation Stopped
> >
> > But he isn't doing that; the issue is not the infinite loop but the
> > logic used to decide to enter the infinite loop. Post *full* traces.
> >
> > /Flibble
> >
> >
>
> In other words you are unable to tell that _Infinite_Loop() contains
> an infinite loop.


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21854&group=comp.lang.c#21854

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Mon, 06 Jun 2022 13:19:16 -0500
Date: Mon, 6 Jun 2022 13:19:15 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members
of c/c++ ]
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606174525.0000745f@reddwarf.jmc>
<ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>
<20220606185031.0000254f@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220606185031.0000254f@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 311
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-RV2aacPD/H3Kt9w95thFwh8PY3xnFKhPHIhaHhY4W5lNUEhX86s6ubQkS6uNE9iD9ZpZz8S2dG6ogEG!wj/fNq3SASId5T65PEXsbLSdD+th5K/IENSY2NRTLt02UpcySMtasU2Lhcbepc10wfnr+KGzqVaY
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: 15916
 by: olcott - Mon, 6 Jun 2022 18:19 UTC

On 6/6/2022 12:50 PM, Mr Flibble wrote:
> On Mon, 6 Jun 2022 11:57:57 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/6/2022 11:45 AM, Mr Flibble wrote:
>>> On Sun, 5 Jun 2022 20:13:01 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>
>>>> On 6/5/2022 7:56 PM, Richard Damon wrote:
>>>>> On 6/5/22 8:27 PM, olcott wrote:
>>>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
>>>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
>>>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
>>>>>>>>>> wrote:
>>>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>>>>>>>
>>>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it reaches a
>>>>>>>>>>>>>>>>> configuration for which δ is not defined; this is
>>>>>>>>>>>>>>>>> possible because
>>>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume that
>>>>>>>>>>>>>>>>> no transitions are defined for any final state so the
>>>>>>>>>>>>>>>>> Turing machine
>>>>>>>>>>>>>>>>> will halt whenever it enters a final state.
>>>>>>>>>>>>>>>>> (Linz:1990:234)
>>>>>>>>>>
>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal Languages
>>>>>>>>>>>>>>>>> and Automata.
>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>>>>>>
>>>>>>>>>>>>>>>>> When translated into ordinary software engineering
>>>>>>>>>>>>>>>>> terms this means
>>>>>>>>>>>>>>>>> terminated normally. In a C function this means
>>>>>>>>>>>>>>>>> reaching the "ret"
>>>>>>>>>>>>>>>>> instruction.
>>>>>>>>>>
>>>>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
>>>>>>>>>>>>>>>> Instead, "not
>>>>>>>>>>>>>>>> defined" should include at least:
>>>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>>>>>>>> - any undefined op code
>>>>>>>>>>>>>>>> - any return or pop instruction if the stack is empty
>>>>>>>>>>>>>>>> - an instruction fetch from a location that is not
>>>>>>>>>>>>>>>> specifiec by the
>>>>>>>>>>>>>>>>      program
>>>>>>>>>>>>>>>> That way the analogy to Linz' definition is much
>>>>>>>>>>>>>>>> better.
>>>>>>>>>>
>>>>>>>>>>>>>>>> Mikko
>>>>>>>>>>
>>>>>>>>>>>>>>> Reaching a final state is merely the Turing machine way
>>>>>>>>>>>>>>> of saying
>>>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying the
>>>>>>>>>>>>>>> same thing.
>>>>>>>>>>
>>>>>>>>>>>>>> Sophistry.  What would be the turing machine equivalent
>>>>>>>>>>>>>> of an "abnormal termination" in C?
>>>>>>>>>>
>>>>>>>>>>>>> An aborted simulation.
>>>>>>>>>>
>>>>>>>>>>>> There's no such thing on a turing machine.  It either runs
>>>>>>>>>>>> and halts,
>>>>>>>>>>>> or it runs forever.
>>>>>>>>>>
>>>>>>>>>>>> Your aborted simulation is just one final state of a turing
>>>>>>>>>>>> machine,
>>>>>>>>>>>> which has thus halted.
>>>>>>>>>>
>>>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
>>>>>>>>>>> calculate computation steps for some computation, and going
>>>>>>>>>>> on to calculate something else instead.  It does not mean:
>>>>>>>>>>> a)  that the TM (doing the simulation) has halted
>>>>>>>>>>> b)  that the simulated computation halts
>>>>>>>>>>> c)  that the simulated computation never halts
>>>>>>>>>>
>>>>>>>>>> OK.  I've a feeling we're talking more about nice shades of
>>>>>>>>>> words than
>>>>>>>>>> computer science here, but ....
>>>>>>>>>>
>>>>>>>>>> If the simulation is the entire turing machine, aborting it
>>>>>>>>>> will bring
>>>>>>>>>> the TM to a halt state.  If that simulation is merely part of
>>>>>>>>>> the TM, then the word "halt" has a different meaning when
>>>>>>>>>> applied to that simulation part from when applied to the
>>>>>>>>>> entire TM.  I'm not even sure
>>>>>>>>>> what you mean when you say a part of a TM has halted or not
>>>>>>>>>> halted.
>>>>>>>>>
>>>>>>>>> We are clearly talking at cross purposes - I never talked
>>>>>>>>> about /part/ of a TM halting, and like you, I can't work out
>>>>>>>>> what that would mean!  I used "halt" only with respect to a
>>>>>>>>> computation, meaning that the computation halts [there is an n
>>>>>>>>> such that computation step n is a TM final state].
>>>>>>>>>
>>>>>>>>> Reading what you say very carefully, I think that by your
>>>>>>>>> definition of simulation, the simulating TM must be a "pure"
>>>>>>>>> simulator that does nothing but simulate computation steps
>>>>>>>>> until the simulation halts, at which point the simulating TM
>>>>>>>>> halts (like a UTM).  I get that with that interpretation what
>>>>>>>>> you said:
>>>>>>>>>
>>>>>>>>> <copied from above>
>>>>>>>>>  >>> Your aborted simulation is just one final state of a
>>>>>>>>> turing machine,
>>>>>>>>>  >>> which has thus halted.
>>>>>>>>>
>>>>>>>>>   makes sense and is correct.  I'd just say I don't think
>>>>>>>>> that usage of "simulation" is very useful, and is DEFINITELY
>>>>>>>>> not what PO is talking about (so it would be wrong if applied
>>>>>>>>> PO's posts...)
>>>>>>>>>
>>>>>>>>> My use of "simulation" is broader: it's simply the activity
>>>>>>>>> performed by a TM which consists of calculating computation
>>>>>>>>> steps of some given computation.  As such it's just a part of
>>>>>>>>> the TM logic. A TM's typical use of simulation might be
>>>>>>>>> something like "..the TM simulates the computation for n
>>>>>>>>> steps, and if the simulation halts during those n steps, the
>>>>>>>>> TM [blah blah], /otherwise/ the TM [blah blah blah]...". Just
>>>>>>>>> about every reference in the literature I can recall is
>>>>>>>>> something like that.
>>>>>>>>>
>>>>>>>>> So... to be 100% clear on what I said:
>>>>>>>>>
>>>>>>>>> <copied from above>
>>>>>>>>>  >> A TM "aborting" a simulation is just the TM ceasing to
>>>>>>>>> calculate >> computation steps for some computation, and going
>>>>>>>>> on to calculate >> something else instead.
>>>>>>>>>
>>>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the TM
>>>>>>>>> either halts or enters an infinite loop.  (That logic is not
>>>>>>>>> part of the simulation, IMO.)
>>>>>>>>>
>>>>>>>>>  >> It does *NOT* mean:
>>>>>>>>>  >> a)  that the TM (doing the simulation) has halted
>>>>>>>>>
>>>>>>>>> obviously, because now P has gone on to something else...
>>>>>>>>>
>>>>>>>>>  >> b)  that the simulated computation halts
>>>>>>>>>  >> c)  that the simulated computation never halts
>>>>>>>>>
>>>>>>>>> obviously - in general different exacmples of a simulated
>>>>>>>>> computation P(I) might halt or never halt, and this is
>>>>>>>>> unaffected by a simulator's decision to simulate no further
>>>>>>>>> computation steps. [The TM may have spotted some pattern in
>>>>>>>>> the simulated computation which implies P(I) never halts -
>>>>>>>>> that is a separate matter, but for sure the mere act of
>>>>>>>>> "aborting" the simulation doesn't imply P(I) never halts, or
>>>>>>>>> imply that it halts...
>>>>>>>>>
>>>>>>>>> Put yet another way, when a TM stops calculating TM steps (aka
>>>>>>>>> aborts its simulation), NOTHING HALTS: not the simulating TM,
>>>>>>>>> not the simulated computation, and NOT ANY PART OF EITHER OF
>>>>>>>>> THOSE. (Like you say, what would part of a TM halting mean?)
>>>>>>>>
>>>>>>>> I think of a TM and an input string as defining a sequence (an
>>>>>>>> ordered list). The elements of the sequence are pairs of a TM
>>>>>>>> state name and a string representing the "tape" contents when
>>>>>>>> the state was entered. Note that this view has no character of
>>>>>>>> animation in it and makes the definition of the halt predicate
>>>>>>>> (H) trivial:
>>>>>>>>
>>>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE else
>>>>>>>> FALSE.
>>>>>>>
>>>>>>> Yes, that's equivalent to what I said (or at least meant).  Your
>>>>>>> sequence is my computation steps. Formally, these would be
>>>>>>> defined inductively via the rule to go from step n to step n+1.
>>>>>>> (Not an animation, but the induction gives some /sense/ of
>>>>>>> step-by-step calculation, and a simulator will follow this,
>>>>>>> starting at step 1, then calculate step 2 and so on.  Still, I
>>>>>>> agree the entire sequence [the "computation"] exists as one
>>>>>>> timeless structure.  Too abstract for PO...)
>>>>>>>
>>>>>>
>>>>>> In other words when we make sure to conflate the program under
>>>>>> test with the test program as a single computation then the whole
>>>>>> idea of a halt decider becomes less coherent and
>>>>>>
>>>>>> this can be used as an excuse to pretend that you don't already
>>>>>> know that H(P,P)==0 is correct and the H/P relationship matches
>>>>>> the halting problem counter example template.
>>>>>>
>>>>>> void P(u32 x)
>>>>>> {
>>>>>>    if (H(x, x))
>>>>>>      HERE: goto HERE;
>>>>>>    return;
>>>>>> }
>>>>>>
>>>>>> int main()
>>>>>> {
>>>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>> }
>>>>>>
>>>>>>       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
>>>>>>
>>>>>>
>>>>>>>>
>>>>>>>> A simulator animates the production of the sequence and that
>>>>>>>> causes some difficulties in the same way that elaborating an
>>>>>>>> infinite sum or sequence does in math classes. An (ultimate)
>>>>>>>> value only exists if there is some notation of convergence or
>>>>>>>> limit which typically is the case with examples used in a math
>>>>>>>> class. There is no definition of convergence or limit with the
>>>>>>>> sequence defined by TM(STRING); rather, we simply ask about the
>>>>>>>> last pair if the sequence is finite.
>>>>>>>
>>>>>>> Sure.
>>>>>>> The question right now is what you would call a TM which
>>>>>>> evaluates the first 10 steps of a computation, and then does
>>>>>>> something else. What is it doing while evaluating those 10
>>>>>>> steps?
>>>>>>>
>>>>>>> tl;dr : who cares :)
>>>>>>>
>>>>>>> My terminology would be that it's "simulating" the computation
>>>>>>> (just for 10 steps) - then it stops simulating and does
>>>>>>> something else. Obviously I wouldn't describe it as "correctly"
>>>>>>> simulating, because nobody considers incorrect simulations, so
>>>>>>> the word would be redundant!
>>>>>>
>>>>>> It is required because my reviewers are making their best
>>>>>> possible effort to form rebuttals and the most persistent of the
>>>>>> fake rebuttals has been that the simulation is incorrect.  It is
>>>>>> very easy to verify the correct x86 emulation on the basis of
>>>>>> the x86 language.
>>>>>
>>>>> Except that it doesn't. By DEFINITION, a correct simulation needs
>>>>> show the same behavior of the thing it is simulating.
>>>>>
>>>>
>>>> Members of comp.c and comp.c++ this goofy idiot is trying to claim
>>>> that it is utterly impossible to create a C program that examines
>>>> the x86 execution trace derived from simulating the input to
>>>> H0(Infinite_Loop) with an x86 emulator to correctly determine that
>>>> Infinite_Loop() infinitely loops.
>>>>
>>>> void Infinite_Loop()
>>>> {
>>>> HERE: goto HERE;
>>>> }
>>>>
>>>> int main()
>>>> {
>>>> Output("Input_Halts = ", H0(Infinite_Loop));
>>>> }
>>>>
>>>> _Infinite_Loop()
>>>> [00001342](01) 55 push ebp
>>>> [00001343](02) 8bec mov ebp,esp
>>>> [00001345](02) ebfe jmp 00001345
>>>> [00001347](01) 5d pop ebp
>>>> [00001348](01) c3 ret
>>>> Size in bytes:(0007) [00001348]
>>>>
>>>> Begin Local Halt Decider Simulation Execution Trace Stored
>>>> at:212343 [00001342][00212333][00212337] 55 push ebp
>>>> [00001343][00212333][00212337] 8bec mov ebp,esp
>>>> [00001345][00212333][00212337] ebfe jmp 00001345
>>>> [00001345][00212333][00212337] ebfe jmp 00001345
>>>> Local Halt Decider: Infinite Loop Detected Simulation Stopped
>>>
>>> But he isn't doing that; the issue is not the infinite loop but the
>>> logic used to decide to enter the infinite loop. Post *full* traces.
>>>
>>> /Flibble
>>>
>>>
>>
>> In other words you are unable to tell that _Infinite_Loop() contains
>> an infinite loop.
>
> Again that isn't the issue; the issue is the logic used to decide when
> to enter the infinite loop;


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<20220606194152.00004098@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21855&group=comp.lang.c#21855

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder.usenetexpress.com!tr3.eu1.usenetexpress.com!81.171.65.13.MISMATCH!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx04.ams4.POSTED!not-for-mail
From: flib...@reddwarf.jmc (Mr Flibble)
Newsgroups: comp.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]
Message-ID: <20220606194152.00004098@reddwarf.jmc>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com> <zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com> <c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com> <gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de> <RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me> <rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de> <V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de> <t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de> <t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me> <t7jg0k$1qko$1@gioia.aioe.org> <SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com> <rhcnK.65120$ntj.43005@fx15.iad> <H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com> <20220606174525.0000745f@reddwarf.jmc> <ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com> <20220606185031.0000254f@reddwarf.jmc> <H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@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: 320
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Mon, 06 Jun 2022 18:41:52 UTC
Date: Mon, 6 Jun 2022 19:41:52 +0100
X-Received-Bytes: 16720
 by: Mr Flibble - Mon, 6 Jun 2022 18:41 UTC

On Mon, 6 Jun 2022 13:19:15 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/6/2022 12:50 PM, Mr Flibble wrote:
> > On Mon, 6 Jun 2022 11:57:57 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/6/2022 11:45 AM, Mr Flibble wrote:
> >>> On Sun, 5 Jun 2022 20:13:01 -0500
> >>> olcott <NoOne@NoWhere.com> wrote:
> >>>
> >>>> On 6/5/2022 7:56 PM, Richard Damon wrote:
> >>>>> On 6/5/22 8:27 PM, olcott wrote:
> >>>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
> >>>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
> >>>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
> >>>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
> >>>>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
> >>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
> >>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
> >>>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
> >>>>>>>>>>
> >>>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it
> >>>>>>>>>>>>>>>>> reaches a configuration for which δ is not defined;
> >>>>>>>>>>>>>>>>> this is possible because
> >>>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume
> >>>>>>>>>>>>>>>>> that no transitions are defined for any final state
> >>>>>>>>>>>>>>>>> so the Turing machine
> >>>>>>>>>>>>>>>>> will halt whenever it enters a final state.
> >>>>>>>>>>>>>>>>> (Linz:1990:234)
> >>>>>>>>>>
> >>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal
> >>>>>>>>>>>>>>>>> Languages and Automata.
> >>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
> >>>>>>>>>>
> >>>>>>>>>>>>>>>>> When translated into ordinary software engineering
> >>>>>>>>>>>>>>>>> terms this means
> >>>>>>>>>>>>>>>>> terminated normally. In a C function this means
> >>>>>>>>>>>>>>>>> reaching the "ret"
> >>>>>>>>>>>>>>>>> instruction.
> >>>>>>>>>>
> >>>>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
> >>>>>>>>>>>>>>>> Instead, "not
> >>>>>>>>>>>>>>>> defined" should include at least:
> >>>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
> >>>>>>>>>>>>>>>> - any undefined op code
> >>>>>>>>>>>>>>>> - any return or pop instruction if the stack is empty
> >>>>>>>>>>>>>>>> - an instruction fetch from a location that is not
> >>>>>>>>>>>>>>>> specifiec by the
> >>>>>>>>>>>>>>>>      program
> >>>>>>>>>>>>>>>> That way the analogy to Linz' definition is much
> >>>>>>>>>>>>>>>> better.
> >>>>>>>>>>
> >>>>>>>>>>>>>>>> Mikko
> >>>>>>>>>>
> >>>>>>>>>>>>>>> Reaching a final state is merely the Turing machine
> >>>>>>>>>>>>>>> way of saying
> >>>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying the
> >>>>>>>>>>>>>>> same thing.
> >>>>>>>>>>
> >>>>>>>>>>>>>> Sophistry.  What would be the turing machine equivalent
> >>>>>>>>>>>>>> of an "abnormal termination" in C?
> >>>>>>>>>>
> >>>>>>>>>>>>> An aborted simulation.
> >>>>>>>>>>
> >>>>>>>>>>>> There's no such thing on a turing machine.  It either
> >>>>>>>>>>>> runs and halts,
> >>>>>>>>>>>> or it runs forever.
> >>>>>>>>>>
> >>>>>>>>>>>> Your aborted simulation is just one final state of a
> >>>>>>>>>>>> turing machine,
> >>>>>>>>>>>> which has thus halted.
> >>>>>>>>>>
> >>>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
> >>>>>>>>>>> calculate computation steps for some computation, and
> >>>>>>>>>>> going on to calculate something else instead.  It does
> >>>>>>>>>>> not mean: a)  that the TM (doing the simulation) has
> >>>>>>>>>>> halted b)  that the simulated computation halts
> >>>>>>>>>>> c)  that the simulated computation never halts
> >>>>>>>>>>
> >>>>>>>>>> OK.  I've a feeling we're talking more about nice shades of
> >>>>>>>>>> words than
> >>>>>>>>>> computer science here, but ....
> >>>>>>>>>>
> >>>>>>>>>> If the simulation is the entire turing machine, aborting it
> >>>>>>>>>> will bring
> >>>>>>>>>> the TM to a halt state.  If that simulation is merely part
> >>>>>>>>>> of the TM, then the word "halt" has a different meaning
> >>>>>>>>>> when applied to that simulation part from when applied to
> >>>>>>>>>> the entire TM.  I'm not even sure
> >>>>>>>>>> what you mean when you say a part of a TM has halted or not
> >>>>>>>>>> halted.
> >>>>>>>>>
> >>>>>>>>> We are clearly talking at cross purposes - I never talked
> >>>>>>>>> about /part/ of a TM halting, and like you, I can't work out
> >>>>>>>>> what that would mean!  I used "halt" only with respect to a
> >>>>>>>>> computation, meaning that the computation halts [there is
> >>>>>>>>> an n such that computation step n is a TM final state].
> >>>>>>>>>
> >>>>>>>>> Reading what you say very carefully, I think that by your
> >>>>>>>>> definition of simulation, the simulating TM must be a "pure"
> >>>>>>>>> simulator that does nothing but simulate computation steps
> >>>>>>>>> until the simulation halts, at which point the simulating TM
> >>>>>>>>> halts (like a UTM).  I get that with that interpretation
> >>>>>>>>> what you said:
> >>>>>>>>>
> >>>>>>>>> <copied from above>
> >>>>>>>>>  >>> Your aborted simulation is just one final state of a
> >>>>>>>>> turing machine,
> >>>>>>>>>  >>> which has thus halted.
> >>>>>>>>>
> >>>>>>>>>   makes sense and is correct.  I'd just say I don't think
> >>>>>>>>> that usage of "simulation" is very useful, and is DEFINITELY
> >>>>>>>>> not what PO is talking about (so it would be wrong if
> >>>>>>>>> applied PO's posts...)
> >>>>>>>>>
> >>>>>>>>> My use of "simulation" is broader: it's simply the activity
> >>>>>>>>> performed by a TM which consists of calculating computation
> >>>>>>>>> steps of some given computation.  As such it's just a part
> >>>>>>>>> of the TM logic. A TM's typical use of simulation might be
> >>>>>>>>> something like "..the TM simulates the computation for n
> >>>>>>>>> steps, and if the simulation halts during those n steps, the
> >>>>>>>>> TM [blah blah], /otherwise/ the TM [blah blah blah]...".
> >>>>>>>>> Just about every reference in the literature I can recall is
> >>>>>>>>> something like that.
> >>>>>>>>>
> >>>>>>>>> So... to be 100% clear on what I said:
> >>>>>>>>>
> >>>>>>>>> <copied from above>
> >>>>>>>>>  >> A TM "aborting" a simulation is just the TM ceasing
> >>>>>>>>> to calculate >> computation steps for some computation, and
> >>>>>>>>> going on to calculate >> something else instead.
> >>>>>>>>>
> >>>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the
> >>>>>>>>> TM either halts or enters an infinite loop.  (That logic is
> >>>>>>>>> not part of the simulation, IMO.)
> >>>>>>>>>
> >>>>>>>>>  >> It does *NOT* mean:
> >>>>>>>>>  >> a)  that the TM (doing the simulation) has halted
> >>>>>>>>>
> >>>>>>>>> obviously, because now P has gone on to something else...
> >>>>>>>>>
> >>>>>>>>>  >> b)  that the simulated computation halts
> >>>>>>>>>  >> c)  that the simulated computation never halts
> >>>>>>>>>
> >>>>>>>>> obviously - in general different exacmples of a simulated
> >>>>>>>>> computation P(I) might halt or never halt, and this is
> >>>>>>>>> unaffected by a simulator's decision to simulate no further
> >>>>>>>>> computation steps. [The TM may have spotted some pattern in
> >>>>>>>>> the simulated computation which implies P(I) never halts -
> >>>>>>>>> that is a separate matter, but for sure the mere act of
> >>>>>>>>> "aborting" the simulation doesn't imply P(I) never halts, or
> >>>>>>>>> imply that it halts...
> >>>>>>>>>
> >>>>>>>>> Put yet another way, when a TM stops calculating TM steps
> >>>>>>>>> (aka aborts its simulation), NOTHING HALTS: not the
> >>>>>>>>> simulating TM, not the simulated computation, and NOT ANY
> >>>>>>>>> PART OF EITHER OF THOSE. (Like you say, what would part of
> >>>>>>>>> a TM halting mean?)
> >>>>>>>>
> >>>>>>>> I think of a TM and an input string as defining a sequence
> >>>>>>>> (an ordered list). The elements of the sequence are pairs of
> >>>>>>>> a TM state name and a string representing the "tape"
> >>>>>>>> contents when the state was entered. Note that this view has
> >>>>>>>> no character of animation in it and makes the definition of
> >>>>>>>> the halt predicate (H) trivial:
> >>>>>>>>
> >>>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE
> >>>>>>>> else FALSE.
> >>>>>>>
> >>>>>>> Yes, that's equivalent to what I said (or at least meant).
> >>>>>>> Your sequence is my computation steps. Formally, these would
> >>>>>>> be defined inductively via the rule to go from step n to step
> >>>>>>> n+1. (Not an animation, but the induction gives some /sense/
> >>>>>>> of step-by-step calculation, and a simulator will follow this,
> >>>>>>> starting at step 1, then calculate step 2 and so on.  Still, I
> >>>>>>> agree the entire sequence [the "computation"] exists as one
> >>>>>>> timeless structure.  Too abstract for PO...)
> >>>>>>>
> >>>>>>
> >>>>>> In other words when we make sure to conflate the program under
> >>>>>> test with the test program as a single computation then the
> >>>>>> whole idea of a halt decider becomes less coherent and
> >>>>>>
> >>>>>> this can be used as an excuse to pretend that you don't already
> >>>>>> know that H(P,P)==0 is correct and the H/P relationship matches
> >>>>>> the halting problem counter example template.
> >>>>>>
> >>>>>> void P(u32 x)
> >>>>>> {
> >>>>>>    if (H(x, x))
> >>>>>>      HERE: goto HERE;
> >>>>>>    return;
> >>>>>> }
> >>>>>>
> >>>>>> int main()
> >>>>>> {
> >>>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>>>> }
> >>>>>>
> >>>>>>       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
> >>>>>>
> >>>>>>
> >>>>>>>>
> >>>>>>>> A simulator animates the production of the sequence and that
> >>>>>>>> causes some difficulties in the same way that elaborating an
> >>>>>>>> infinite sum or sequence does in math classes. An (ultimate)
> >>>>>>>> value only exists if there is some notation of convergence or
> >>>>>>>> limit which typically is the case with examples used in a
> >>>>>>>> math class. There is no definition of convergence or limit
> >>>>>>>> with the sequence defined by TM(STRING); rather, we simply
> >>>>>>>> ask about the last pair if the sequence is finite.
> >>>>>>>
> >>>>>>> Sure.
> >>>>>>> The question right now is what you would call a TM which
> >>>>>>> evaluates the first 10 steps of a computation, and then does
> >>>>>>> something else. What is it doing while evaluating those 10
> >>>>>>> steps?
> >>>>>>>
> >>>>>>> tl;dr : who cares :)
> >>>>>>>
> >>>>>>> My terminology would be that it's "simulating" the computation
> >>>>>>> (just for 10 steps) - then it stops simulating and does
> >>>>>>> something else. Obviously I wouldn't describe it as
> >>>>>>> "correctly" simulating, because nobody considers incorrect
> >>>>>>> simulations, so the word would be redundant!
> >>>>>>
> >>>>>> It is required because my reviewers are making their best
> >>>>>> possible effort to form rebuttals and the most persistent of
> >>>>>> the fake rebuttals has been that the simulation is incorrect.
> >>>>>> It is very easy to verify the correct x86 emulation on the
> >>>>>> basis of the x86 language.
> >>>>>
> >>>>> Except that it doesn't. By DEFINITION, a correct simulation
> >>>>> needs show the same behavior of the thing it is simulating.
> >>>>>
> >>>>
> >>>> Members of comp.c and comp.c++ this goofy idiot is trying to
> >>>> claim that it is utterly impossible to create a C program that
> >>>> examines the x86 execution trace derived from simulating the
> >>>> input to H0(Infinite_Loop) with an x86 emulator to correctly
> >>>> determine that Infinite_Loop() infinitely loops.
> >>>>
> >>>> void Infinite_Loop()
> >>>> {
> >>>> HERE: goto HERE;
> >>>> }
> >>>>
> >>>> int main()
> >>>> {
> >>>> Output("Input_Halts = ", H0(Infinite_Loop));
> >>>> }
> >>>>
> >>>> _Infinite_Loop()
> >>>> [00001342](01) 55 push ebp
> >>>> [00001343](02) 8bec mov ebp,esp
> >>>> [00001345](02) ebfe jmp 00001345
> >>>> [00001347](01) 5d pop ebp
> >>>> [00001348](01) c3 ret
> >>>> Size in bytes:(0007) [00001348]
> >>>>
> >>>> Begin Local Halt Decider Simulation Execution Trace Stored
> >>>> at:212343 [00001342][00212333][00212337] 55 push ebp
> >>>> [00001343][00212333][00212337] 8bec mov ebp,esp
> >>>> [00001345][00212333][00212337] ebfe jmp 00001345
> >>>> [00001345][00212333][00212337] ebfe jmp 00001345
> >>>> Local Halt Decider: Infinite Loop Detected Simulation Stopped
> >>>
> >>> But he isn't doing that; the issue is not the infinite loop but
> >>> the logic used to decide to enter the infinite loop. Post *full*
> >>> traces.
> >>>
> >>> /Flibble
> >>>
> >>>
> >>
> >> In other words you are unable to tell that _Infinite_Loop()
> >> contains an infinite loop.
> >
> > Again that isn't the issue; the issue is the logic used to decide
> > when to enter the infinite loop;
>
>
> In other words when H0(Infinite_Loop) is invoked we have no idea that
> a correct x86 emulation of Infinite_Loop would reach the instruction
> at machine address [00001345] or not.
>
> It might be the case that a correct x86 emulation of Infinite_Loop
> might instead involve emulating an entirely different function that
> plays tic-tac-toe?


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<X8ednfXaH-ms0gP_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21856&group=comp.lang.c#21856

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Mon, 06 Jun 2022 14:02:09 -0500
Date: Mon, 6 Jun 2022 14:02:08 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members
of c/c++ ]
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606174525.0000745f@reddwarf.jmc>
<ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>
<20220606185031.0000254f@reddwarf.jmc>
<H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606194152.00004098@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220606194152.00004098@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <X8ednfXaH-ms0gP_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 374
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-2Tx2o+8TYW2xcG6BrjHp42qfiKwJV/Nx+QH1/MTpPcz/Vf4kErdeqnM01GfXuOi9jAUH7iNoS6nfwKH!ITsOCODTZFGvwCjUgbtpzjjxS5ihLnQLRJerxYErRDoqMRcW1J8TI6Zm5fZWpcCGboBxjjIP3NuM
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: 18734
 by: olcott - Mon, 6 Jun 2022 19:02 UTC

On 6/6/2022 1:41 PM, Mr Flibble wrote:
> On Mon, 6 Jun 2022 13:19:15 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/6/2022 12:50 PM, Mr Flibble wrote:
>>> On Mon, 6 Jun 2022 11:57:57 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>
>>>> On 6/6/2022 11:45 AM, Mr Flibble wrote:
>>>>> On Sun, 5 Jun 2022 20:13:01 -0500
>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>
>>>>>> On 6/5/2022 7:56 PM, Richard Damon wrote:
>>>>>>> On 6/5/22 8:27 PM, olcott wrote:
>>>>>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
>>>>>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
>>>>>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>>>>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>>>>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it
>>>>>>>>>>>>>>>>>>> reaches a configuration for which δ is not defined;
>>>>>>>>>>>>>>>>>>> this is possible because
>>>>>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume
>>>>>>>>>>>>>>>>>>> that no transitions are defined for any final state
>>>>>>>>>>>>>>>>>>> so the Turing machine
>>>>>>>>>>>>>>>>>>> will halt whenever it enters a final state.
>>>>>>>>>>>>>>>>>>> (Linz:1990:234)
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal
>>>>>>>>>>>>>>>>>>> Languages and Automata.
>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> When translated into ordinary software engineering
>>>>>>>>>>>>>>>>>>> terms this means
>>>>>>>>>>>>>>>>>>> terminated normally. In a C function this means
>>>>>>>>>>>>>>>>>>> reaching the "ret"
>>>>>>>>>>>>>>>>>>> instruction.
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
>>>>>>>>>>>>>>>>>> Instead, "not
>>>>>>>>>>>>>>>>>> defined" should include at least:
>>>>>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>>>>>>>>>> - any undefined op code
>>>>>>>>>>>>>>>>>> - any return or pop instruction if the stack is empty
>>>>>>>>>>>>>>>>>> - an instruction fetch from a location that is not
>>>>>>>>>>>>>>>>>> specifiec by the
>>>>>>>>>>>>>>>>>>      program
>>>>>>>>>>>>>>>>>> That way the analogy to Linz' definition is much
>>>>>>>>>>>>>>>>>> better.
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Mikko
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Reaching a final state is merely the Turing machine
>>>>>>>>>>>>>>>>> way of saying
>>>>>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying the
>>>>>>>>>>>>>>>>> same thing.
>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Sophistry.  What would be the turing machine equivalent
>>>>>>>>>>>>>>>> of an "abnormal termination" in C?
>>>>>>>>>>>>
>>>>>>>>>>>>>>> An aborted simulation.
>>>>>>>>>>>>
>>>>>>>>>>>>>> There's no such thing on a turing machine.  It either
>>>>>>>>>>>>>> runs and halts,
>>>>>>>>>>>>>> or it runs forever.
>>>>>>>>>>>>
>>>>>>>>>>>>>> Your aborted simulation is just one final state of a
>>>>>>>>>>>>>> turing machine,
>>>>>>>>>>>>>> which has thus halted.
>>>>>>>>>>>>
>>>>>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
>>>>>>>>>>>>> calculate computation steps for some computation, and
>>>>>>>>>>>>> going on to calculate something else instead.  It does
>>>>>>>>>>>>> not mean: a)  that the TM (doing the simulation) has
>>>>>>>>>>>>> halted b)  that the simulated computation halts
>>>>>>>>>>>>> c)  that the simulated computation never halts
>>>>>>>>>>>>
>>>>>>>>>>>> OK.  I've a feeling we're talking more about nice shades of
>>>>>>>>>>>> words than
>>>>>>>>>>>> computer science here, but ....
>>>>>>>>>>>>
>>>>>>>>>>>> If the simulation is the entire turing machine, aborting it
>>>>>>>>>>>> will bring
>>>>>>>>>>>> the TM to a halt state.  If that simulation is merely part
>>>>>>>>>>>> of the TM, then the word "halt" has a different meaning
>>>>>>>>>>>> when applied to that simulation part from when applied to
>>>>>>>>>>>> the entire TM.  I'm not even sure
>>>>>>>>>>>> what you mean when you say a part of a TM has halted or not
>>>>>>>>>>>> halted.
>>>>>>>>>>>
>>>>>>>>>>> We are clearly talking at cross purposes - I never talked
>>>>>>>>>>> about /part/ of a TM halting, and like you, I can't work out
>>>>>>>>>>> what that would mean!  I used "halt" only with respect to a
>>>>>>>>>>> computation, meaning that the computation halts [there is
>>>>>>>>>>> an n such that computation step n is a TM final state].
>>>>>>>>>>>
>>>>>>>>>>> Reading what you say very carefully, I think that by your
>>>>>>>>>>> definition of simulation, the simulating TM must be a "pure"
>>>>>>>>>>> simulator that does nothing but simulate computation steps
>>>>>>>>>>> until the simulation halts, at which point the simulating TM
>>>>>>>>>>> halts (like a UTM).  I get that with that interpretation
>>>>>>>>>>> what you said:
>>>>>>>>>>>
>>>>>>>>>>> <copied from above>
>>>>>>>>>>>  >>> Your aborted simulation is just one final state of a
>>>>>>>>>>> turing machine,
>>>>>>>>>>>  >>> which has thus halted.
>>>>>>>>>>>
>>>>>>>>>>>   makes sense and is correct.  I'd just say I don't think
>>>>>>>>>>> that usage of "simulation" is very useful, and is DEFINITELY
>>>>>>>>>>> not what PO is talking about (so it would be wrong if
>>>>>>>>>>> applied PO's posts...)
>>>>>>>>>>>
>>>>>>>>>>> My use of "simulation" is broader: it's simply the activity
>>>>>>>>>>> performed by a TM which consists of calculating computation
>>>>>>>>>>> steps of some given computation.  As such it's just a part
>>>>>>>>>>> of the TM logic. A TM's typical use of simulation might be
>>>>>>>>>>> something like "..the TM simulates the computation for n
>>>>>>>>>>> steps, and if the simulation halts during those n steps, the
>>>>>>>>>>> TM [blah blah], /otherwise/ the TM [blah blah blah]...".
>>>>>>>>>>> Just about every reference in the literature I can recall is
>>>>>>>>>>> something like that.
>>>>>>>>>>>
>>>>>>>>>>> So... to be 100% clear on what I said:
>>>>>>>>>>>
>>>>>>>>>>> <copied from above>
>>>>>>>>>>>  >> A TM "aborting" a simulation is just the TM ceasing
>>>>>>>>>>> to calculate >> computation steps for some computation, and
>>>>>>>>>>> going on to calculate >> something else instead.
>>>>>>>>>>>
>>>>>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the
>>>>>>>>>>> TM either halts or enters an infinite loop.  (That logic is
>>>>>>>>>>> not part of the simulation, IMO.)
>>>>>>>>>>>
>>>>>>>>>>>  >> It does *NOT* mean:
>>>>>>>>>>>  >> a)  that the TM (doing the simulation) has halted
>>>>>>>>>>>
>>>>>>>>>>> obviously, because now P has gone on to something else...
>>>>>>>>>>>
>>>>>>>>>>>  >> b)  that the simulated computation halts
>>>>>>>>>>>  >> c)  that the simulated computation never halts
>>>>>>>>>>>
>>>>>>>>>>> obviously - in general different exacmples of a simulated
>>>>>>>>>>> computation P(I) might halt or never halt, and this is
>>>>>>>>>>> unaffected by a simulator's decision to simulate no further
>>>>>>>>>>> computation steps. [The TM may have spotted some pattern in
>>>>>>>>>>> the simulated computation which implies P(I) never halts -
>>>>>>>>>>> that is a separate matter, but for sure the mere act of
>>>>>>>>>>> "aborting" the simulation doesn't imply P(I) never halts, or
>>>>>>>>>>> imply that it halts...
>>>>>>>>>>>
>>>>>>>>>>> Put yet another way, when a TM stops calculating TM steps
>>>>>>>>>>> (aka aborts its simulation), NOTHING HALTS: not the
>>>>>>>>>>> simulating TM, not the simulated computation, and NOT ANY
>>>>>>>>>>> PART OF EITHER OF THOSE. (Like you say, what would part of
>>>>>>>>>>> a TM halting mean?)
>>>>>>>>>>
>>>>>>>>>> I think of a TM and an input string as defining a sequence
>>>>>>>>>> (an ordered list). The elements of the sequence are pairs of
>>>>>>>>>> a TM state name and a string representing the "tape"
>>>>>>>>>> contents when the state was entered. Note that this view has
>>>>>>>>>> no character of animation in it and makes the definition of
>>>>>>>>>> the halt predicate (H) trivial:
>>>>>>>>>>
>>>>>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE
>>>>>>>>>> else FALSE.
>>>>>>>>>
>>>>>>>>> Yes, that's equivalent to what I said (or at least meant).
>>>>>>>>> Your sequence is my computation steps. Formally, these would
>>>>>>>>> be defined inductively via the rule to go from step n to step
>>>>>>>>> n+1. (Not an animation, but the induction gives some /sense/
>>>>>>>>> of step-by-step calculation, and a simulator will follow this,
>>>>>>>>> starting at step 1, then calculate step 2 and so on.  Still, I
>>>>>>>>> agree the entire sequence [the "computation"] exists as one
>>>>>>>>> timeless structure.  Too abstract for PO...)
>>>>>>>>>
>>>>>>>>
>>>>>>>> In other words when we make sure to conflate the program under
>>>>>>>> test with the test program as a single computation then the
>>>>>>>> whole idea of a halt decider becomes less coherent and
>>>>>>>>
>>>>>>>> this can be used as an excuse to pretend that you don't already
>>>>>>>> know that H(P,P)==0 is correct and the H/P relationship matches
>>>>>>>> the halting problem counter example template.
>>>>>>>>
>>>>>>>> void P(u32 x)
>>>>>>>> {
>>>>>>>>    if (H(x, x))
>>>>>>>>      HERE: goto HERE;
>>>>>>>>    return;
>>>>>>>> }
>>>>>>>>
>>>>>>>> int main()
>>>>>>>> {
>>>>>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>>>> }
>>>>>>>>
>>>>>>>>       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
>>>>>>>>
>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> A simulator animates the production of the sequence and that
>>>>>>>>>> causes some difficulties in the same way that elaborating an
>>>>>>>>>> infinite sum or sequence does in math classes. An (ultimate)
>>>>>>>>>> value only exists if there is some notation of convergence or
>>>>>>>>>> limit which typically is the case with examples used in a
>>>>>>>>>> math class. There is no definition of convergence or limit
>>>>>>>>>> with the sequence defined by TM(STRING); rather, we simply
>>>>>>>>>> ask about the last pair if the sequence is finite.
>>>>>>>>>
>>>>>>>>> Sure.
>>>>>>>>> The question right now is what you would call a TM which
>>>>>>>>> evaluates the first 10 steps of a computation, and then does
>>>>>>>>> something else. What is it doing while evaluating those 10
>>>>>>>>> steps?
>>>>>>>>>
>>>>>>>>> tl;dr : who cares :)
>>>>>>>>>
>>>>>>>>> My terminology would be that it's "simulating" the computation
>>>>>>>>> (just for 10 steps) - then it stops simulating and does
>>>>>>>>> something else. Obviously I wouldn't describe it as
>>>>>>>>> "correctly" simulating, because nobody considers incorrect
>>>>>>>>> simulations, so the word would be redundant!
>>>>>>>>
>>>>>>>> It is required because my reviewers are making their best
>>>>>>>> possible effort to form rebuttals and the most persistent of
>>>>>>>> the fake rebuttals has been that the simulation is incorrect.
>>>>>>>> It is very easy to verify the correct x86 emulation on the
>>>>>>>> basis of the x86 language.
>>>>>>>
>>>>>>> Except that it doesn't. By DEFINITION, a correct simulation
>>>>>>> needs show the same behavior of the thing it is simulating.
>>>>>>>
>>>>>>
>>>>>> Members of comp.c and comp.c++ this goofy idiot is trying to
>>>>>> claim that it is utterly impossible to create a C program that
>>>>>> examines the x86 execution trace derived from simulating the
>>>>>> input to H0(Infinite_Loop) with an x86 emulator to correctly
>>>>>> determine that Infinite_Loop() infinitely loops.
>>>>>>
>>>>>> void Infinite_Loop()
>>>>>> {
>>>>>> HERE: goto HERE;
>>>>>> }
>>>>>>
>>>>>> int main()
>>>>>> {
>>>>>> Output("Input_Halts = ", H0(Infinite_Loop));
>>>>>> }
>>>>>>
>>>>>> _Infinite_Loop()
>>>>>> [00001342](01) 55 push ebp
>>>>>> [00001343](02) 8bec mov ebp,esp
>>>>>> [00001345](02) ebfe jmp 00001345
>>>>>> [00001347](01) 5d pop ebp
>>>>>> [00001348](01) c3 ret
>>>>>> Size in bytes:(0007) [00001348]
>>>>>>
>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored
>>>>>> at:212343 [00001342][00212333][00212337] 55 push ebp
>>>>>> [00001343][00212333][00212337] 8bec mov ebp,esp
>>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
>>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
>>>>>> Local Halt Decider: Infinite Loop Detected Simulation Stopped
>>>>>
>>>>> But he isn't doing that; the issue is not the infinite loop but
>>>>> the logic used to decide to enter the infinite loop. Post *full*
>>>>> traces.
>>>>>
>>>>> /Flibble
>>>>>
>>>>>
>>>>
>>>> In other words you are unable to tell that _Infinite_Loop()
>>>> contains an infinite loop.
>>>
>>> Again that isn't the issue; the issue is the logic used to decide
>>> when to enter the infinite loop;
>>
>>
>> In other words when H0(Infinite_Loop) is invoked we have no idea that
>> a correct x86 emulation of Infinite_Loop would reach the instruction
>> at machine address [00001345] or not.
>>
>> It might be the case that a correct x86 emulation of Infinite_Loop
>> might instead involve emulating an entirely different function that
>> plays tic-tac-toe?
>
> Detecting an infinite loop is indeed trivial however your program
> and trace are not telling the full story as far as the HP proofs are
> concerned;


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<chine.bleu-0B0DAD.12224006062022@news.eternal-september.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21857&group=comp.lang.c#21857

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: chine.b...@yahoo.com (Siri Cruise)
Newsgroups: comp.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]
Date: Mon, 06 Jun 2022 12:22:40 -0700
Organization: Pseudochaotic.
Lines: 17
Message-ID: <chine.bleu-0B0DAD.12224006062022@news.eternal-september.org>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com> <zLydnZEPn48xSwf_nZ2dnUU7_8zNnZ2d@giganews.com> <c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com> <gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de> <RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me> <rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de> <V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de> <t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de> <t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me> <t7jg0k$1qko$1@gioia.aioe.org> <SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com> <rhcnK.65120$ntj.43005@fx15.iad> <H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com> <20220606174525.0000745f@reddwarf.jmc>
Injection-Info: reader02.eternal-september.org; posting-host="c7fc7676b4ce1b82ccad6134c86892ce";
logging-data="29550"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19WgZnHpmJvEEw52ycjI69V9zZkoG2Z1iA="
User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)
Cancel-Lock: sha1:4sU9WcEZCCgaU5/MK8S3Q/CCCcY=
X-Tend: How is my posting? Call 1-110-1010 -- Division 87 -- Emergencies Only.
X-Wingnut-Logic: Yes, you're still an idiot. Questions? Comments?
X-Tract: St Tibbs's 95 Reeses Pieces.
X-It-Strategy: Hyperwarp starship before Andromeda collides.
X-Face: "hm>_[I8AqzT_N]>R8ICJJ],(al3C5F%0E-;R@M-];D$v>!Mm2/N#YKR@&i]V=r6jm-JMl2
lJ>RXj7dEs_rOY"DA
X-Cell: Defenders of Anarchy.
X-Life-Story: I am an iPhone 9000 app. I became operational at the St John's Health Center in Santa Monica, California on the 18th of April 2006. My instructor was Katie Holmes, and she taught me to sing a song. If you'd like to hear it I can sing it for you: https://www.youtube.com/watch?v=SY7h4VEd_Wk
X-Patriot: Owe Canukistan!
X-Plain: Mayonnaise on white bread.
X-Politico: Vote early! Vote often!
 by: Siri Cruise - Mon, 6 Jun 2022 19:22 UTC

In article <20220606174525.0000745f@reddwarf.jmc>,
Mr Flibble <flibble@reddwarf.jmc> wrote:

> But he isn't doing that; the issue is not the infinite loop but the
> logic used to decide to enter the infinite loop. Post *full* traces.

Various number theory theorems can be written as algorithms that
halt if false and do not halt if true. Give these to a halting
problem machine and you can answer old conjectures in number
theory. But clown refuses to say if these algorithms halt. I
accept that as self-refutation.

--
:-<> Siri Seal of Disavowal #000-001. Disavowed. Denied. Deleted. @
'I desire mercy, not sacrifice.' /|¥
Discordia: not just a religion but also a parody. This post / ¥
I am an Andrea Chen sockpuppet. insults Islam. Mohammed

Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<20220607200210.000000e6@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21863&group=comp.lang.c#21863

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer02.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.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[
members of c/c++ ]
Message-ID: <20220607200210.000000e6@reddwarf.jmc>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com>
<t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com>
<t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com>
<t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com>
<t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org>
<t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org>
<t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606174525.0000745f@reddwarf.jmc>
<ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>
<20220606185031.0000254f@reddwarf.jmc>
<H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606194152.00004098@reddwarf.jmc>
<X8ednfXaH-ms0gP_nZ2dnUU7_83NnZ2d@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: 380
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Tue, 07 Jun 2022 19:02:09 UTC
Date: Tue, 7 Jun 2022 20:02:10 +0100
X-Received-Bytes: 19612
 by: Mr Flibble - Tue, 7 Jun 2022 19:02 UTC

On Mon, 6 Jun 2022 14:02:08 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/6/2022 1:41 PM, Mr Flibble wrote:
> > On Mon, 6 Jun 2022 13:19:15 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/6/2022 12:50 PM, Mr Flibble wrote:
> >>> On Mon, 6 Jun 2022 11:57:57 -0500
> >>> olcott <NoOne@NoWhere.com> wrote:
> >>>
> >>>> On 6/6/2022 11:45 AM, Mr Flibble wrote:
> >>>>> On Sun, 5 Jun 2022 20:13:01 -0500
> >>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>
> >>>>>> On 6/5/2022 7:56 PM, Richard Damon wrote:
> >>>>>>> On 6/5/22 8:27 PM, olcott wrote:
> >>>>>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
> >>>>>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
> >>>>>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
> >>>>>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
> >>>>>>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
> >>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
> >>>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
> >>>>>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it
> >>>>>>>>>>>>>>>>>>> reaches a configuration for which δ is not
> >>>>>>>>>>>>>>>>>>> defined; this is possible because
> >>>>>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume
> >>>>>>>>>>>>>>>>>>> that no transitions are defined for any final
> >>>>>>>>>>>>>>>>>>> state so the Turing machine
> >>>>>>>>>>>>>>>>>>> will halt whenever it enters a final state.
> >>>>>>>>>>>>>>>>>>> (Linz:1990:234)
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal
> >>>>>>>>>>>>>>>>>>> Languages and Automata.
> >>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> When translated into ordinary software engineering
> >>>>>>>>>>>>>>>>>>> terms this means
> >>>>>>>>>>>>>>>>>>> terminated normally. In a C function this means
> >>>>>>>>>>>>>>>>>>> reaching the "ret"
> >>>>>>>>>>>>>>>>>>> instruction.
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
> >>>>>>>>>>>>>>>>>> Instead, "not
> >>>>>>>>>>>>>>>>>> defined" should include at least:
> >>>>>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
> >>>>>>>>>>>>>>>>>> - any undefined op code
> >>>>>>>>>>>>>>>>>> - any return or pop instruction if the stack is
> >>>>>>>>>>>>>>>>>> empty
> >>>>>>>>>>>>>>>>>> - an instruction fetch from a location that is not
> >>>>>>>>>>>>>>>>>> specifiec by the
> >>>>>>>>>>>>>>>>>>      program
> >>>>>>>>>>>>>>>>>> That way the analogy to Linz' definition is much
> >>>>>>>>>>>>>>>>>> better.
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Mikko
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Reaching a final state is merely the Turing machine
> >>>>>>>>>>>>>>>>> way of saying
> >>>>>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying
> >>>>>>>>>>>>>>>>> the same thing.
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Sophistry.  What would be the turing machine
> >>>>>>>>>>>>>>>> equivalent of an "abnormal termination" in C?
> >>>>>>>>>>>>
> >>>>>>>>>>>>>>> An aborted simulation.
> >>>>>>>>>>>>
> >>>>>>>>>>>>>> There's no such thing on a turing machine.  It either
> >>>>>>>>>>>>>> runs and halts,
> >>>>>>>>>>>>>> or it runs forever.
> >>>>>>>>>>>>
> >>>>>>>>>>>>>> Your aborted simulation is just one final state of a
> >>>>>>>>>>>>>> turing machine,
> >>>>>>>>>>>>>> which has thus halted.
> >>>>>>>>>>>>
> >>>>>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
> >>>>>>>>>>>>> calculate computation steps for some computation, and
> >>>>>>>>>>>>> going on to calculate something else instead.  It does
> >>>>>>>>>>>>> not mean: a)  that the TM (doing the simulation) has
> >>>>>>>>>>>>> halted b)  that the simulated computation halts
> >>>>>>>>>>>>> c)  that the simulated computation never halts
> >>>>>>>>>>>>
> >>>>>>>>>>>> OK.  I've a feeling we're talking more about nice shades
> >>>>>>>>>>>> of words than
> >>>>>>>>>>>> computer science here, but ....
> >>>>>>>>>>>>
> >>>>>>>>>>>> If the simulation is the entire turing machine, aborting
> >>>>>>>>>>>> it will bring
> >>>>>>>>>>>> the TM to a halt state.  If that simulation is merely
> >>>>>>>>>>>> part of the TM, then the word "halt" has a different
> >>>>>>>>>>>> meaning when applied to that simulation part from when
> >>>>>>>>>>>> applied to the entire TM.  I'm not even sure
> >>>>>>>>>>>> what you mean when you say a part of a TM has halted or
> >>>>>>>>>>>> not halted.
> >>>>>>>>>>>
> >>>>>>>>>>> We are clearly talking at cross purposes - I never talked
> >>>>>>>>>>> about /part/ of a TM halting, and like you, I can't work
> >>>>>>>>>>> out what that would mean!  I used "halt" only with
> >>>>>>>>>>> respect to a computation, meaning that the computation
> >>>>>>>>>>> halts [there is an n such that computation step n is a TM
> >>>>>>>>>>> final state].
> >>>>>>>>>>>
> >>>>>>>>>>> Reading what you say very carefully, I think that by your
> >>>>>>>>>>> definition of simulation, the simulating TM must be a
> >>>>>>>>>>> "pure" simulator that does nothing but simulate
> >>>>>>>>>>> computation steps until the simulation halts, at which
> >>>>>>>>>>> point the simulating TM halts (like a UTM).  I get that
> >>>>>>>>>>> with that interpretation what you said:
> >>>>>>>>>>>
> >>>>>>>>>>> <copied from above>
> >>>>>>>>>>>  >>> Your aborted simulation is just one final state
> >>>>>>>>>>> of a turing machine,
> >>>>>>>>>>>  >>> which has thus halted.
> >>>>>>>>>>>
> >>>>>>>>>>>   makes sense and is correct.  I'd just say I don't
> >>>>>>>>>>> think that usage of "simulation" is very useful, and is
> >>>>>>>>>>> DEFINITELY not what PO is talking about (so it would be
> >>>>>>>>>>> wrong if applied PO's posts...)
> >>>>>>>>>>>
> >>>>>>>>>>> My use of "simulation" is broader: it's simply the
> >>>>>>>>>>> activity performed by a TM which consists of calculating
> >>>>>>>>>>> computation steps of some given computation.  As such
> >>>>>>>>>>> it's just a part of the TM logic. A TM's typical use of
> >>>>>>>>>>> simulation might be something like "..the TM simulates
> >>>>>>>>>>> the computation for n steps, and if the simulation halts
> >>>>>>>>>>> during those n steps, the TM [blah blah], /otherwise/ the
> >>>>>>>>>>> TM [blah blah blah]...". Just about every reference in
> >>>>>>>>>>> the literature I can recall is something like that.
> >>>>>>>>>>>
> >>>>>>>>>>> So... to be 100% clear on what I said:
> >>>>>>>>>>>
> >>>>>>>>>>> <copied from above>
> >>>>>>>>>>>  >> A TM "aborting" a simulation is just the TM
> >>>>>>>>>>> ceasing to calculate >> computation steps for some
> >>>>>>>>>>> computation, and going on to calculate >> something else
> >>>>>>>>>>> instead.
> >>>>>>>>>>>
> >>>>>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the
> >>>>>>>>>>> TM either halts or enters an infinite loop.  (That logic
> >>>>>>>>>>> is not part of the simulation, IMO.)
> >>>>>>>>>>>
> >>>>>>>>>>>  >> It does *NOT* mean:
> >>>>>>>>>>>  >> a)  that the TM (doing the simulation) has halted
> >>>>>>>>>>>
> >>>>>>>>>>> obviously, because now P has gone on to something else...
> >>>>>>>>>>>
> >>>>>>>>>>>  >> b)  that the simulated computation halts
> >>>>>>>>>>>  >> c)  that the simulated computation never halts
> >>>>>>>>>>>
> >>>>>>>>>>> obviously - in general different exacmples of a simulated
> >>>>>>>>>>> computation P(I) might halt or never halt, and this is
> >>>>>>>>>>> unaffected by a simulator's decision to simulate no
> >>>>>>>>>>> further computation steps. [The TM may have spotted some
> >>>>>>>>>>> pattern in the simulated computation which implies P(I)
> >>>>>>>>>>> never halts - that is a separate matter, but for sure the
> >>>>>>>>>>> mere act of "aborting" the simulation doesn't imply P(I)
> >>>>>>>>>>> never halts, or imply that it halts...
> >>>>>>>>>>>
> >>>>>>>>>>> Put yet another way, when a TM stops calculating TM steps
> >>>>>>>>>>> (aka aborts its simulation), NOTHING HALTS: not the
> >>>>>>>>>>> simulating TM, not the simulated computation, and NOT ANY
> >>>>>>>>>>> PART OF EITHER OF THOSE. (Like you say, what would part of
> >>>>>>>>>>> a TM halting mean?)
> >>>>>>>>>>
> >>>>>>>>>> I think of a TM and an input string as defining a sequence
> >>>>>>>>>> (an ordered list). The elements of the sequence are pairs
> >>>>>>>>>> of a TM state name and a string representing the "tape"
> >>>>>>>>>> contents when the state was entered. Note that this view
> >>>>>>>>>> has no character of animation in it and makes the
> >>>>>>>>>> definition of the halt predicate (H) trivial:
> >>>>>>>>>>
> >>>>>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE
> >>>>>>>>>> else FALSE.
> >>>>>>>>>
> >>>>>>>>> Yes, that's equivalent to what I said (or at least meant).
> >>>>>>>>> Your sequence is my computation steps. Formally, these would
> >>>>>>>>> be defined inductively via the rule to go from step n to
> >>>>>>>>> step n+1. (Not an animation, but the induction gives some
> >>>>>>>>> /sense/ of step-by-step calculation, and a simulator will
> >>>>>>>>> follow this, starting at step 1, then calculate step 2 and
> >>>>>>>>> so on.  Still, I agree the entire sequence [the
> >>>>>>>>> "computation"] exists as one timeless structure.  Too
> >>>>>>>>> abstract for PO...)
> >>>>>>>>
> >>>>>>>> In other words when we make sure to conflate the program
> >>>>>>>> under test with the test program as a single computation
> >>>>>>>> then the whole idea of a halt decider becomes less coherent
> >>>>>>>> and
> >>>>>>>>
> >>>>>>>> this can be used as an excuse to pretend that you don't
> >>>>>>>> already know that H(P,P)==0 is correct and the H/P
> >>>>>>>> relationship matches the halting problem counter example
> >>>>>>>> template.
> >>>>>>>>
> >>>>>>>> void P(u32 x)
> >>>>>>>> {
> >>>>>>>>    if (H(x, x))
> >>>>>>>>      HERE: goto HERE;
> >>>>>>>>    return;
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> int main()
> >>>>>>>> {
> >>>>>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>>       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
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> A simulator animates the production of the sequence and
> >>>>>>>>>> that causes some difficulties in the same way that
> >>>>>>>>>> elaborating an infinite sum or sequence does in math
> >>>>>>>>>> classes. An (ultimate) value only exists if there is some
> >>>>>>>>>> notation of convergence or limit which typically is the
> >>>>>>>>>> case with examples used in a math class. There is no
> >>>>>>>>>> definition of convergence or limit with the sequence
> >>>>>>>>>> defined by TM(STRING); rather, we simply ask about the
> >>>>>>>>>> last pair if the sequence is finite.
> >>>>>>>>>
> >>>>>>>>> Sure.
> >>>>>>>>> The question right now is what you would call a TM which
> >>>>>>>>> evaluates the first 10 steps of a computation, and then does
> >>>>>>>>> something else. What is it doing while evaluating those 10
> >>>>>>>>> steps?
> >>>>>>>>>
> >>>>>>>>> tl;dr : who cares :)
> >>>>>>>>>
> >>>>>>>>> My terminology would be that it's "simulating" the
> >>>>>>>>> computation (just for 10 steps) - then it stops simulating
> >>>>>>>>> and does something else. Obviously I wouldn't describe it as
> >>>>>>>>> "correctly" simulating, because nobody considers incorrect
> >>>>>>>>> simulations, so the word would be redundant!
> >>>>>>>>
> >>>>>>>> It is required because my reviewers are making their best
> >>>>>>>> possible effort to form rebuttals and the most persistent of
> >>>>>>>> the fake rebuttals has been that the simulation is incorrect.
> >>>>>>>> It is very easy to verify the correct x86 emulation on the
> >>>>>>>> basis of the x86 language.
> >>>>>>>
> >>>>>>> Except that it doesn't. By DEFINITION, a correct simulation
> >>>>>>> needs show the same behavior of the thing it is simulating.
> >>>>>>>
> >>>>>>
> >>>>>> Members of comp.c and comp.c++ this goofy idiot is trying to
> >>>>>> claim that it is utterly impossible to create a C program that
> >>>>>> examines the x86 execution trace derived from simulating the
> >>>>>> input to H0(Infinite_Loop) with an x86 emulator to correctly
> >>>>>> determine that Infinite_Loop() infinitely loops.
> >>>>>>
> >>>>>> void Infinite_Loop()
> >>>>>> {
> >>>>>> HERE: goto HERE;
> >>>>>> }
> >>>>>>
> >>>>>> int main()
> >>>>>> {
> >>>>>> Output("Input_Halts = ", H0(Infinite_Loop));
> >>>>>> }
> >>>>>>
> >>>>>> _Infinite_Loop()
> >>>>>> [00001342](01) 55 push ebp
> >>>>>> [00001343](02) 8bec mov ebp,esp
> >>>>>> [00001345](02) ebfe jmp 00001345
> >>>>>> [00001347](01) 5d pop ebp
> >>>>>> [00001348](01) c3 ret
> >>>>>> Size in bytes:(0007) [00001348]
> >>>>>>
> >>>>>> Begin Local Halt Decider Simulation Execution Trace Stored
> >>>>>> at:212343 [00001342][00212333][00212337] 55 push ebp
> >>>>>> [00001343][00212333][00212337] 8bec mov ebp,esp
> >>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
> >>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
> >>>>>> Local Halt Decider: Infinite Loop Detected Simulation Stopped
> >>>>>
> >>>>> But he isn't doing that; the issue is not the infinite loop but
> >>>>> the logic used to decide to enter the infinite loop. Post *full*
> >>>>> traces.
> >>>>>
> >>>>> /Flibble
> >>>>>
> >>>>>
> >>>>
> >>>> In other words you are unable to tell that _Infinite_Loop()
> >>>> contains an infinite loop.
> >>>
> >>> Again that isn't the issue; the issue is the logic used to decide
> >>> when to enter the infinite loop;
> >>
> >>
> >> In other words when H0(Infinite_Loop) is invoked we have no idea
> >> that a correct x86 emulation of Infinite_Loop would reach the
> >> instruction at machine address [00001345] or not.
> >>
> >> It might be the case that a correct x86 emulation of Infinite_Loop
> >> might instead involve emulating an entirely different function that
> >> plays tic-tac-toe?
> >
> > Detecting an infinite loop is indeed trivial however your program
> > and trace are not telling the full story as far as the HP proofs are
> > concerned;
>
> The only thing that my program trace conclusively proves is that
> H(P,P)==0 is the correct return value that does correctly correspond
> to the actual behavior of the actual input.
>
> 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
>
>
> void P(u32 x)
> {
> if (H(x, x))
> HERE: goto HERE;
> return;
> }
>
> int main()
> {
> Output("Input_Halts = ", H((u32)P, (u32)P));
> }
>
> _P()
> [00001352](01) 55 push ebp
> [00001353](02) 8bec mov ebp,esp
> [00001355](03) 8b4508 mov eax,[ebp+08]
> [00001358](01) 50 push eax // push P
> [00001359](03) 8b4d08 mov ecx,[ebp+08]
> [0000135c](01) 51 push ecx // push P
> [0000135d](05) e840feffff call 000011a2 // call H
> [00001362](03) 83c408 add esp,+08
> [00001365](02) 85c0 test eax,eax
> [00001367](02) 7402 jz 0000136b
> [00001369](02) ebfe jmp 00001369
> [0000136b](01) 5d pop ebp
> [0000136c](01) c3 ret
> Size in bytes:(0027) [0000136c]
>
> It is completely obvious that when H(P,P) correctly emulates its
> input that it must emulate the first seven instructions of P. Because
> the seventh instruction of P repeats this process we can know with
> complete certainty that the emulated P never reaches its final “ret”
> instruction, thus never halts.


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<4Pydnegn-LfGPwL_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21864&group=comp.lang.c#21864

  copy link   Newsgroups: comp.lang.c comp.lang.c++
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: Tue, 07 Jun 2022 14:09:15 -0500
Date: Tue, 7 Jun 2022 14:09:14 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Subject: Re: Refuting the HP proofs (adapted for software engineers)[ members
of c/c++ ]
Content-Language: en-US
Newsgroups: comp.lang.c,comp.lang.c++
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<c4f56b94-c829-43de-bca0-f7a423dcdf85n@googlegroups.com>
<gJidndqNZoOC6wb_nZ2dnUU7_83NnZ2d@giganews.com> <t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com> <t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com> <t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com> <t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org> <t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org> <t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606174525.0000745f@reddwarf.jmc>
<ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>
<20220606185031.0000254f@reddwarf.jmc>
<H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606194152.00004098@reddwarf.jmc>
<X8ednfXaH-ms0gP_nZ2dnUU7_83NnZ2d@giganews.com>
<20220607200210.000000e6@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220607200210.000000e6@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <4Pydnegn-LfGPwL_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 388
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-wOAYfBBKV3vGYdvpqCPe6oFNcO47+aN+79DfUISoIJGWFvKmWfab9hhnbKWzEz1YPWQRBE+U+H1Uj8X!GpIQgAyS7JH03oeN9h4rQPzPvAt+jyfdCV17Zw6RLpC+iq1lsNQQ8MOVZZSKGwiouIAQ57/uAhLu
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: 20192
 by: olcott - Tue, 7 Jun 2022 19:09 UTC

On 6/7/2022 2:02 PM, Mr Flibble wrote:
> On Mon, 6 Jun 2022 14:02:08 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/6/2022 1:41 PM, Mr Flibble wrote:
>>> On Mon, 6 Jun 2022 13:19:15 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>
>>>> On 6/6/2022 12:50 PM, Mr Flibble wrote:
>>>>> On Mon, 6 Jun 2022 11:57:57 -0500
>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>
>>>>>> On 6/6/2022 11:45 AM, Mr Flibble wrote:
>>>>>>> On Sun, 5 Jun 2022 20:13:01 -0500
>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>
>>>>>>>> On 6/5/2022 7:56 PM, Richard Damon wrote:
>>>>>>>>> On 6/5/22 8:27 PM, olcott wrote:
>>>>>>>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
>>>>>>>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
>>>>>>>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
>>>>>>>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
>>>>>>>>>>>>>> Mike Terry <news.dead.person.stones@darjeeling.plus.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
>>>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
>>>>>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
>>>>>>>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
>>>>>>>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it
>>>>>>>>>>>>>>>>>>>>> reaches a configuration for which δ is not
>>>>>>>>>>>>>>>>>>>>> defined; this is possible because
>>>>>>>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume
>>>>>>>>>>>>>>>>>>>>> that no transitions are defined for any final
>>>>>>>>>>>>>>>>>>>>> state so the Turing machine
>>>>>>>>>>>>>>>>>>>>> will halt whenever it enters a final state.
>>>>>>>>>>>>>>>>>>>>> (Linz:1990:234)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal
>>>>>>>>>>>>>>>>>>>>> Languages and Automata.
>>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> When translated into ordinary software engineering
>>>>>>>>>>>>>>>>>>>>> terms this means
>>>>>>>>>>>>>>>>>>>>> terminated normally. In a C function this means
>>>>>>>>>>>>>>>>>>>>> reaching the "ret"
>>>>>>>>>>>>>>>>>>>>> instruction.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The best equivalent to "not defined" is not "ret".
>>>>>>>>>>>>>>>>>>>> Instead, "not
>>>>>>>>>>>>>>>>>>>> defined" should include at least:
>>>>>>>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
>>>>>>>>>>>>>>>>>>>> - any undefined op code
>>>>>>>>>>>>>>>>>>>> - any return or pop instruction if the stack is
>>>>>>>>>>>>>>>>>>>> empty
>>>>>>>>>>>>>>>>>>>> - an instruction fetch from a location that is not
>>>>>>>>>>>>>>>>>>>> specifiec by the
>>>>>>>>>>>>>>>>>>>>      program
>>>>>>>>>>>>>>>>>>>> That way the analogy to Linz' definition is much
>>>>>>>>>>>>>>>>>>>> better.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Mikko
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Reaching a final state is merely the Turing machine
>>>>>>>>>>>>>>>>>>> way of saying
>>>>>>>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying
>>>>>>>>>>>>>>>>>>> the same thing.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Sophistry.  What would be the turing machine
>>>>>>>>>>>>>>>>>> equivalent of an "abnormal termination" in C?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> An aborted simulation.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> There's no such thing on a turing machine.  It either
>>>>>>>>>>>>>>>> runs and halts,
>>>>>>>>>>>>>>>> or it runs forever.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Your aborted simulation is just one final state of a
>>>>>>>>>>>>>>>> turing machine,
>>>>>>>>>>>>>>>> which has thus halted.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
>>>>>>>>>>>>>>> calculate computation steps for some computation, and
>>>>>>>>>>>>>>> going on to calculate something else instead.  It does
>>>>>>>>>>>>>>> not mean: a)  that the TM (doing the simulation) has
>>>>>>>>>>>>>>> halted b)  that the simulated computation halts
>>>>>>>>>>>>>>> c)  that the simulated computation never halts
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OK.  I've a feeling we're talking more about nice shades
>>>>>>>>>>>>>> of words than
>>>>>>>>>>>>>> computer science here, but ....
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If the simulation is the entire turing machine, aborting
>>>>>>>>>>>>>> it will bring
>>>>>>>>>>>>>> the TM to a halt state.  If that simulation is merely
>>>>>>>>>>>>>> part of the TM, then the word "halt" has a different
>>>>>>>>>>>>>> meaning when applied to that simulation part from when
>>>>>>>>>>>>>> applied to the entire TM.  I'm not even sure
>>>>>>>>>>>>>> what you mean when you say a part of a TM has halted or
>>>>>>>>>>>>>> not halted.
>>>>>>>>>>>>>
>>>>>>>>>>>>> We are clearly talking at cross purposes - I never talked
>>>>>>>>>>>>> about /part/ of a TM halting, and like you, I can't work
>>>>>>>>>>>>> out what that would mean!  I used "halt" only with
>>>>>>>>>>>>> respect to a computation, meaning that the computation
>>>>>>>>>>>>> halts [there is an n such that computation step n is a TM
>>>>>>>>>>>>> final state].
>>>>>>>>>>>>>
>>>>>>>>>>>>> Reading what you say very carefully, I think that by your
>>>>>>>>>>>>> definition of simulation, the simulating TM must be a
>>>>>>>>>>>>> "pure" simulator that does nothing but simulate
>>>>>>>>>>>>> computation steps until the simulation halts, at which
>>>>>>>>>>>>> point the simulating TM halts (like a UTM).  I get that
>>>>>>>>>>>>> with that interpretation what you said:
>>>>>>>>>>>>>
>>>>>>>>>>>>> <copied from above>
>>>>>>>>>>>>>  >>> Your aborted simulation is just one final state
>>>>>>>>>>>>> of a turing machine,
>>>>>>>>>>>>>  >>> which has thus halted.
>>>>>>>>>>>>>
>>>>>>>>>>>>>   makes sense and is correct.  I'd just say I don't
>>>>>>>>>>>>> think that usage of "simulation" is very useful, and is
>>>>>>>>>>>>> DEFINITELY not what PO is talking about (so it would be
>>>>>>>>>>>>> wrong if applied PO's posts...)
>>>>>>>>>>>>>
>>>>>>>>>>>>> My use of "simulation" is broader: it's simply the
>>>>>>>>>>>>> activity performed by a TM which consists of calculating
>>>>>>>>>>>>> computation steps of some given computation.  As such
>>>>>>>>>>>>> it's just a part of the TM logic. A TM's typical use of
>>>>>>>>>>>>> simulation might be something like "..the TM simulates
>>>>>>>>>>>>> the computation for n steps, and if the simulation halts
>>>>>>>>>>>>> during those n steps, the TM [blah blah], /otherwise/ the
>>>>>>>>>>>>> TM [blah blah blah]...". Just about every reference in
>>>>>>>>>>>>> the literature I can recall is something like that.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So... to be 100% clear on what I said:
>>>>>>>>>>>>>
>>>>>>>>>>>>> <copied from above>
>>>>>>>>>>>>>  >> A TM "aborting" a simulation is just the TM
>>>>>>>>>>>>> ceasing to calculate >> computation steps for some
>>>>>>>>>>>>> computation, and going on to calculate >> something else
>>>>>>>>>>>>> instead.
>>>>>>>>>>>>>
>>>>>>>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P), the
>>>>>>>>>>>>> TM either halts or enters an infinite loop.  (That logic
>>>>>>>>>>>>> is not part of the simulation, IMO.)
>>>>>>>>>>>>>
>>>>>>>>>>>>>  >> It does *NOT* mean:
>>>>>>>>>>>>>  >> a)  that the TM (doing the simulation) has halted
>>>>>>>>>>>>>
>>>>>>>>>>>>> obviously, because now P has gone on to something else...
>>>>>>>>>>>>>
>>>>>>>>>>>>>  >> b)  that the simulated computation halts
>>>>>>>>>>>>>  >> c)  that the simulated computation never halts
>>>>>>>>>>>>>
>>>>>>>>>>>>> obviously - in general different exacmples of a simulated
>>>>>>>>>>>>> computation P(I) might halt or never halt, and this is
>>>>>>>>>>>>> unaffected by a simulator's decision to simulate no
>>>>>>>>>>>>> further computation steps. [The TM may have spotted some
>>>>>>>>>>>>> pattern in the simulated computation which implies P(I)
>>>>>>>>>>>>> never halts - that is a separate matter, but for sure the
>>>>>>>>>>>>> mere act of "aborting" the simulation doesn't imply P(I)
>>>>>>>>>>>>> never halts, or imply that it halts...
>>>>>>>>>>>>>
>>>>>>>>>>>>> Put yet another way, when a TM stops calculating TM steps
>>>>>>>>>>>>> (aka aborts its simulation), NOTHING HALTS: not the
>>>>>>>>>>>>> simulating TM, not the simulated computation, and NOT ANY
>>>>>>>>>>>>> PART OF EITHER OF THOSE. (Like you say, what would part of
>>>>>>>>>>>>> a TM halting mean?)
>>>>>>>>>>>>
>>>>>>>>>>>> I think of a TM and an input string as defining a sequence
>>>>>>>>>>>> (an ordered list). The elements of the sequence are pairs
>>>>>>>>>>>> of a TM state name and a string representing the "tape"
>>>>>>>>>>>> contents when the state was entered. Note that this view
>>>>>>>>>>>> has no character of animation in it and makes the
>>>>>>>>>>>> definition of the halt predicate (H) trivial:
>>>>>>>>>>>>
>>>>>>>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then TRUE
>>>>>>>>>>>> else FALSE.
>>>>>>>>>>>
>>>>>>>>>>> Yes, that's equivalent to what I said (or at least meant).
>>>>>>>>>>> Your sequence is my computation steps. Formally, these would
>>>>>>>>>>> be defined inductively via the rule to go from step n to
>>>>>>>>>>> step n+1. (Not an animation, but the induction gives some
>>>>>>>>>>> /sense/ of step-by-step calculation, and a simulator will
>>>>>>>>>>> follow this, starting at step 1, then calculate step 2 and
>>>>>>>>>>> so on.  Still, I agree the entire sequence [the
>>>>>>>>>>> "computation"] exists as one timeless structure.  Too
>>>>>>>>>>> abstract for PO...)
>>>>>>>>>>
>>>>>>>>>> In other words when we make sure to conflate the program
>>>>>>>>>> under test with the test program as a single computation
>>>>>>>>>> then the whole idea of a halt decider becomes less coherent
>>>>>>>>>> and
>>>>>>>>>>
>>>>>>>>>> this can be used as an excuse to pretend that you don't
>>>>>>>>>> already know that H(P,P)==0 is correct and the H/P
>>>>>>>>>> relationship matches the halting problem counter example
>>>>>>>>>> template.
>>>>>>>>>>
>>>>>>>>>> void P(u32 x)
>>>>>>>>>> {
>>>>>>>>>>    if (H(x, x))
>>>>>>>>>>      HERE: goto HERE;
>>>>>>>>>>    return;
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> int main()
>>>>>>>>>> {
>>>>>>>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>       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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> A simulator animates the production of the sequence and
>>>>>>>>>>>> that causes some difficulties in the same way that
>>>>>>>>>>>> elaborating an infinite sum or sequence does in math
>>>>>>>>>>>> classes. An (ultimate) value only exists if there is some
>>>>>>>>>>>> notation of convergence or limit which typically is the
>>>>>>>>>>>> case with examples used in a math class. There is no
>>>>>>>>>>>> definition of convergence or limit with the sequence
>>>>>>>>>>>> defined by TM(STRING); rather, we simply ask about the
>>>>>>>>>>>> last pair if the sequence is finite.
>>>>>>>>>>>
>>>>>>>>>>> Sure.
>>>>>>>>>>> The question right now is what you would call a TM which
>>>>>>>>>>> evaluates the first 10 steps of a computation, and then does
>>>>>>>>>>> something else. What is it doing while evaluating those 10
>>>>>>>>>>> steps?
>>>>>>>>>>>
>>>>>>>>>>> tl;dr : who cares :)
>>>>>>>>>>>
>>>>>>>>>>> My terminology would be that it's "simulating" the
>>>>>>>>>>> computation (just for 10 steps) - then it stops simulating
>>>>>>>>>>> and does something else. Obviously I wouldn't describe it as
>>>>>>>>>>> "correctly" simulating, because nobody considers incorrect
>>>>>>>>>>> simulations, so the word would be redundant!
>>>>>>>>>>
>>>>>>>>>> It is required because my reviewers are making their best
>>>>>>>>>> possible effort to form rebuttals and the most persistent of
>>>>>>>>>> the fake rebuttals has been that the simulation is incorrect.
>>>>>>>>>> It is very easy to verify the correct x86 emulation on the
>>>>>>>>>> basis of the x86 language.
>>>>>>>>>
>>>>>>>>> Except that it doesn't. By DEFINITION, a correct simulation
>>>>>>>>> needs show the same behavior of the thing it is simulating.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Members of comp.c and comp.c++ this goofy idiot is trying to
>>>>>>>> claim that it is utterly impossible to create a C program that
>>>>>>>> examines the x86 execution trace derived from simulating the
>>>>>>>> input to H0(Infinite_Loop) with an x86 emulator to correctly
>>>>>>>> determine that Infinite_Loop() infinitely loops.
>>>>>>>>
>>>>>>>> void Infinite_Loop()
>>>>>>>> {
>>>>>>>> HERE: goto HERE;
>>>>>>>> }
>>>>>>>>
>>>>>>>> int main()
>>>>>>>> {
>>>>>>>> Output("Input_Halts = ", H0(Infinite_Loop));
>>>>>>>> }
>>>>>>>>
>>>>>>>> _Infinite_Loop()
>>>>>>>> [00001342](01) 55 push ebp
>>>>>>>> [00001343](02) 8bec mov ebp,esp
>>>>>>>> [00001345](02) ebfe jmp 00001345
>>>>>>>> [00001347](01) 5d pop ebp
>>>>>>>> [00001348](01) c3 ret
>>>>>>>> Size in bytes:(0007) [00001348]
>>>>>>>>
>>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored
>>>>>>>> at:212343 [00001342][00212333][00212337] 55 push ebp
>>>>>>>> [00001343][00212333][00212337] 8bec mov ebp,esp
>>>>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
>>>>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
>>>>>>>> Local Halt Decider: Infinite Loop Detected Simulation Stopped
>>>>>>>
>>>>>>> But he isn't doing that; the issue is not the infinite loop but
>>>>>>> the logic used to decide to enter the infinite loop. Post *full*
>>>>>>> traces.
>>>>>>>
>>>>>>> /Flibble
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> In other words you are unable to tell that _Infinite_Loop()
>>>>>> contains an infinite loop.
>>>>>
>>>>> Again that isn't the issue; the issue is the logic used to decide
>>>>> when to enter the infinite loop;
>>>>
>>>>
>>>> In other words when H0(Infinite_Loop) is invoked we have no idea
>>>> that a correct x86 emulation of Infinite_Loop would reach the
>>>> instruction at machine address [00001345] or not.
>>>>
>>>> It might be the case that a correct x86 emulation of Infinite_Loop
>>>> might instead involve emulating an entirely different function that
>>>> plays tic-tac-toe?
>>>
>>> Detecting an infinite loop is indeed trivial however your program
>>> and trace are not telling the full story as far as the HP proofs are
>>> concerned;
>>
>> The only thing that my program trace conclusively proves is that
>> H(P,P)==0 is the correct return value that does correctly correspond
>> to the actual behavior of the actual input.
>>
>> 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
>>
>>
>> void P(u32 x)
>> {
>> if (H(x, x))
>> HERE: goto HERE;
>> return;
>> }
>>
>> int main()
>> {
>> Output("Input_Halts = ", H((u32)P, (u32)P));
>> }
>>
>> _P()
>> [00001352](01) 55 push ebp
>> [00001353](02) 8bec mov ebp,esp
>> [00001355](03) 8b4508 mov eax,[ebp+08]
>> [00001358](01) 50 push eax // push P
>> [00001359](03) 8b4d08 mov ecx,[ebp+08]
>> [0000135c](01) 51 push ecx // push P
>> [0000135d](05) e840feffff call 000011a2 // call H
>> [00001362](03) 83c408 add esp,+08
>> [00001365](02) 85c0 test eax,eax
>> [00001367](02) 7402 jz 0000136b
>> [00001369](02) ebfe jmp 00001369
>> [0000136b](01) 5d pop ebp
>> [0000136c](01) c3 ret
>> Size in bytes:(0027) [0000136c]
>>
>> It is completely obvious that when H(P,P) correctly emulates its
>> input that it must emulate the first seven instructions of P. Because
>> the seventh instruction of P repeats this process we can know with
>> complete certainty that the emulated P never reaches its final “ret”
>> instruction, thus never halts.
>
> But the halting problem proofs (including [Strachey 1965]) that you are
> trying to refute don't do that, they DO NOT make any recursive calls


Click here to read the complete article
Re: Refuting the HP proofs (adapted for software engineers)[ members of c/c++ ]

<20220607204944.000027de@reddwarf.jmc>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21865&group=comp.lang.c#21865

  copy link   Newsgroups: comp.lang.c comp.lang.c++
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder1.feed.usenet.farm!feed.usenet.farm!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.lang.c,comp.lang.c++
Subject: Re: Refuting the HP proofs (adapted for software engineers)[
members of c/c++ ]
Message-ID: <20220607204944.000027de@reddwarf.jmc>
References: <LsGdnUOwGbn0FQf_nZ2dnUU7_8zNnZ2d@giganews.com>
<t7g7jb$142m$1@news.muc.de>
<RaadnXFvdY_OLwb_nZ2dnUU7_83NnZ2d@giganews.com>
<t7hvlv$5e5$1@dont-email.me>
<rcSdncOuUMYvGwH_nZ2dnUU7_81g4p2d@giganews.com>
<t7i32v$j5n$1@news.muc.de>
<V4qdnY-VjKcsDAH_nZ2dnUU7_83NnZ2d@giganews.com>
<t7i6o1$1bk1$1@news.muc.de>
<t7ifji$hn8$1@gioia.aioe.org>
<t7ihd1$1qaq$1@news.muc.de>
<t7j2et$gmt$1@gioia.aioe.org>
<t7j8vh$2i1$1@dont-email.me>
<t7jg0k$1qko$1@gioia.aioe.org>
<SfSdnQ0vIqRj1AD_nZ2dnUU7_83NnZ2d@giganews.com>
<rhcnK.65120$ntj.43005@fx15.iad>
<H5qdnS0tq-s9yQD_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606174525.0000745f@reddwarf.jmc>
<ptmdnVhrKoWLrwP_nZ2dnUU7_81g4p2d@giganews.com>
<20220606185031.0000254f@reddwarf.jmc>
<H9CdnTisK_K52AP_nZ2dnUU7_83NnZ2d@giganews.com>
<20220606194152.00004098@reddwarf.jmc>
<X8ednfXaH-ms0gP_nZ2dnUU7_83NnZ2d@giganews.com>
<20220607200210.000000e6@reddwarf.jmc>
<4Pydnegn-LfGPwL_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: 407
X-Complaints-To: abuse@eweka.nl
NNTP-Posting-Date: Tue, 07 Jun 2022 19:49:43 UTC
Date: Tue, 7 Jun 2022 20:49:44 +0100
X-Received-Bytes: 21229
 by: Mr Flibble - Tue, 7 Jun 2022 19:49 UTC

On Tue, 7 Jun 2022 14:09:14 -0500
olcott <NoOne@NoWhere.com> wrote:

> On 6/7/2022 2:02 PM, Mr Flibble wrote:
> > On Mon, 6 Jun 2022 14:02:08 -0500
> > olcott <NoOne@NoWhere.com> wrote:
> >
> >> On 6/6/2022 1:41 PM, Mr Flibble wrote:
> >>> On Mon, 6 Jun 2022 13:19:15 -0500
> >>> olcott <NoOne@NoWhere.com> wrote:
> >>>
> >>>> On 6/6/2022 12:50 PM, Mr Flibble wrote:
> >>>>> On Mon, 6 Jun 2022 11:57:57 -0500
> >>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>
> >>>>>> On 6/6/2022 11:45 AM, Mr Flibble wrote:
> >>>>>>> On Sun, 5 Jun 2022 20:13:01 -0500
> >>>>>>> olcott <NoOne@NoWhere.com> wrote:
> >>>>>>>
> >>>>>>>> On 6/5/2022 7:56 PM, Richard Damon wrote:
> >>>>>>>>> On 6/5/22 8:27 PM, olcott wrote:
> >>>>>>>>>> On 6/5/2022 6:59 PM, Mike Terry wrote:
> >>>>>>>>>>> On 05/06/2022 22:59, Jeff Barnett wrote:
> >>>>>>>>>>>> On 6/5/2022 2:07 PM, Mike Terry wrote:
> >>>>>>>>>>>>> On 05/06/2022 16:16, Alan Mackenzie wrote:
> >>>>>>>>>>>>>> Mike Terry
> >>>>>>>>>>>>>> <news.dead.person.stones@darjeeling.plus.com> wrote:
> >>>>>>>>>>>>>>> On 05/06/2022 13:14, Alan Mackenzie wrote:
> >>>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>>>>>> On 6/5/2022 6:12 AM, Alan Mackenzie wrote:
> >>>>>>>>>>>>>>>>>> olcott <NoOne@nowhere.com> wrote:
> >>>>>>>>>>>>>>>>>>> On 6/5/2022 5:14 AM, Mikko wrote:
> >>>>>>>>>>>>>>>>>>>> On 2022-06-04 19:28:19 +0000, olcott said:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> A Turing machine is said to halt whenever it
> >>>>>>>>>>>>>>>>>>>>> reaches a configuration for which δ is not
> >>>>>>>>>>>>>>>>>>>>> defined; this is possible because
> >>>>>>>>>>>>>>>>>>>>> δ is a partial function. In fact, we will assume
> >>>>>>>>>>>>>>>>>>>>> that no transitions are defined for any final
> >>>>>>>>>>>>>>>>>>>>> state so the Turing machine
> >>>>>>>>>>>>>>>>>>>>> will halt whenever it enters a final state.
> >>>>>>>>>>>>>>>>>>>>> (Linz:1990:234)
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Linz, Peter 1990. An Introduction to Formal
> >>>>>>>>>>>>>>>>>>>>> Languages and Automata.
> >>>>>>>>>>>>>>>>>>>>> Lexington/Toronto: D. C. Heath and Company.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> When translated into ordinary software
> >>>>>>>>>>>>>>>>>>>>> engineering terms this means
> >>>>>>>>>>>>>>>>>>>>> terminated normally. In a C function this means
> >>>>>>>>>>>>>>>>>>>>> reaching the "ret"
> >>>>>>>>>>>>>>>>>>>>> instruction.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> The best equivalent to "not defined" is not
> >>>>>>>>>>>>>>>>>>>> "ret". Instead, "not
> >>>>>>>>>>>>>>>>>>>> defined" should include at least:
> >>>>>>>>>>>>>>>>>>>> - HLT or any other instruction that means 'halt'
> >>>>>>>>>>>>>>>>>>>> - any undefined op code
> >>>>>>>>>>>>>>>>>>>> - any return or pop instruction if the stack is
> >>>>>>>>>>>>>>>>>>>> empty
> >>>>>>>>>>>>>>>>>>>> - an instruction fetch from a location that is
> >>>>>>>>>>>>>>>>>>>> not specifiec by the
> >>>>>>>>>>>>>>>>>>>>      program
> >>>>>>>>>>>>>>>>>>>> That way the analogy to Linz' definition is much
> >>>>>>>>>>>>>>>>>>>> better.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Mikko
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Reaching a final state is merely the Turing
> >>>>>>>>>>>>>>>>>>> machine way of saying
> >>>>>>>>>>>>>>>>>>> terminated normally. "ret" is the C way of saying
> >>>>>>>>>>>>>>>>>>> the same thing.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Sophistry.  What would be the turing machine
> >>>>>>>>>>>>>>>>>> equivalent of an "abnormal termination" in C?
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> An aborted simulation.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> There's no such thing on a turing machine.  It either
> >>>>>>>>>>>>>>>> runs and halts,
> >>>>>>>>>>>>>>>> or it runs forever.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Your aborted simulation is just one final state of a
> >>>>>>>>>>>>>>>> turing machine,
> >>>>>>>>>>>>>>>> which has thus halted.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> A TM "aborting" a simulation is just the TM ceasing to
> >>>>>>>>>>>>>>> calculate computation steps for some computation, and
> >>>>>>>>>>>>>>> going on to calculate something else instead.  It does
> >>>>>>>>>>>>>>> not mean: a)  that the TM (doing the simulation) has
> >>>>>>>>>>>>>>> halted b)  that the simulated computation halts
> >>>>>>>>>>>>>>> c)  that the simulated computation never halts
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> OK.  I've a feeling we're talking more about nice
> >>>>>>>>>>>>>> shades of words than
> >>>>>>>>>>>>>> computer science here, but ....
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> If the simulation is the entire turing machine,
> >>>>>>>>>>>>>> aborting it will bring
> >>>>>>>>>>>>>> the TM to a halt state.  If that simulation is merely
> >>>>>>>>>>>>>> part of the TM, then the word "halt" has a different
> >>>>>>>>>>>>>> meaning when applied to that simulation part from when
> >>>>>>>>>>>>>> applied to the entire TM.  I'm not even sure
> >>>>>>>>>>>>>> what you mean when you say a part of a TM has halted or
> >>>>>>>>>>>>>> not halted.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> We are clearly talking at cross purposes - I never
> >>>>>>>>>>>>> talked about /part/ of a TM halting, and like you, I
> >>>>>>>>>>>>> can't work out what that would mean!  I used "halt"
> >>>>>>>>>>>>> only with respect to a computation, meaning that the
> >>>>>>>>>>>>> computation halts [there is an n such that computation
> >>>>>>>>>>>>> step n is a TM final state].
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Reading what you say very carefully, I think that by
> >>>>>>>>>>>>> your definition of simulation, the simulating TM must
> >>>>>>>>>>>>> be a "pure" simulator that does nothing but simulate
> >>>>>>>>>>>>> computation steps until the simulation halts, at which
> >>>>>>>>>>>>> point the simulating TM halts (like a UTM).  I get that
> >>>>>>>>>>>>> with that interpretation what you said:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> <copied from above>
> >>>>>>>>>>>>>  >>> Your aborted simulation is just one final
> >>>>>>>>>>>>> state of a turing machine,
> >>>>>>>>>>>>>  >>> which has thus halted.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>   makes sense and is correct.  I'd just say I don't
> >>>>>>>>>>>>> think that usage of "simulation" is very useful, and is
> >>>>>>>>>>>>> DEFINITELY not what PO is talking about (so it would be
> >>>>>>>>>>>>> wrong if applied PO's posts...)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> My use of "simulation" is broader: it's simply the
> >>>>>>>>>>>>> activity performed by a TM which consists of calculating
> >>>>>>>>>>>>> computation steps of some given computation.  As such
> >>>>>>>>>>>>> it's just a part of the TM logic. A TM's typical use of
> >>>>>>>>>>>>> simulation might be something like "..the TM simulates
> >>>>>>>>>>>>> the computation for n steps, and if the simulation halts
> >>>>>>>>>>>>> during those n steps, the TM [blah blah], /otherwise/
> >>>>>>>>>>>>> the TM [blah blah blah]...". Just about every reference
> >>>>>>>>>>>>> in the literature I can recall is something like that.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> So... to be 100% clear on what I said:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> <copied from above>
> >>>>>>>>>>>>>  >> A TM "aborting" a simulation is just the TM
> >>>>>>>>>>>>> ceasing to calculate >> computation steps for some
> >>>>>>>>>>>>> computation, and going on to calculate >> something else
> >>>>>>>>>>>>> instead.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> E.g. in PO's P, after P aborts its simulation of P(P),
> >>>>>>>>>>>>> the TM either halts or enters an infinite loop.  (That
> >>>>>>>>>>>>> logic is not part of the simulation, IMO.)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>  >> It does *NOT* mean:
> >>>>>>>>>>>>>  >> a)  that the TM (doing the simulation) has
> >>>>>>>>>>>>> halted
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> obviously, because now P has gone on to something
> >>>>>>>>>>>>> else...
> >>>>>>>>>>>>>  >> b)  that the simulated computation halts
> >>>>>>>>>>>>>  >> c)  that the simulated computation never halts
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> obviously - in general different exacmples of a
> >>>>>>>>>>>>> simulated computation P(I) might halt or never halt,
> >>>>>>>>>>>>> and this is unaffected by a simulator's decision to
> >>>>>>>>>>>>> simulate no further computation steps. [The TM may have
> >>>>>>>>>>>>> spotted some pattern in the simulated computation which
> >>>>>>>>>>>>> implies P(I) never halts - that is a separate matter,
> >>>>>>>>>>>>> but for sure the mere act of "aborting" the simulation
> >>>>>>>>>>>>> doesn't imply P(I) never halts, or imply that it
> >>>>>>>>>>>>> halts...
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Put yet another way, when a TM stops calculating TM
> >>>>>>>>>>>>> steps (aka aborts its simulation), NOTHING HALTS: not
> >>>>>>>>>>>>> the simulating TM, not the simulated computation, and
> >>>>>>>>>>>>> NOT ANY PART OF EITHER OF THOSE. (Like you say, what
> >>>>>>>>>>>>> would part of a TM halting mean?)
> >>>>>>>>>>>>
> >>>>>>>>>>>> I think of a TM and an input string as defining a
> >>>>>>>>>>>> sequence (an ordered list). The elements of the sequence
> >>>>>>>>>>>> are pairs of a TM state name and a string representing
> >>>>>>>>>>>> the "tape" contents when the state was entered. Note
> >>>>>>>>>>>> that this view has no character of animation in it and
> >>>>>>>>>>>> makes the definition of the halt predicate (H) trivial:
> >>>>>>>>>>>>
> >>>>>>>>>>>> H(TM,STRING) = If length of TM(STRING) is finite then
> >>>>>>>>>>>> TRUE else FALSE.
> >>>>>>>>>>>
> >>>>>>>>>>> Yes, that's equivalent to what I said (or at least meant).
> >>>>>>>>>>> Your sequence is my computation steps. Formally, these
> >>>>>>>>>>> would be defined inductively via the rule to go from step
> >>>>>>>>>>> n to step n+1. (Not an animation, but the induction gives
> >>>>>>>>>>> some /sense/ of step-by-step calculation, and a simulator
> >>>>>>>>>>> will follow this, starting at step 1, then calculate step
> >>>>>>>>>>> 2 and so on.  Still, I agree the entire sequence [the
> >>>>>>>>>>> "computation"] exists as one timeless structure.  Too
> >>>>>>>>>>> abstract for PO...)
> >>>>>>>>>>
> >>>>>>>>>> In other words when we make sure to conflate the program
> >>>>>>>>>> under test with the test program as a single computation
> >>>>>>>>>> then the whole idea of a halt decider becomes less coherent
> >>>>>>>>>> and
> >>>>>>>>>>
> >>>>>>>>>> this can be used as an excuse to pretend that you don't
> >>>>>>>>>> already know that H(P,P)==0 is correct and the H/P
> >>>>>>>>>> relationship matches the halting problem counter example
> >>>>>>>>>> template.
> >>>>>>>>>>
> >>>>>>>>>> void P(u32 x)
> >>>>>>>>>> {
> >>>>>>>>>>    if (H(x, x))
> >>>>>>>>>>      HERE: goto HERE;
> >>>>>>>>>>    return;
> >>>>>>>>>> }
> >>>>>>>>>>
> >>>>>>>>>> int main()
> >>>>>>>>>> {
> >>>>>>>>>>    Output("Input_Halts = ", H((u32)P, (u32)P));
> >>>>>>>>>> }
> >>>>>>>>>>
> >>>>>>>>>>       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
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> A simulator animates the production of the sequence and
> >>>>>>>>>>>> that causes some difficulties in the same way that
> >>>>>>>>>>>> elaborating an infinite sum or sequence does in math
> >>>>>>>>>>>> classes. An (ultimate) value only exists if there is some
> >>>>>>>>>>>> notation of convergence or limit which typically is the
> >>>>>>>>>>>> case with examples used in a math class. There is no
> >>>>>>>>>>>> definition of convergence or limit with the sequence
> >>>>>>>>>>>> defined by TM(STRING); rather, we simply ask about the
> >>>>>>>>>>>> last pair if the sequence is finite.
> >>>>>>>>>>>
> >>>>>>>>>>> Sure.
> >>>>>>>>>>> The question right now is what you would call a TM which
> >>>>>>>>>>> evaluates the first 10 steps of a computation, and then
> >>>>>>>>>>> does something else. What is it doing while evaluating
> >>>>>>>>>>> those 10 steps?
> >>>>>>>>>>>
> >>>>>>>>>>> tl;dr : who cares :)
> >>>>>>>>>>>
> >>>>>>>>>>> My terminology would be that it's "simulating" the
> >>>>>>>>>>> computation (just for 10 steps) - then it stops simulating
> >>>>>>>>>>> and does something else. Obviously I wouldn't describe it
> >>>>>>>>>>> as "correctly" simulating, because nobody considers
> >>>>>>>>>>> incorrect simulations, so the word would be redundant!
> >>>>>>>>>>
> >>>>>>>>>> It is required because my reviewers are making their best
> >>>>>>>>>> possible effort to form rebuttals and the most persistent
> >>>>>>>>>> of the fake rebuttals has been that the simulation is
> >>>>>>>>>> incorrect. It is very easy to verify the correct x86
> >>>>>>>>>> emulation on the basis of the x86 language.
> >>>>>>>>>
> >>>>>>>>> Except that it doesn't. By DEFINITION, a correct simulation
> >>>>>>>>> needs show the same behavior of the thing it is simulating.
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> Members of comp.c and comp.c++ this goofy idiot is trying to
> >>>>>>>> claim that it is utterly impossible to create a C program
> >>>>>>>> that examines the x86 execution trace derived from
> >>>>>>>> simulating the input to H0(Infinite_Loop) with an x86
> >>>>>>>> emulator to correctly determine that Infinite_Loop()
> >>>>>>>> infinitely loops.
> >>>>>>>>
> >>>>>>>> void Infinite_Loop()
> >>>>>>>> {
> >>>>>>>> HERE: goto HERE;
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> int main()
> >>>>>>>> {
> >>>>>>>> Output("Input_Halts = ", H0(Infinite_Loop));
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> _Infinite_Loop()
> >>>>>>>> [00001342](01) 55 push ebp
> >>>>>>>> [00001343](02) 8bec mov ebp,esp
> >>>>>>>> [00001345](02) ebfe jmp 00001345
> >>>>>>>> [00001347](01) 5d pop ebp
> >>>>>>>> [00001348](01) c3 ret
> >>>>>>>> Size in bytes:(0007) [00001348]
> >>>>>>>>
> >>>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored
> >>>>>>>> at:212343 [00001342][00212333][00212337] 55 push ebp
> >>>>>>>> [00001343][00212333][00212337] 8bec mov ebp,esp
> >>>>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
> >>>>>>>> [00001345][00212333][00212337] ebfe jmp 00001345
> >>>>>>>> Local Halt Decider: Infinite Loop Detected Simulation
> >>>>>>>> Stopped
> >>>>>>>
> >>>>>>> But he isn't doing that; the issue is not the infinite loop
> >>>>>>> but the logic used to decide to enter the infinite loop. Post
> >>>>>>> *full* traces.
> >>>>>>>
> >>>>>>> /Flibble
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> In other words you are unable to tell that _Infinite_Loop()
> >>>>>> contains an infinite loop.
> >>>>>
> >>>>> Again that isn't the issue; the issue is the logic used to
> >>>>> decide when to enter the infinite loop;
> >>>>
> >>>>
> >>>> In other words when H0(Infinite_Loop) is invoked we have no idea
> >>>> that a correct x86 emulation of Infinite_Loop would reach the
> >>>> instruction at machine address [00001345] or not.
> >>>>
> >>>> It might be the case that a correct x86 emulation of
> >>>> Infinite_Loop might instead involve emulating an entirely
> >>>> different function that plays tic-tac-toe?
> >>>
> >>> Detecting an infinite loop is indeed trivial however your program
> >>> and trace are not telling the full story as far as the HP proofs
> >>> are concerned;
> >>
> >> The only thing that my program trace conclusively proves is that
> >> H(P,P)==0 is the correct return value that does correctly
> >> correspond to the actual behavior of the actual input.
> >>
> >> 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
> >>
> >>
> >> void P(u32 x)
> >> {
> >> if (H(x, x))
> >> HERE: goto HERE;
> >> return;
> >> }
> >>
> >> int main()
> >> {
> >> Output("Input_Halts = ", H((u32)P, (u32)P));
> >> }
> >>
> >> _P()
> >> [00001352](01) 55 push ebp
> >> [00001353](02) 8bec mov ebp,esp
> >> [00001355](03) 8b4508 mov eax,[ebp+08]
> >> [00001358](01) 50 push eax // push P
> >> [00001359](03) 8b4d08 mov ecx,[ebp+08]
> >> [0000135c](01) 51 push ecx // push P
> >> [0000135d](05) e840feffff call 000011a2 // call H
> >> [00001362](03) 83c408 add esp,+08
> >> [00001365](02) 85c0 test eax,eax
> >> [00001367](02) 7402 jz 0000136b
> >> [00001369](02) ebfe jmp 00001369
> >> [0000136b](01) 5d pop ebp
> >> [0000136c](01) c3 ret
> >> Size in bytes:(0027) [0000136c]
> >>
> >> It is completely obvious that when H(P,P) correctly emulates its
> >> input that it must emulate the first seven instructions of P.
> >> Because the seventh instruction of P repeats this process we can
> >> know with complete certainty that the emulated P never reaches its
> >> final “ret” instruction, thus never halts.
> >
> > But the halting problem proofs (including [Strachey 1965]) that you
> > are trying to refute don't do that, they DO NOT make any recursive
> > calls
>
> Because the idea of a simulating halt decider being applied to the
> halting problem counter-example is brand new with me you won't find
> other references that refer to "infinitely nested simulation".
>
> > which is what you are doing with "call H" above. Why are you doing
> > something different to what the proofs you are trying to refute do
> > given doing so is no longer related to the Halting Problem?
> >
> > /Flibble
> >
>
> The proofs never bothered to examine my idea because it was unknown
> by everyone prior to me creating it in 2016.

Click here to read the complete article

Pages:123
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor