Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"Time is money and money can't buy you love and I love your outfit" -- T.H.U.N.D.E.R. #1


computers / comp.ai.philosophy / Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

SubjectAuthor
* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
`* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakRichard Damon
 `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
  `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realtRichard Damon
   `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
    `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakRichard Damon
     `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
      `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realtRichard Damon
       `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
        `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakRichard Damon
         `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
          `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakRichard Damon
           `* Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakolcott
            `- Re: H(P,P) as a pure function of its inputs is easy [ psychotic breakRichard Damon

1
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9345&group=comp.ai.philosophy#9345

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
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, 11 Jun 2022 16:22:36 -0500
Date: Sat, 11 Jun 2022 16:22:35 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <ow7pK.67434$ssF.45877@fx14.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 199
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-ehB8oiyzbPWoL6pWUFnUIHO+eP37F5z2Uk1dXIPywKb5267qUNkkhZF0HxLc7Em1HkSZeCEfR/YrvKO!EtMRtpFk0fRrBJ/rz7OH3xQRZCrp8Qx4iwT+5JHClJIOENe8KO1HnL1h5ipcWqOk/0mFKpsBr4Jy
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: 9656
 by: olcott - Sat, 11 Jun 2022 21:22 UTC

On 6/11/2022 4:09 PM, Richard Damon wrote:
>
> On 6/11/22 4:55 PM, olcott wrote:
>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>> On 6/11/22 4:22 PM, olcott wrote:
>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>
>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>> Nope. A pure function always returns the same value for the same
>>>>>>> inputs:
>>>>>>
>>>>>>     Perhaps someone will explain why they are so bothered about
>>>>>> "pure"
>>>>>> functions?  These bear no interesting relation to what a TM could
>>>>>> do, not
>>>>>> least because it is perfectly straightforward to imagine compiling
>>>>>> [eg] C
>>>>>> code into a corresponding TM [equivalently into a representation
>>>>>> to be
>>>>>> "run" by some UTM] as long as the C does not make [illicit] use of
>>>>>> the
>>>>>> environment provided by the OS.
>>>>>
>>>>> There's nothing interesting about pure functions from a theoretical
>>>>> point of view, but PO has ditched all notions of a formal model of
>>>>> computation, and since he is only interesting in getting one case
>>>>> correct, he could have written:
>>>>>
>>>>>    #include <stdio.h>
>>>>>    typedef void (*ptr)();
>>>>>    int H(ptr x, ptr y)
>>>>>    {
>>>>>         void H_Hat(ptr);
>>>>>         return (char *)__builtin_return_address(0) - (char *)H_Hat
>>>>> > 36;
>>>>>    }
>>>>>    void H_Hat(ptr x)
>>>>>    {
>>>>>         if (H(x, x)) while (1);
>>>>>    }
>>>>>    int main(void)
>>>>>    {
>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>         H_Hat(H_Hat);
>>>>>    }
>>>>>
>>>>> This program prints 1 (on my system) and halts because H_Hat(H_Hat)
>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>> constructed from H.
>>>>>
>>>>> My guess is that it is trickery like this that makes people worry
>>>>> about
>>>>> functions being pure.
>>>>>
>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) == 1 and
>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever thought of
>>>>> doing this.
>>>>>
>>>>> I'm not worried about pure functions because PO is told use that
>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's wrong by
>>>>> defintion based on undisputed facts.
>>>>
>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>> computing the mapping from the actual input to its own accept or
>>>> reject state on the basis of the actual behavior of the input
>>>> H(P,)==0 is correct.
>>>>
>>>
>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>> BEHAVIOR is that of P(P).
>> Liar !
>>
>> The actual input is a finite string of machine code
>> and the actual behavior of this actual input is its correct x86
>> emulation by H.
>
> Which, if it is a CORRECT x86 emulation, behaves exactly like the
> program it is the code of.
>
>>
>> That you freaking simply imagine that this behavior is different than
>> its machine code specifies is a psychotic break from realty.
>>
>
> Right, the machine code specifies the exact same program as P, and THUS
> its emulation must match that, RIGHT?
>
> YOU are the one saying that the emulation of the input to H, which is
> the EXACT x86 code of P, somehow behaves differently than the direct
> execution of P.
>
> HOW?

The HOW is beyond the intellectual capacity or everyone here so I simply
prove that it <is> different as a verified fact. Once we know that it
<is> different we don't really need to know HOW and WHY it is different.

The directly executed P(P) halts the correct complete x86 emulation of
the input to H(P,P) P would never stop running.

Proving that P(P) != the correct x86 emulation of the input to H(P,P)

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

int main()
{ P(P);
}

_P()
[000012e7](01) 55 push ebp
[000012e8](02) 8bec mov ebp,esp
[000012ea](03) 8b4508 mov eax,[ebp+08]
[000012ed](01) 50 push eax
[000012ee](03) 8b4d08 mov ecx,[ebp+08]
[000012f1](01) 51 push ecx
[000012f2](05) e880feffff call 00001177 // call H
[000012f7](03) 83c408 add esp,+08
[000012fa](02) 85c0 test eax,eax
[000012fc](02) 7402 jz 00001300
[000012fe](02) ebfe jmp 000012fe
[00001300](01) 5d pop ebp
[00001301](01) c3 ret
Size in bytes:(0027) [00001301]

_main()
[00001307](01) 55 push ebp
[00001308](02) 8bec mov ebp,esp
[0000130a](05) 68e7120000 push 000012e7 // push P
[0000130f](05) e8d3ffffff call 000012e7 // call P
[00001314](03) 83c404 add esp,+04
[00001317](02) 33c0 xor eax,eax
[00001319](01) 5d pop ebp
[0000131a](01) c3 ret
Size in bytes:(0020) [0000131a]

machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
[00001307][00102190][00000000] 55 push ebp
[00001308][00102190][00000000] 8bec mov ebp,esp
[0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
[0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
[000012e7][00102184][00102190] 55 push ebp // enter executed P
[000012e8][00102184][00102190] 8bec mov ebp,esp
[000012ea][00102184][00102190] 8b4508 mov eax,[ebp+08]
[000012ed][00102180][000012e7] 50 push eax // push P
[000012ee][00102180][000012e7] 8b4d08 mov ecx,[ebp+08]
[000012f1][0010217c][000012e7] 51 push ecx // push P
[000012f2][00102178][000012f7] e880feffff call 00001177 // call H

Begin Local Halt Decider Simulation Execution Trace Stored at:212244
[000012e7][00212230][00212234] 55 push ebp // enter emulated P
[000012e8][00212230][00212234] 8bec mov ebp,esp
[000012ea][00212230][00212234] 8b4508 mov eax,[ebp+08]
[000012ed][0021222c][000012e7] 50 push eax // push P
[000012ee][0021222c][000012e7] 8b4d08 mov ecx,[ebp+08]
[000012f1][00212228][000012e7] 51 push ecx // push P
[000012f2][00212224][000012f7] e880feffff call 00001177 // call H
[000012e7][0025cc58][0025cc5c] 55 push ebp // enter emulated P
[000012e8][0025cc58][0025cc5c] 8bec mov ebp,esp
[000012ea][0025cc58][0025cc5c] 8b4508 mov eax,[ebp+08]
[000012ed][0025cc54][000012e7] 50 push eax // push P
[000012ee][0025cc54][000012e7] 8b4d08 mov ecx,[ebp+08]
[000012f1][0025cc50][000012e7] 51 push ecx // push P
[000012f2][0025cc4c][000012f7] e880feffff call 00001177 // call H
Local Halt Decider: Infinite Recursion Detected Simulation Stopped

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 know with complete
certainty that the correct and complete emulation of P by H would never
reach its final “ret” instruction, thus never halts.

[000012f7][00102184][00102190] 83c408 add esp,+08
[000012fa][00102184][00102190] 85c0 test eax,eax
[000012fc][00102184][00102190] 7402 jz 00001300
[00001300][00102188][00001314] 5d pop ebp
[00001301][0010218c][000012e7] c3 ret // executed P halts
[00001314][00102190][00000000] 83c404 add esp,+04
[00001317][00102190][00000000] 33c0 xor eax,eax
[00001319][00102194][00100000] 5d pop ebp
[0000131a][00102198][00000000] c3 ret // main() halts
Number of Instructions Executed(15900) 237 pages

--
Copyright 2022 Pete Olcott

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

Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<pT7pK.67518$X_i.60149@fx18.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9346&group=comp.ai.philosophy#9346

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx18.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: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 231
Message-ID: <pT7pK.67518$X_i.60149@fx18.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 17:34:12 -0400
X-Received-Bytes: 11062
 by: Richard Damon - Sat, 11 Jun 2022 21:34 UTC

On 6/11/22 5:22 PM, olcott wrote:
> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>
>> On 6/11/22 4:55 PM, olcott wrote:
>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>
>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>> Nope. A pure function always returns the same value for the same
>>>>>>>> inputs:
>>>>>>>
>>>>>>>     Perhaps someone will explain why they are so bothered about
>>>>>>> "pure"
>>>>>>> functions?  These bear no interesting relation to what a TM could
>>>>>>> do, not
>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>> compiling [eg] C
>>>>>>> code into a corresponding TM [equivalently into a representation
>>>>>>> to be
>>>>>>> "run" by some UTM] as long as the C does not make [illicit] use
>>>>>>> of the
>>>>>>> environment provided by the OS.
>>>>>>
>>>>>> There's nothing interesting about pure functions from a theoretical
>>>>>> point of view, but PO has ditched all notions of a formal model of
>>>>>> computation, and since he is only interesting in getting one case
>>>>>> correct, he could have written:
>>>>>>
>>>>>>    #include <stdio.h>
>>>>>>    typedef void (*ptr)();
>>>>>>    int H(ptr x, ptr y)
>>>>>>    {
>>>>>>         void H_Hat(ptr);
>>>>>>         return (char *)__builtin_return_address(0) - (char *)H_Hat
>>>>>> > 36;
>>>>>>    }
>>>>>>    void H_Hat(ptr x)
>>>>>>    {
>>>>>>         if (H(x, x)) while (1);
>>>>>>    }
>>>>>>    int main(void)
>>>>>>    {
>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>         H_Hat(H_Hat);
>>>>>>    }
>>>>>>
>>>>>> This program prints 1 (on my system) and halts because H_Hat(H_Hat)
>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>> constructed from H.
>>>>>>
>>>>>> My guess is that it is trickery like this that makes people worry
>>>>>> about
>>>>>> functions being pure.
>>>>>>
>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) == 1 and
>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever thought of
>>>>>> doing this.
>>>>>>
>>>>>> I'm not worried about pure functions because PO is told use that
>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's wrong by
>>>>>> defintion based on undisputed facts.
>>>>>
>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>> computing the mapping from the actual input to its own accept or
>>>>> reject state on the basis of the actual behavior of the input
>>>>> H(P,)==0 is correct.
>>>>>
>>>>
>>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>>> BEHAVIOR is that of P(P).
>>> Liar !
>>>
>>> The actual input is a finite string of machine code
>>> and the actual behavior of this actual input is its correct x86
>>> emulation by H.
>>
>> Which, if it is a CORRECT x86 emulation, behaves exactly like the
>> program it is the code of.
>>
>>>
>>> That you freaking simply imagine that this behavior is different than
>>> its machine code specifies is a psychotic break from realty.
>>>
>>
>> Right, the machine code specifies the exact same program as P, and
>> THUS its emulation must match that, RIGHT?
>>
>> YOU are the one saying that the emulation of the input to H, which is
>> the EXACT x86 code of P, somehow behaves differently than the direct
>> execution of P.
>>
>> HOW?
>
> The HOW is beyond the intellectual capacity or everyone here so I simply
> prove that it <is> different as a verified fact. Once we know that it
> <is> different we don't really need to know HOW and WHY it is different.

Nope, but seems above your ability to try to come up with a lie to explain.

The fact that it is definitionally impossible is part of your problem.

>
> The directly executed P(P) halts the correct complete x86 emulation of
> the input to H(P,P) P would never stop running.
>

But WHY?

> Proving that P(P) != the correct x86 emulation of the input to H(P,P)
>
> void P(u32 x)
> {
>   if (H(x, x))
>     HERE: goto HERE;
>   return;
> }
>
> int main()
> {
>   P(P);
> }
>
> _P()
> [000012e7](01)  55              push ebp
> [000012e8](02)  8bec            mov ebp,esp
> [000012ea](03)  8b4508          mov eax,[ebp+08]
> [000012ed](01)  50              push eax
> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
> [000012f1](01)  51              push ecx
> [000012f2](05)  e880feffff      call 00001177 // call H
> [000012f7](03)  83c408          add esp,+08
> [000012fa](02)  85c0            test eax,eax
> [000012fc](02)  7402            jz 00001300
> [000012fe](02)  ebfe            jmp 000012fe
> [00001300](01)  5d              pop ebp
> [00001301](01)  c3              ret
> Size in bytes:(0027) [00001301]
>
> _main()
> [00001307](01)  55              push ebp
> [00001308](02)  8bec            mov ebp,esp
> [0000130a](05)  68e7120000      push 000012e7 // push P
> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
> [00001314](03)  83c404          add esp,+04
> [00001317](02)  33c0            xor eax,eax
> [00001319](01)  5d              pop ebp
> [0000131a](01)  c3              ret
> Size in bytes:(0020) [0000131a]
>
>  machine   stack     stack     machine    assembly
>  address   address   data      code       language
>  ========  ========  ========  =========  =============
> [00001307][00102190][00000000] 55         push ebp
> [00001308][00102190][00000000] 8bec       mov ebp,esp
> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
> [000012e7][00102184][00102190] 55         push ebp      // enter executed P
> [000012e8][00102184][00102190] 8bec       mov ebp,esp
> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
> [000012ed][00102180][000012e7] 50         push eax      // push P
> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
> [000012f1][0010217c][000012e7] 51         push ecx      // push P
> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>
> Begin Local Halt Decider Simulation   Execution Trace Stored at:212244
> [000012e7][00212230][00212234] 55          push ebp      // enter
> emulated P
> [000012e8][00212230][00212234] 8bec        mov ebp,esp
> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
> [000012ed][0021222c][000012e7] 50          push eax      // push P
> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
> [000012f1][00212228][000012e7] 51          push ecx      // push P
> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H

So by WHAT x86 reference manual does a call 00001177 instruction go to
000012e7?

That is your problem, and you LIE.

> [000012e7][0025cc58][0025cc5c] 55          push ebp      // enter
> emulated P
> [000012e8][0025cc58][0025cc5c] 8bec        mov ebp,esp
> [000012ea][0025cc58][0025cc5c] 8b4508      mov eax,[ebp+08]
> [000012ed][0025cc54][000012e7] 50          push eax      // push P
> [000012ee][0025cc54][000012e7] 8b4d08      mov ecx,[ebp+08]
> [000012f1][0025cc50][000012e7] 51          push ecx      // push P
> [000012f2][0025cc4c][000012f7] e880feffff  call 00001177 // call H
> Local Halt Decider: Infinite Recursion Detected Simulation Stopped
>
> 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 know with complete
> certainty that the correct and complete emulation of P by H would never
> reach its final “ret” instruction, thus never halts.
>
> [000012f7][00102184][00102190] 83c408      add esp,+08
> [000012fa][00102184][00102190] 85c0        test eax,eax
> [000012fc][00102184][00102190] 7402        jz 00001300
> [00001300][00102188][00001314] 5d          pop ebp
> [00001301][0010218c][000012e7] c3          ret           // executed P
> halts
> [00001314][00102190][00000000] 83c404      add esp,+04
> [00001317][00102190][00000000] 33c0        xor eax,eax
> [00001319][00102194][00100000] 5d          pop ebp
> [0000131a][00102198][00000000] c3          ret           // main() halts
> Number of Instructions Executed(15900) 237 pages
>
>
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9347&group=comp.ai.philosophy#9347

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 11 Jun 2022 16:47:00 -0500
Date: Sat, 11 Jun 2022 16:46:59 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <pT7pK.67518$X_i.60149@fx18.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 195
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-rHWAOSgf6kO68GhzN6j3MzbdT05wGKFKCSd7fVipnqDsA+0m1BWew6FZqMLex4wlma8qi5hvUn39S8/!rxGJgca1qk6rDqEaM0CSJs+aXi8eNooT0SSNyserChlmOwkisB4bsfVU+SvdX2pSF6dPc82BpwVi
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: 9732
 by: olcott - Sat, 11 Jun 2022 21:46 UTC

On 6/11/2022 4:34 PM, Richard Damon wrote:
>
> On 6/11/22 5:22 PM, olcott wrote:
>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>
>>> On 6/11/22 4:55 PM, olcott wrote:
>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>
>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>> Nope. A pure function always returns the same value for the
>>>>>>>>> same inputs:
>>>>>>>>
>>>>>>>>     Perhaps someone will explain why they are so bothered about
>>>>>>>> "pure"
>>>>>>>> functions?  These bear no interesting relation to what a TM
>>>>>>>> could do, not
>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>> compiling [eg] C
>>>>>>>> code into a corresponding TM [equivalently into a representation
>>>>>>>> to be
>>>>>>>> "run" by some UTM] as long as the C does not make [illicit] use
>>>>>>>> of the
>>>>>>>> environment provided by the OS.
>>>>>>>
>>>>>>> There's nothing interesting about pure functions from a theoretical
>>>>>>> point of view, but PO has ditched all notions of a formal model of
>>>>>>> computation, and since he is only interesting in getting one case
>>>>>>> correct, he could have written:
>>>>>>>
>>>>>>>    #include <stdio.h>
>>>>>>>    typedef void (*ptr)();
>>>>>>>    int H(ptr x, ptr y)
>>>>>>>    {
>>>>>>>         void H_Hat(ptr);
>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>> *)H_Hat > 36;
>>>>>>>    }
>>>>>>>    void H_Hat(ptr x)
>>>>>>>    {
>>>>>>>         if (H(x, x)) while (1);
>>>>>>>    }
>>>>>>>    int main(void)
>>>>>>>    {
>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>         H_Hat(H_Hat);
>>>>>>>    }
>>>>>>>
>>>>>>> This program prints 1 (on my system) and halts because H_Hat(H_Hat)
>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>> constructed from H.
>>>>>>>
>>>>>>> My guess is that it is trickery like this that makes people worry
>>>>>>> about
>>>>>>> functions being pure.
>>>>>>>
>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) == 1 and
>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever thought of
>>>>>>> doing this.
>>>>>>>
>>>>>>> I'm not worried about pure functions because PO is told use that
>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's wrong by
>>>>>>> defintion based on undisputed facts.
>>>>>>
>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>> computing the mapping from the actual input to its own accept or
>>>>>> reject state on the basis of the actual behavior of the input
>>>>>> H(P,)==0 is correct.
>>>>>>
>>>>>
>>>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>>>> BEHAVIOR is that of P(P).
>>>> Liar !
>>>>
>>>> The actual input is a finite string of machine code
>>>> and the actual behavior of this actual input is its correct x86
>>>> emulation by H.
>>>
>>> Which, if it is a CORRECT x86 emulation, behaves exactly like the
>>> program it is the code of.
>>>
>>>>
>>>> That you freaking simply imagine that this behavior is different
>>>> than its machine code specifies is a psychotic break from realty.
>>>>
>>>
>>> Right, the machine code specifies the exact same program as P, and
>>> THUS its emulation must match that, RIGHT?
>>>
>>> YOU are the one saying that the emulation of the input to H, which is
>>> the EXACT x86 code of P, somehow behaves differently than the direct
>>> execution of P.
>>>
>>> HOW?
>>
>> The HOW is beyond the intellectual capacity or everyone here so I
>> simply prove that it <is> different as a verified fact. Once we know
>> that it <is> different we don't really need to know HOW and WHY it is
>> different.
>
> Nope, but seems above your ability to try to come up with a lie to explain.
>
> The fact that it is definitionally impossible is part of your problem.
>
>>
>> The directly executed P(P) halts the correct complete x86 emulation of
>> the input to H(P,P) P would never stop running.
>>
>
> But WHY?
>
>> Proving that P(P) != the correct x86 emulation of the input to H(P,P)
>>
>> void P(u32 x)
>> {
>>    if (H(x, x))
>>      HERE: goto HERE;
>>    return;
>> }
>>
>> int main()
>> {
>>    P(P);
>> }
>>
>> _P()
>> [000012e7](01)  55              push ebp
>> [000012e8](02)  8bec            mov ebp,esp
>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>> [000012ed](01)  50              push eax
>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>> [000012f1](01)  51              push ecx
>> [000012f2](05)  e880feffff      call 00001177 // call H
>> [000012f7](03)  83c408          add esp,+08
>> [000012fa](02)  85c0            test eax,eax
>> [000012fc](02)  7402            jz 00001300
>> [000012fe](02)  ebfe            jmp 000012fe
>> [00001300](01)  5d              pop ebp
>> [00001301](01)  c3              ret
>> Size in bytes:(0027) [00001301]
>>
>> _main()
>> [00001307](01)  55              push ebp
>> [00001308](02)  8bec            mov ebp,esp
>> [0000130a](05)  68e7120000      push 000012e7 // push P
>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>> [00001314](03)  83c404          add esp,+04
>> [00001317](02)  33c0            xor eax,eax
>> [00001319](01)  5d              pop ebp
>> [0000131a](01)  c3              ret
>> Size in bytes:(0020) [0000131a]
>>
>>   machine   stack     stack     machine    assembly
>>   address   address   data      code       language
>>   ========  ========  ========  =========  =============
>> [00001307][00102190][00000000] 55         push ebp
>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>> [000012e7][00102184][00102190] 55         push ebp      // enter
>> executed P
>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>> [000012ed][00102180][000012e7] 50         push eax      // push P
>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>
>> Begin Local Halt Decider Simulation   Execution Trace Stored at:212244
>> [000012e7][00212230][00212234] 55          push ebp      // enter
>> emulated P
>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>
> So by WHAT x86 reference manual does a call 00001177 instruction go to
> 000012e7?
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<Ad8pK.67519$X_i.22954@fx18.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9348&group=comp.ai.philosophy#9348

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!feeder.usenetexpress.com!tr3.eu1.usenetexpress.com!feeder1.feed.usenet.farm!feed.usenet.farm!peer01.ams4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx18.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: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com> <20220611130306.00000bac@reddwarf.jmc> <ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com> <20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org> <87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com> <zZ6pK.155799$JVi.136381@fx17.iad> <C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com> <ow7pK.67434$ssF.45877@fx14.iad> <0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com> <pT7pK.67518$X_i.60149@fx18.iad> <waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 209
Message-ID: <Ad8pK.67519$X_i.22954@fx18.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 17:57:51 -0400
X-Received-Bytes: 10155
 by: Richard Damon - Sat, 11 Jun 2022 21:57 UTC

On 6/11/22 5:46 PM, olcott wrote:
> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>
>> On 6/11/22 5:22 PM, olcott wrote:
>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>
>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>
>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>> Nope. A pure function always returns the same value for the
>>>>>>>>>> same inputs:
>>>>>>>>>
>>>>>>>>>     Perhaps someone will explain why they are so bothered about
>>>>>>>>> "pure"
>>>>>>>>> functions?  These bear no interesting relation to what a TM
>>>>>>>>> could do, not
>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>> compiling [eg] C
>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>> representation to be
>>>>>>>>> "run" by some UTM] as long as the C does not make [illicit] use
>>>>>>>>> of the
>>>>>>>>> environment provided by the OS.
>>>>>>>>
>>>>>>>> There's nothing interesting about pure functions from a theoretical
>>>>>>>> point of view, but PO has ditched all notions of a formal model of
>>>>>>>> computation, and since he is only interesting in getting one case
>>>>>>>> correct, he could have written:
>>>>>>>>
>>>>>>>>    #include <stdio.h>
>>>>>>>>    typedef void (*ptr)();
>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>    {
>>>>>>>>         void H_Hat(ptr);
>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>> *)H_Hat > 36;
>>>>>>>>    }
>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>    {
>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>    }
>>>>>>>>    int main(void)
>>>>>>>>    {
>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>    }
>>>>>>>>
>>>>>>>> This program prints 1 (on my system) and halts because H_Hat(H_Hat)
>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>> constructed from H.
>>>>>>>>
>>>>>>>> My guess is that it is trickery like this that makes people
>>>>>>>> worry about
>>>>>>>> functions being pure.
>>>>>>>>
>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) == 1 and
>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>> thought of
>>>>>>>> doing this.
>>>>>>>>
>>>>>>>> I'm not worried about pure functions because PO is told use that
>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's
>>>>>>>> wrong by
>>>>>>>> defintion based on undisputed facts.
>>>>>>>
>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>> computing the mapping from the actual input to its own accept or
>>>>>>> reject state on the basis of the actual behavior of the input
>>>>>>> H(P,)==0 is correct.
>>>>>>>
>>>>>>
>>>>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>>>>> BEHAVIOR is that of P(P).
>>>>> Liar !
>>>>>
>>>>> The actual input is a finite string of machine code
>>>>> and the actual behavior of this actual input is its correct x86
>>>>> emulation by H.
>>>>
>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like the
>>>> program it is the code of.
>>>>
>>>>>
>>>>> That you freaking simply imagine that this behavior is different
>>>>> than its machine code specifies is a psychotic break from realty.
>>>>>
>>>>
>>>> Right, the machine code specifies the exact same program as P, and
>>>> THUS its emulation must match that, RIGHT?
>>>>
>>>> YOU are the one saying that the emulation of the input to H, which
>>>> is the EXACT x86 code of P, somehow behaves differently than the
>>>> direct execution of P.
>>>>
>>>> HOW?
>>>
>>> The HOW is beyond the intellectual capacity or everyone here so I
>>> simply prove that it <is> different as a verified fact. Once we know
>>> that it <is> different we don't really need to know HOW and WHY it is
>>> different.
>>
>> Nope, but seems above your ability to try to come up with a lie to
>> explain.
>>
>> The fact that it is definitionally impossible is part of your problem.
>>
>>>
>>> The directly executed P(P) halts the correct complete x86 emulation
>>> of the input to H(P,P) P would never stop running.
>>>
>>
>> But WHY?
>>
>>> Proving that P(P) != the correct x86 emulation of the input to H(P,P)
>>>
>>> void P(u32 x)
>>> {
>>>    if (H(x, x))
>>>      HERE: goto HERE;
>>>    return;
>>> }
>>>
>>> int main()
>>> {
>>>    P(P);
>>> }
>>>
>>> _P()
>>> [000012e7](01)  55              push ebp
>>> [000012e8](02)  8bec            mov ebp,esp
>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>> [000012ed](01)  50              push eax
>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>> [000012f1](01)  51              push ecx
>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>> [000012f7](03)  83c408          add esp,+08
>>> [000012fa](02)  85c0            test eax,eax
>>> [000012fc](02)  7402            jz 00001300
>>> [000012fe](02)  ebfe            jmp 000012fe
>>> [00001300](01)  5d              pop ebp
>>> [00001301](01)  c3              ret
>>> Size in bytes:(0027) [00001301]
>>>
>>> _main()
>>> [00001307](01)  55              push ebp
>>> [00001308](02)  8bec            mov ebp,esp
>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>> [00001314](03)  83c404          add esp,+04
>>> [00001317](02)  33c0            xor eax,eax
>>> [00001319](01)  5d              pop ebp
>>> [0000131a](01)  c3              ret
>>> Size in bytes:(0020) [0000131a]
>>>
>>>   machine   stack     stack     machine    assembly
>>>   address   address   data      code       language
>>>   ========  ========  ========  =========  =============
>>> [00001307][00102190][00000000] 55         push ebp
>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>> [000012e7][00102184][00102190] 55         push ebp      // enter
>>> executed P
>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>
>>> Begin Local Halt Decider Simulation   Execution Trace Stored at:212244
>>> [000012e7][00212230][00212234] 55          push ebp      // enter
>>> emulated P
>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>
>> So by WHAT x86 reference manual does a call 00001177 instruction go to
>> 000012e7?
>>
>
> My pure function of its inputs version never invokes H from P thus there
> is no execution trace of H to show. As soon as H sees P call itself with
> its same arguments and P reaches this point in its execution trace
> unconditionally H aborts the x86 emulation of P.
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9349&group=comp.ai.philosophy#9349

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
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, 11 Jun 2022 17:08:55 -0500
Date: Sat, 11 Jun 2022 17:08:55 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <Ad8pK.67519$X_i.22954@fx18.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
Lines: 236
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-CQGaRStfynCA4LP6+fyGLxr23kVV4mMCRsrcCIUvB4xwoJ9L5fb45744pTaslUIBZpwFtF1+5fl/Yqb!+IzQlWMJqCUJFaZxybS60T59odz15H2JB9XwQWYjlhDc4NBkwoOjjZqVcVUVIe8YnM3R4kGiehU6
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: 11315
 by: olcott - Sat, 11 Jun 2022 22:08 UTC

On 6/11/2022 4:57 PM, Richard Damon wrote:
> On 6/11/22 5:46 PM, olcott wrote:
>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>
>>> On 6/11/22 5:22 PM, olcott wrote:
>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>
>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>
>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>> Nope. A pure function always returns the same value for the
>>>>>>>>>>> same inputs:
>>>>>>>>>>
>>>>>>>>>>     Perhaps someone will explain why they are so bothered
>>>>>>>>>> about "pure"
>>>>>>>>>> functions?  These bear no interesting relation to what a TM
>>>>>>>>>> could do, not
>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>> compiling [eg] C
>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>> representation to be
>>>>>>>>>> "run" by some UTM] as long as the C does not make [illicit]
>>>>>>>>>> use of the
>>>>>>>>>> environment provided by the OS.
>>>>>>>>>
>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>> theoretical
>>>>>>>>> point of view, but PO has ditched all notions of a formal model of
>>>>>>>>> computation, and since he is only interesting in getting one case
>>>>>>>>> correct, he could have written:
>>>>>>>>>
>>>>>>>>>    #include <stdio.h>
>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>    {
>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>>> *)H_Hat > 36;
>>>>>>>>>    }
>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>    {
>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>    }
>>>>>>>>>    int main(void)
>>>>>>>>>    {
>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>>> constructed from H.
>>>>>>>>>
>>>>>>>>> My guess is that it is trickery like this that makes people
>>>>>>>>> worry about
>>>>>>>>> functions being pure.
>>>>>>>>>
>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) == 1 and
>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>> thought of
>>>>>>>>> doing this.
>>>>>>>>>
>>>>>>>>> I'm not worried about pure functions because PO is told use that
>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's
>>>>>>>>> wrong by
>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>
>>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>>> computing the mapping from the actual input to its own accept or
>>>>>>>> reject state on the basis of the actual behavior of the input
>>>>>>>> H(P,)==0 is correct.
>>>>>>>>
>>>>>>>
>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>>>>>> BEHAVIOR is that of P(P).
>>>>>> Liar !
>>>>>>
>>>>>> The actual input is a finite string of machine code
>>>>>> and the actual behavior of this actual input is its correct x86
>>>>>> emulation by H.
>>>>>
>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like the
>>>>> program it is the code of.
>>>>>
>>>>>>
>>>>>> That you freaking simply imagine that this behavior is different
>>>>>> than its machine code specifies is a psychotic break from realty.
>>>>>>
>>>>>
>>>>> Right, the machine code specifies the exact same program as P, and
>>>>> THUS its emulation must match that, RIGHT?
>>>>>
>>>>> YOU are the one saying that the emulation of the input to H, which
>>>>> is the EXACT x86 code of P, somehow behaves differently than the
>>>>> direct execution of P.
>>>>>
>>>>> HOW?
>>>>
>>>> The HOW is beyond the intellectual capacity or everyone here so I
>>>> simply prove that it <is> different as a verified fact. Once we know
>>>> that it <is> different we don't really need to know HOW and WHY it
>>>> is different.
>>>
>>> Nope, but seems above your ability to try to come up with a lie to
>>> explain.
>>>
>>> The fact that it is definitionally impossible is part of your problem.
>>>
>>>>
>>>> The directly executed P(P) halts the correct complete x86 emulation
>>>> of the input to H(P,P) P would never stop running.
>>>>
>>>
>>> But WHY?
>>>
>>>> Proving that P(P) != the correct x86 emulation of the input to H(P,P)
>>>>
>>>> void P(u32 x)
>>>> {
>>>>    if (H(x, x))
>>>>      HERE: goto HERE;
>>>>    return;
>>>> }
>>>>
>>>> int main()
>>>> {
>>>>    P(P);
>>>> }
>>>>
>>>> _P()
>>>> [000012e7](01)  55              push ebp
>>>> [000012e8](02)  8bec            mov ebp,esp
>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>> [000012ed](01)  50              push eax
>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>> [000012f1](01)  51              push ecx
>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>> [000012f7](03)  83c408          add esp,+08
>>>> [000012fa](02)  85c0            test eax,eax
>>>> [000012fc](02)  7402            jz 00001300
>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>> [00001300](01)  5d              pop ebp
>>>> [00001301](01)  c3              ret
>>>> Size in bytes:(0027) [00001301]
>>>>
>>>> _main()
>>>> [00001307](01)  55              push ebp
>>>> [00001308](02)  8bec            mov ebp,esp
>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>> [00001314](03)  83c404          add esp,+04
>>>> [00001317](02)  33c0            xor eax,eax
>>>> [00001319](01)  5d              pop ebp
>>>> [0000131a](01)  c3              ret
>>>> Size in bytes:(0020) [0000131a]
>>>>
>>>>   machine   stack     stack     machine    assembly
>>>>   address   address   data      code       language
>>>>   ========  ========  ========  =========  =============
>>>> [00001307][00102190][00000000] 55         push ebp
>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>> [000012e7][00102184][00102190] 55         push ebp      // enter
>>>> executed P
>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>
>>>> Begin Local Halt Decider Simulation   Execution Trace Stored at:212244
>>>> [000012e7][00212230][00212234] 55          push ebp      // enter
>>>> emulated P
>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>>
>>> So by WHAT x86 reference manual does a call 00001177 instruction go
>>> to 000012e7?
>>>
>>
>> My pure function of its inputs version never invokes H from P thus
>> there is no execution trace of H to show. As soon as H sees P call
>> itself with its same arguments and P reaches this point in its
>> execution trace unconditionally H aborts the x86 emulation of P.
>>
>
> ???? Is this NOT showing a trace with your pure function version, if
> not, what it this, and why>
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<yA8pK.42789$KWh.32458@fx02.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9350&group=comp.ai.philosophy#9350

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!feeder1.feed.usenet.farm!feed.usenet.farm!peer03.ams4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx02.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: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 264
Message-ID: <yA8pK.42789$KWh.32458@fx02.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 18:22:19 -0400
X-Received-Bytes: 12441
 by: Richard Damon - Sat, 11 Jun 2022 22:22 UTC

On 6/11/22 6:08 PM, olcott wrote:
> On 6/11/2022 4:57 PM, Richard Damon wrote:
>> On 6/11/22 5:46 PM, olcott wrote:
>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>
>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>
>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>
>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>> Nope. A pure function always returns the same value for the
>>>>>>>>>>>> same inputs:
>>>>>>>>>>>
>>>>>>>>>>>     Perhaps someone will explain why they are so bothered
>>>>>>>>>>> about "pure"
>>>>>>>>>>> functions?  These bear no interesting relation to what a TM
>>>>>>>>>>> could do, not
>>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>>> compiling [eg] C
>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>> representation to be
>>>>>>>>>>> "run" by some UTM] as long as the C does not make [illicit]
>>>>>>>>>>> use of the
>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>
>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>> theoretical
>>>>>>>>>> point of view, but PO has ditched all notions of a formal
>>>>>>>>>> model of
>>>>>>>>>> computation, and since he is only interesting in getting one case
>>>>>>>>>> correct, he could have written:
>>>>>>>>>>
>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>    {
>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>>>> *)H_Hat > 36;
>>>>>>>>>>    }
>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>    {
>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>    }
>>>>>>>>>>    int main(void)
>>>>>>>>>>    {
>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>    }
>>>>>>>>>>
>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>>>> constructed from H.
>>>>>>>>>>
>>>>>>>>>> My guess is that it is trickery like this that makes people
>>>>>>>>>> worry about
>>>>>>>>>> functions being pure.
>>>>>>>>>>
>>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) == 1
>>>>>>>>>> and
>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>>> thought of
>>>>>>>>>> doing this.
>>>>>>>>>>
>>>>>>>>>> I'm not worried about pure functions because PO is told use that
>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's
>>>>>>>>>> wrong by
>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>
>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>>>> computing the mapping from the actual input to its own accept
>>>>>>>>> or reject state on the basis of the actual behavior of the
>>>>>>>>> input H(P,)==0 is correct.
>>>>>>>>>
>>>>>>>>
>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>>>>>>> BEHAVIOR is that of P(P).
>>>>>>> Liar !
>>>>>>>
>>>>>>> The actual input is a finite string of machine code
>>>>>>> and the actual behavior of this actual input is its correct x86
>>>>>>> emulation by H.
>>>>>>
>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like the
>>>>>> program it is the code of.
>>>>>>
>>>>>>>
>>>>>>> That you freaking simply imagine that this behavior is different
>>>>>>> than its machine code specifies is a psychotic break from realty.
>>>>>>>
>>>>>>
>>>>>> Right, the machine code specifies the exact same program as P, and
>>>>>> THUS its emulation must match that, RIGHT?
>>>>>>
>>>>>> YOU are the one saying that the emulation of the input to H, which
>>>>>> is the EXACT x86 code of P, somehow behaves differently than the
>>>>>> direct execution of P.
>>>>>>
>>>>>> HOW?
>>>>>
>>>>> The HOW is beyond the intellectual capacity or everyone here so I
>>>>> simply prove that it <is> different as a verified fact. Once we
>>>>> know that it <is> different we don't really need to know HOW and
>>>>> WHY it is different.
>>>>
>>>> Nope, but seems above your ability to try to come up with a lie to
>>>> explain.
>>>>
>>>> The fact that it is definitionally impossible is part of your problem.
>>>>
>>>>>
>>>>> The directly executed P(P) halts the correct complete x86 emulation
>>>>> of the input to H(P,P) P would never stop running.
>>>>>
>>>>
>>>> But WHY?
>>>>
>>>>> Proving that P(P) != the correct x86 emulation of the input to H(P,P)
>>>>>
>>>>> void P(u32 x)
>>>>> {
>>>>>    if (H(x, x))
>>>>>      HERE: goto HERE;
>>>>>    return;
>>>>> }
>>>>>
>>>>> int main()
>>>>> {
>>>>>    P(P);
>>>>> }
>>>>>
>>>>> _P()
>>>>> [000012e7](01)  55              push ebp
>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>> [000012ed](01)  50              push eax
>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>> [000012f1](01)  51              push ecx
>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>> [000012f7](03)  83c408          add esp,+08
>>>>> [000012fa](02)  85c0            test eax,eax
>>>>> [000012fc](02)  7402            jz 00001300
>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>> [00001300](01)  5d              pop ebp
>>>>> [00001301](01)  c3              ret
>>>>> Size in bytes:(0027) [00001301]
>>>>>
>>>>> _main()
>>>>> [00001307](01)  55              push ebp
>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>> [00001314](03)  83c404          add esp,+04
>>>>> [00001317](02)  33c0            xor eax,eax
>>>>> [00001319](01)  5d              pop ebp
>>>>> [0000131a](01)  c3              ret
>>>>> Size in bytes:(0020) [0000131a]
>>>>>
>>>>>   machine   stack     stack     machine    assembly
>>>>>   address   address   data      code       language
>>>>>   ========  ========  ========  =========  =============
>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>>> [000012e7][00102184][00102190] 55         push ebp      // enter
>>>>> executed P
>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>>
>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored at:212244
>>>>> [000012e7][00212230][00212234] 55          push ebp      // enter
>>>>> emulated P
>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>>>
>>>> So by WHAT x86 reference manual does a call 00001177 instruction go
>>>> to 000012e7?
>>>>
>>>
>>> My pure function of its inputs version never invokes H from P thus
>>> there is no execution trace of H to show. As soon as H sees P call
>>> itself with its same arguments and P reaches this point in its
>>> execution trace unconditionally H aborts the x86 emulation of P.
>>>
>>
>> ???? Is this NOT showing a trace with your pure function version, if
>> not, what it this, and why>
>>
>
> I haven't written it yet.
>
>> The above program has main calling P calling H(P,P), and that needs to
>> be the actual same H(P,P) as when you call H(P,P) directlu.
>>
>
> The execution of P(P) and the correct x86 emulation of the input to
> H(P,P) use the exact same finite string byte sequence at the exact same
> machine address.


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9351&group=comp.ai.philosophy#9351

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
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, 11 Jun 2022 17:30:56 -0500
Date: Sat, 11 Jun 2022 17:30:55 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <yA8pK.42789$KWh.32458@fx02.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
Lines: 229
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-m2c+DdMJVwc7K+Vn7Ke2SQpMNTqRz/XG4XH4tdKbqqqRY28QDNZbx4YoVsTqQbubl+EWAWzBI77W3rM!VNnT/geQZ/4/VzbAENP0FOqVwvqyyFuFT03ec1pZAXEIon9147tKATUcyGCvLkgk5Cv5LFxdId5P
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: 11677
 by: olcott - Sat, 11 Jun 2022 22:30 UTC

On 6/11/2022 5:22 PM, Richard Damon wrote:
> On 6/11/22 6:08 PM, olcott wrote:
>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>> On 6/11/22 5:46 PM, olcott wrote:
>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>
>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>
>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>
>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>> Nope. A pure function always returns the same value for the
>>>>>>>>>>>>> same inputs:
>>>>>>>>>>>>
>>>>>>>>>>>>     Perhaps someone will explain why they are so bothered
>>>>>>>>>>>> about "pure"
>>>>>>>>>>>> functions?  These bear no interesting relation to what a TM
>>>>>>>>>>>> could do, not
>>>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>>>> compiling [eg] C
>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>> representation to be
>>>>>>>>>>>> "run" by some UTM] as long as the C does not make [illicit]
>>>>>>>>>>>> use of the
>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>
>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>> theoretical
>>>>>>>>>>> point of view, but PO has ditched all notions of a formal
>>>>>>>>>>> model of
>>>>>>>>>>> computation, and since he is only interesting in getting one
>>>>>>>>>>> case
>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>
>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>    {
>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>>>>> *)H_Hat > 36;
>>>>>>>>>>>    }
>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>    {
>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>    }
>>>>>>>>>>>    int main(void)
>>>>>>>>>>>    {
>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>    }
>>>>>>>>>>>
>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>>>>> constructed from H.
>>>>>>>>>>>
>>>>>>>>>>> My guess is that it is trickery like this that makes people
>>>>>>>>>>> worry about
>>>>>>>>>>> functions being pure.
>>>>>>>>>>>
>>>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) ==
>>>>>>>>>>> 1 and
>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>>>> thought of
>>>>>>>>>>> doing this.
>>>>>>>>>>>
>>>>>>>>>>> I'm not worried about pure functions because PO is told use that
>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's
>>>>>>>>>>> wrong by
>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>
>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>>>>> computing the mapping from the actual input to its own accept
>>>>>>>>>> or reject state on the basis of the actual behavior of the
>>>>>>>>>> input H(P,)==0 is correct.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its ACTUAL
>>>>>>>>> BEHAVIOR is that of P(P).
>>>>>>>> Liar !
>>>>>>>>
>>>>>>>> The actual input is a finite string of machine code
>>>>>>>> and the actual behavior of this actual input is its correct x86
>>>>>>>> emulation by H.
>>>>>>>
>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like the
>>>>>>> program it is the code of.
>>>>>>>
>>>>>>>>
>>>>>>>> That you freaking simply imagine that this behavior is different
>>>>>>>> than its machine code specifies is a psychotic break from realty.
>>>>>>>>
>>>>>>>
>>>>>>> Right, the machine code specifies the exact same program as P,
>>>>>>> and THUS its emulation must match that, RIGHT?
>>>>>>>
>>>>>>> YOU are the one saying that the emulation of the input to H,
>>>>>>> which is the EXACT x86 code of P, somehow behaves differently
>>>>>>> than the direct execution of P.
>>>>>>>
>>>>>>> HOW?
>>>>>>
>>>>>> The HOW is beyond the intellectual capacity or everyone here so I
>>>>>> simply prove that it <is> different as a verified fact. Once we
>>>>>> know that it <is> different we don't really need to know HOW and
>>>>>> WHY it is different.
>>>>>
>>>>> Nope, but seems above your ability to try to come up with a lie to
>>>>> explain.
>>>>>
>>>>> The fact that it is definitionally impossible is part of your problem.
>>>>>
>>>>>>
>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>
>>>>>
>>>>> But WHY?
>>>>>
>>>>>> Proving that P(P) != the correct x86 emulation of the input to H(P,P)
>>>>>>
>>>>>> void P(u32 x)
>>>>>> {
>>>>>>    if (H(x, x))
>>>>>>      HERE: goto HERE;
>>>>>>    return;
>>>>>> }
>>>>>>
>>>>>> int main()
>>>>>> {
>>>>>>    P(P);
>>>>>> }
>>>>>>
>>>>>> _P()
>>>>>> [000012e7](01)  55              push ebp
>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>> [000012ed](01)  50              push eax
>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>> [000012f1](01)  51              push ecx
>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>> [00001300](01)  5d              pop ebp
>>>>>> [00001301](01)  c3              ret
>>>>>> Size in bytes:(0027) [00001301]
>>>>>>
>>>>>> _main()
>>>>>> [00001307](01)  55              push ebp
>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>> [00001319](01)  5d              pop ebp
>>>>>> [0000131a](01)  c3              ret
>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>
>>>>>>   machine   stack     stack     machine    assembly
>>>>>>   address   address   data      code       language
>>>>>>   ========  ========  ========  =========  =============
>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>>>> [000012e7][00102184][00102190] 55         push ebp      // enter
>>>>>> executed P
>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>>>
>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>> at:212244
>>>>>> [000012e7][00212230][00212234] 55          push ebp      // enter
>>>>>> emulated P
>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>>>>
>>>>> So by WHAT x86 reference manual does a call 00001177 instruction go
>>>>> to 000012e7?
>>>>>
>>>>
>>>> My pure function of its inputs version never invokes H from P thus
>>>> there is no execution trace of H to show. As soon as H sees P call
>>>> itself with its same arguments and P reaches this point in its
>>>> execution trace unconditionally H aborts the x86 emulation of P.
>>>>
>>>
>>> ???? Is this NOT showing a trace with your pure function version, if
>>> not, what it this, and why>
>>>
>>
>> I haven't written it yet.
>>
>>> The above program has main calling P calling H(P,P), and that needs
>>> to be the actual same H(P,P) as when you call H(P,P) directlu.
>>>
>>
>> The execution of P(P) and the correct x86 emulation of the input to
>> H(P,P) use the exact same finite string byte sequence at the exact
>> same machine address.
>
> Right, and even YOU have shown that a correct and complete emulation of
> that code acutally does Halt if H(P,P) returns 0.
>
I don't know why you keep repeating that a dead process continues to
execute after it has been killed you must be nuts.


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<uW8pK.122017$5fVf.86604@fx09.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9352&group=comp.ai.philosophy#9352

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!news.uzoreto.com!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx09.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: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com> <20220611130306.00000bac@reddwarf.jmc> <ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com> <20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org> <87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com> <zZ6pK.155799$JVi.136381@fx17.iad> <C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com> <ow7pK.67434$ssF.45877@fx14.iad> <0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com> <pT7pK.67518$X_i.60149@fx18.iad> <waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com> <Ad8pK.67519$X_i.22954@fx18.iad> <IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com> <yA8pK.42789$KWh.32458@fx02.iad> <69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 241
Message-ID: <uW8pK.122017$5fVf.86604@fx09.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 18:45:45 -0400
X-Received-Bytes: 12056
 by: Richard Damon - Sat, 11 Jun 2022 22:45 UTC

On 6/11/22 6:30 PM, olcott wrote:
> On 6/11/2022 5:22 PM, Richard Damon wrote:
>> On 6/11/22 6:08 PM, olcott wrote:
>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>
>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>
>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>
>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>> Nope. A pure function always returns the same value for
>>>>>>>>>>>>>> the same inputs:
>>>>>>>>>>>>>
>>>>>>>>>>>>>     Perhaps someone will explain why they are so bothered
>>>>>>>>>>>>> about "pure"
>>>>>>>>>>>>> functions?  These bear no interesting relation to what a TM
>>>>>>>>>>>>> could do, not
>>>>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>>>>> compiling [eg] C
>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make [illicit]
>>>>>>>>>>>>> use of the
>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>
>>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>>> theoretical
>>>>>>>>>>>> point of view, but PO has ditched all notions of a formal
>>>>>>>>>>>> model of
>>>>>>>>>>>> computation, and since he is only interesting in getting one
>>>>>>>>>>>> case
>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>
>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>    {
>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>>>>>> *)H_Hat > 36;
>>>>>>>>>>>>    }
>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>    {
>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>    }
>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>    {
>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>    }
>>>>>>>>>>>>
>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>
>>>>>>>>>>>> My guess is that it is trickery like this that makes people
>>>>>>>>>>>> worry about
>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>
>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat) ==
>>>>>>>>>>>> 1 and
>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>>>>> thought of
>>>>>>>>>>>> doing this.
>>>>>>>>>>>>
>>>>>>>>>>>> I'm not worried about pure functions because PO is told use
>>>>>>>>>>>> that
>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's
>>>>>>>>>>>> wrong by
>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>
>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>>>>>> computing the mapping from the actual input to its own accept
>>>>>>>>>>> or reject state on the basis of the actual behavior of the
>>>>>>>>>>> input H(P,)==0 is correct.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>> Liar !
>>>>>>>>>
>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>> and the actual behavior of this actual input is its correct x86
>>>>>>>>> emulation by H.
>>>>>>>>
>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like
>>>>>>>> the program it is the code of.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>> different than its machine code specifies is a psychotic break
>>>>>>>>> from realty.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Right, the machine code specifies the exact same program as P,
>>>>>>>> and THUS its emulation must match that, RIGHT?
>>>>>>>>
>>>>>>>> YOU are the one saying that the emulation of the input to H,
>>>>>>>> which is the EXACT x86 code of P, somehow behaves differently
>>>>>>>> than the direct execution of P.
>>>>>>>>
>>>>>>>> HOW?
>>>>>>>
>>>>>>> The HOW is beyond the intellectual capacity or everyone here so I
>>>>>>> simply prove that it <is> different as a verified fact. Once we
>>>>>>> know that it <is> different we don't really need to know HOW and
>>>>>>> WHY it is different.
>>>>>>
>>>>>> Nope, but seems above your ability to try to come up with a lie to
>>>>>> explain.
>>>>>>
>>>>>> The fact that it is definitionally impossible is part of your
>>>>>> problem.
>>>>>>
>>>>>>>
>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>
>>>>>>
>>>>>> But WHY?
>>>>>>
>>>>>>> Proving that P(P) != the correct x86 emulation of the input to
>>>>>>> H(P,P)
>>>>>>>
>>>>>>> void P(u32 x)
>>>>>>> {
>>>>>>>    if (H(x, x))
>>>>>>>      HERE: goto HERE;
>>>>>>>    return;
>>>>>>> }
>>>>>>>
>>>>>>> int main()
>>>>>>> {
>>>>>>>    P(P);
>>>>>>> }
>>>>>>>
>>>>>>> _P()
>>>>>>> [000012e7](01)  55              push ebp
>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>> [000012ed](01)  50              push eax
>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>> [000012f1](01)  51              push ecx
>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>> [00001301](01)  c3              ret
>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>
>>>>>>> _main()
>>>>>>> [00001307](01)  55              push ebp
>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>> [0000131a](01)  c3              ret
>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>
>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>   address   address   data      code       language
>>>>>>>   ========  ========  ========  =========  =============
>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>>>>> [000012e7][00102184][00102190] 55         push ebp      // enter
>>>>>>> executed P
>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>>>>
>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>>> at:212244
>>>>>>> [000012e7][00212230][00212234] 55          push ebp      // enter
>>>>>>> emulated P
>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>>>>>
>>>>>> So by WHAT x86 reference manual does a call 00001177 instruction
>>>>>> go to 000012e7?
>>>>>>
>>>>>
>>>>> My pure function of its inputs version never invokes H from P thus
>>>>> there is no execution trace of H to show. As soon as H sees P call
>>>>> itself with its same arguments and P reaches this point in its
>>>>> execution trace unconditionally H aborts the x86 emulation of P.
>>>>>
>>>>
>>>> ???? Is this NOT showing a trace with your pure function version, if
>>>> not, what it this, and why>
>>>>
>>>
>>> I haven't written it yet.
>>>
>>>> The above program has main calling P calling H(P,P), and that needs
>>>> to be the actual same H(P,P) as when you call H(P,P) directlu.
>>>>
>>>
>>> The execution of P(P) and the correct x86 emulation of the input to
>>> H(P,P) use the exact same finite string byte sequence at the exact
>>> same machine address.
>>
>> Right, and even YOU have shown that a correct and complete emulation
>> of that code acutally does Halt if H(P,P) returns 0.
>>
> I don't know why you keep repeating that a dead process continues to
> execute after it has been killed you must be nuts.
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9353&group=comp.ai.philosophy#9353

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
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, 11 Jun 2022 17:51:16 -0500
Date: Sat, 11 Jun 2022 17:51:16 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
<uW8pK.122017$5fVf.86604@fx09.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <uW8pK.122017$5fVf.86604@fx09.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
Lines: 244
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-XGeiicSFHY0/IjnDCEGkVY1N8Ra7GCrY5gUTmKkbRyBL3C/yxcB03mWl3AEb585SKz+k5msrYybZrd2!Czp2KvFGLfbjxe3O+jsiD/jvDQmKIkWigUdd3e416Vo/BcgQ48cF3b401/gc4R2gt0sEh48mgMcR
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: 12667
 by: olcott - Sat, 11 Jun 2022 22:51 UTC

On 6/11/2022 5:45 PM, Richard Damon wrote:
> On 6/11/22 6:30 PM, olcott wrote:
>> On 6/11/2022 5:22 PM, Richard Damon wrote:
>>> On 6/11/22 6:08 PM, olcott wrote:
>>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>>
>>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>>
>>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>>> Nope. A pure function always returns the same value for
>>>>>>>>>>>>>>> the same inputs:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>     Perhaps someone will explain why they are so bothered
>>>>>>>>>>>>>> about "pure"
>>>>>>>>>>>>>> functions?  These bear no interesting relation to what a
>>>>>>>>>>>>>> TM could do, not
>>>>>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>>>>>> compiling [eg] C
>>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make
>>>>>>>>>>>>>> [illicit] use of the
>>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>>
>>>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>>>> theoretical
>>>>>>>>>>>>> point of view, but PO has ditched all notions of a formal
>>>>>>>>>>>>> model of
>>>>>>>>>>>>> computation, and since he is only interesting in getting
>>>>>>>>>>>>> one case
>>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>>
>>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>>    {
>>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>>>>>>> *)H_Hat > 36;
>>>>>>>>>>>>>    }
>>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>>    {
>>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>>    }
>>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>>    {
>>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>>    }
>>>>>>>>>>>>>
>>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>>
>>>>>>>>>>>>> My guess is that it is trickery like this that makes people
>>>>>>>>>>>>> worry about
>>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>>
>>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat)
>>>>>>>>>>>>> == 1 and
>>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>>>>>> thought of
>>>>>>>>>>>>> doing this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm not worried about pure functions because PO is told use
>>>>>>>>>>>>> that
>>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so he's
>>>>>>>>>>>>> wrong by
>>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>>
>>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>>>>>>> computing the mapping from the actual input to its own
>>>>>>>>>>>> accept or reject state on the basis of the actual behavior
>>>>>>>>>>>> of the input H(P,)==0 is correct.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>>> Liar !
>>>>>>>>>>
>>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>>> and the actual behavior of this actual input is its correct
>>>>>>>>>> x86 emulation by H.
>>>>>>>>>
>>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like
>>>>>>>>> the program it is the code of.
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>>> different than its machine code specifies is a psychotic break
>>>>>>>>>> from realty.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Right, the machine code specifies the exact same program as P,
>>>>>>>>> and THUS its emulation must match that, RIGHT?
>>>>>>>>>
>>>>>>>>> YOU are the one saying that the emulation of the input to H,
>>>>>>>>> which is the EXACT x86 code of P, somehow behaves differently
>>>>>>>>> than the direct execution of P.
>>>>>>>>>
>>>>>>>>> HOW?
>>>>>>>>
>>>>>>>> The HOW is beyond the intellectual capacity or everyone here so
>>>>>>>> I simply prove that it <is> different as a verified fact. Once
>>>>>>>> we know that it <is> different we don't really need to know HOW
>>>>>>>> and WHY it is different.
>>>>>>>
>>>>>>> Nope, but seems above your ability to try to come up with a lie
>>>>>>> to explain.
>>>>>>>
>>>>>>> The fact that it is definitionally impossible is part of your
>>>>>>> problem.
>>>>>>>
>>>>>>>>
>>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>>
>>>>>>>
>>>>>>> But WHY?
>>>>>>>
>>>>>>>> Proving that P(P) != the correct x86 emulation of the input to
>>>>>>>> H(P,P)
>>>>>>>>
>>>>>>>> void P(u32 x)
>>>>>>>> {
>>>>>>>>    if (H(x, x))
>>>>>>>>      HERE: goto HERE;
>>>>>>>>    return;
>>>>>>>> }
>>>>>>>>
>>>>>>>> int main()
>>>>>>>> {
>>>>>>>>    P(P);
>>>>>>>> }
>>>>>>>>
>>>>>>>> _P()
>>>>>>>> [000012e7](01)  55              push ebp
>>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>>> [000012ed](01)  50              push eax
>>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>> [000012f1](01)  51              push ecx
>>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>>> [00001301](01)  c3              ret
>>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>>
>>>>>>>> _main()
>>>>>>>> [00001307](01)  55              push ebp
>>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>>> [0000131a](01)  c3              ret
>>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>>
>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>   address   address   data      code       language
>>>>>>>>   ========  ========  ========  =========  =============
>>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>>>>>> [000012e7][00102184][00102190] 55         push ebp      // enter
>>>>>>>> executed P
>>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>>>>>
>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>>>> at:212244
>>>>>>>> [000012e7][00212230][00212234] 55          push ebp      //
>>>>>>>> enter emulated P
>>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>>>>>>
>>>>>>> So by WHAT x86 reference manual does a call 00001177 instruction
>>>>>>> go to 000012e7?
>>>>>>>
>>>>>>
>>>>>> My pure function of its inputs version never invokes H from P thus
>>>>>> there is no execution trace of H to show. As soon as H sees P call
>>>>>> itself with its same arguments and P reaches this point in its
>>>>>> execution trace unconditionally H aborts the x86 emulation of P.
>>>>>>
>>>>>
>>>>> ???? Is this NOT showing a trace with your pure function version,
>>>>> if not, what it this, and why>
>>>>>
>>>>
>>>> I haven't written it yet.
>>>>
>>>>> The above program has main calling P calling H(P,P), and that needs
>>>>> to be the actual same H(P,P) as when you call H(P,P) directlu.
>>>>>
>>>>
>>>> The execution of P(P) and the correct x86 emulation of the input to
>>>> H(P,P) use the exact same finite string byte sequence at the exact
>>>> same machine address.
>>>
>>> Right, and even YOU have shown that a correct and complete emulation
>>> of that code acutally does Halt if H(P,P) returns 0.
>>>
>> I don't know why you keep repeating that a dead process continues to
>> execute after it has been killed you must be nuts.
>>
>
> Because Halting is about the Actual Turing Machine, and you can't kill it.
>
> The ONLY simulation that can be used to directly show non-halting, is a
> simulation that never aborts.


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<n59pK.122018$5fVf.110874@fx09.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9354&group=comp.ai.philosophy#9354

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx09.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: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
<uW8pK.122017$5fVf.86604@fx09.iad>
<_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 257
Message-ID: <n59pK.122018$5fVf.110874@fx09.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 18:57:22 -0400
X-Received-Bytes: 13374
 by: Richard Damon - Sat, 11 Jun 2022 22:57 UTC

On 6/11/22 6:51 PM, olcott wrote:
> On 6/11/2022 5:45 PM, Richard Damon wrote:
>> On 6/11/22 6:30 PM, olcott wrote:
>>> On 6/11/2022 5:22 PM, Richard Damon wrote:
>>>> On 6/11/22 6:08 PM, olcott wrote:
>>>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>>>
>>>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>>>
>>>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>>>> Nope. A pure function always returns the same value for
>>>>>>>>>>>>>>>> the same inputs:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     Perhaps someone will explain why they are so bothered
>>>>>>>>>>>>>>> about "pure"
>>>>>>>>>>>>>>> functions?  These bear no interesting relation to what a
>>>>>>>>>>>>>>> TM could do, not
>>>>>>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>>>>>>> compiling [eg] C
>>>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make
>>>>>>>>>>>>>>> [illicit] use of the
>>>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>>>>> theoretical
>>>>>>>>>>>>>> point of view, but PO has ditched all notions of a formal
>>>>>>>>>>>>>> model of
>>>>>>>>>>>>>> computation, and since he is only interesting in getting
>>>>>>>>>>>>>> one case
>>>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>>>         return (char *)__builtin_return_address(0) - (char
>>>>>>>>>>>>>> *)H_Hat > 36;
>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is correctly
>>>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> My guess is that it is trickery like this that makes
>>>>>>>>>>>>>> people worry about
>>>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat)
>>>>>>>>>>>>>> == 1 and
>>>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>>>>>>> thought of
>>>>>>>>>>>>>> doing this.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm not worried about pure functions because PO is told
>>>>>>>>>>>>>> use that
>>>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so
>>>>>>>>>>>>>> he's wrong by
>>>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based on
>>>>>>>>>>>>> computing the mapping from the actual input to its own
>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior
>>>>>>>>>>>>> of the input H(P,)==0 is correct.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>>>> Liar !
>>>>>>>>>>>
>>>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>>>> and the actual behavior of this actual input is its correct
>>>>>>>>>>> x86 emulation by H.
>>>>>>>>>>
>>>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like
>>>>>>>>>> the program it is the code of.
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>>>> different than its machine code specifies is a psychotic
>>>>>>>>>>> break from realty.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Right, the machine code specifies the exact same program as P,
>>>>>>>>>> and THUS its emulation must match that, RIGHT?
>>>>>>>>>>
>>>>>>>>>> YOU are the one saying that the emulation of the input to H,
>>>>>>>>>> which is the EXACT x86 code of P, somehow behaves differently
>>>>>>>>>> than the direct execution of P.
>>>>>>>>>>
>>>>>>>>>> HOW?
>>>>>>>>>
>>>>>>>>> The HOW is beyond the intellectual capacity or everyone here so
>>>>>>>>> I simply prove that it <is> different as a verified fact. Once
>>>>>>>>> we know that it <is> different we don't really need to know HOW
>>>>>>>>> and WHY it is different.
>>>>>>>>
>>>>>>>> Nope, but seems above your ability to try to come up with a lie
>>>>>>>> to explain.
>>>>>>>>
>>>>>>>> The fact that it is definitionally impossible is part of your
>>>>>>>> problem.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>>>
>>>>>>>>
>>>>>>>> But WHY?
>>>>>>>>
>>>>>>>>> Proving that P(P) != the correct x86 emulation of the input to
>>>>>>>>> H(P,P)
>>>>>>>>>
>>>>>>>>> void P(u32 x)
>>>>>>>>> {
>>>>>>>>>    if (H(x, x))
>>>>>>>>>      HERE: goto HERE;
>>>>>>>>>    return;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> int main()
>>>>>>>>> {
>>>>>>>>>    P(P);
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> _P()
>>>>>>>>> [000012e7](01)  55              push ebp
>>>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>> [000012ed](01)  50              push eax
>>>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>> [000012f1](01)  51              push ecx
>>>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>>>> [00001301](01)  c3              ret
>>>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>>>
>>>>>>>>> _main()
>>>>>>>>> [00001307](01)  55              push ebp
>>>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>>>> [0000131a](01)  c3              ret
>>>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>>>
>>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>>   address   address   data      code       language
>>>>>>>>>   ========  ========  ========  =========  =============
>>>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>>>>>>> [000012e7][00102184][00102190] 55         push ebp      //
>>>>>>>>> enter executed P
>>>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>>>>>>
>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>>>>> at:212244
>>>>>>>>> [000012e7][00212230][00212234] 55          push ebp      //
>>>>>>>>> enter emulated P
>>>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      // push P
>>>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      // push P
>>>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 // call H
>>>>>>>>
>>>>>>>> So by WHAT x86 reference manual does a call 00001177 instruction
>>>>>>>> go to 000012e7?
>>>>>>>>
>>>>>>>
>>>>>>> My pure function of its inputs version never invokes H from P
>>>>>>> thus there is no execution trace of H to show. As soon as H sees
>>>>>>> P call itself with its same arguments and P reaches this point in
>>>>>>> its execution trace unconditionally H aborts the x86 emulation of P.
>>>>>>>
>>>>>>
>>>>>> ???? Is this NOT showing a trace with your pure function version,
>>>>>> if not, what it this, and why>
>>>>>>
>>>>>
>>>>> I haven't written it yet.
>>>>>
>>>>>> The above program has main calling P calling H(P,P), and that
>>>>>> needs to be the actual same H(P,P) as when you call H(P,P) directlu.
>>>>>>
>>>>>
>>>>> The execution of P(P) and the correct x86 emulation of the input to
>>>>> H(P,P) use the exact same finite string byte sequence at the exact
>>>>> same machine address.
>>>>
>>>> Right, and even YOU have shown that a correct and complete emulation
>>>> of that code acutally does Halt if H(P,P) returns 0.
>>>>
>>> I don't know why you keep repeating that a dead process continues to
>>> execute after it has been killed you must be nuts.
>>>
>>
>> Because Halting is about the Actual Turing Machine, and you can't kill
>> it.
>>
>> The ONLY simulation that can be used to directly show non-halting, is
>> a simulation that never aborts.
>
> Why do you continue in the lie that a partial simulation cannot
> correctly predict the behavior of a complete simulation?
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<vsOdnUy7O8lpvDj_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9355&group=comp.ai.philosophy#9355

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
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, 11 Jun 2022 18:15:00 -0500
Date: Sat, 11 Jun 2022 18:14:59 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
<uW8pK.122017$5fVf.86604@fx09.iad>
<_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
<n59pK.122018$5fVf.110874@fx09.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <n59pK.122018$5fVf.110874@fx09.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <vsOdnUy7O8lpvDj_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 265
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-W8SFaTm9rkBscuy7nJUwk6MEaVIPE6KmEkvOME+8WxIqTHS7ddOi2EFUzZJHX6g2gRMGYIhk4xhg2Dw!5vPWpPISFZDy2pFTibQk70K50mseizHC3A7t1c3Gge7ft9nETbo/UC4pUVmtJhyCKAhkmbDWFS9Q
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: 13959
 by: olcott - Sat, 11 Jun 2022 23:14 UTC

On 6/11/2022 5:57 PM, Richard Damon wrote:
> On 6/11/22 6:51 PM, olcott wrote:
>> On 6/11/2022 5:45 PM, Richard Damon wrote:
>>> On 6/11/22 6:30 PM, olcott wrote:
>>>> On 6/11/2022 5:22 PM, Richard Damon wrote:
>>>>> On 6/11/22 6:08 PM, olcott wrote:
>>>>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>>>>
>>>>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>>>>> Nope. A pure function always returns the same value for
>>>>>>>>>>>>>>>>> the same inputs:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>     Perhaps someone will explain why they are so
>>>>>>>>>>>>>>>> bothered about "pure"
>>>>>>>>>>>>>>>> functions?  These bear no interesting relation to what a
>>>>>>>>>>>>>>>> TM could do, not
>>>>>>>>>>>>>>>> least because it is perfectly straightforward to imagine
>>>>>>>>>>>>>>>> compiling [eg] C
>>>>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make
>>>>>>>>>>>>>>>> [illicit] use of the
>>>>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>>>>>> theoretical
>>>>>>>>>>>>>>> point of view, but PO has ditched all notions of a formal
>>>>>>>>>>>>>>> model of
>>>>>>>>>>>>>>> computation, and since he is only interesting in getting
>>>>>>>>>>>>>>> one case
>>>>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>>>>         return (char *)__builtin_return_address(0) -
>>>>>>>>>>>>>>> (char *)H_Hat > 36;
>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is
>>>>>>>>>>>>>>> correctly
>>>>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> My guess is that it is trickery like this that makes
>>>>>>>>>>>>>>> people worry about
>>>>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat, H_Hat)
>>>>>>>>>>>>>>> == 1 and
>>>>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he ever
>>>>>>>>>>>>>>> thought of
>>>>>>>>>>>>>>> doing this.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm not worried about pure functions because PO is told
>>>>>>>>>>>>>>> use that
>>>>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so
>>>>>>>>>>>>>>> he's wrong by
>>>>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based
>>>>>>>>>>>>>> on computing the mapping from the actual input to its own
>>>>>>>>>>>>>> accept or reject state on the basis of the actual behavior
>>>>>>>>>>>>>> of the input H(P,)==0 is correct.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>>>>> Liar !
>>>>>>>>>>>>
>>>>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>>>>> and the actual behavior of this actual input is its correct
>>>>>>>>>>>> x86 emulation by H.
>>>>>>>>>>>
>>>>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly like
>>>>>>>>>>> the program it is the code of.
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>>>>> different than its machine code specifies is a psychotic
>>>>>>>>>>>> break from realty.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Right, the machine code specifies the exact same program as
>>>>>>>>>>> P, and THUS its emulation must match that, RIGHT?
>>>>>>>>>>>
>>>>>>>>>>> YOU are the one saying that the emulation of the input to H,
>>>>>>>>>>> which is the EXACT x86 code of P, somehow behaves differently
>>>>>>>>>>> than the direct execution of P.
>>>>>>>>>>>
>>>>>>>>>>> HOW?
>>>>>>>>>>
>>>>>>>>>> The HOW is beyond the intellectual capacity or everyone here
>>>>>>>>>> so I simply prove that it <is> different as a verified fact.
>>>>>>>>>> Once we know that it <is> different we don't really need to
>>>>>>>>>> know HOW and WHY it is different.
>>>>>>>>>
>>>>>>>>> Nope, but seems above your ability to try to come up with a lie
>>>>>>>>> to explain.
>>>>>>>>>
>>>>>>>>> The fact that it is definitionally impossible is part of your
>>>>>>>>> problem.
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> But WHY?
>>>>>>>>>
>>>>>>>>>> Proving that P(P) != the correct x86 emulation of the input to
>>>>>>>>>> H(P,P)
>>>>>>>>>>
>>>>>>>>>> void P(u32 x)
>>>>>>>>>> {
>>>>>>>>>>    if (H(x, x))
>>>>>>>>>>      HERE: goto HERE;
>>>>>>>>>>    return;
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> int main()
>>>>>>>>>> {
>>>>>>>>>>    P(P);
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> _P()
>>>>>>>>>> [000012e7](01)  55              push ebp
>>>>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>>> [000012ed](01)  50              push eax
>>>>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>>> [000012f1](01)  51              push ecx
>>>>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>>>>> [00001301](01)  c3              ret
>>>>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>>>>
>>>>>>>>>> _main()
>>>>>>>>>> [00001307](01)  55              push ebp
>>>>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>>>>> [0000131a](01)  c3              ret
>>>>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>>>>
>>>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>>>   address   address   data      code       language
>>>>>>>>>>   ========  ========  ========  =========  =============
>>>>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 // push P
>>>>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 // call P
>>>>>>>>>> [000012e7][00102184][00102190] 55         push ebp      //
>>>>>>>>>> enter executed P
>>>>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>>>>> [000012ed][00102180][000012e7] 50         push eax      // push P
>>>>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      // push P
>>>>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 // call H
>>>>>>>>>>
>>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>>>>>> at:212244
>>>>>>>>>> [000012e7][00212230][00212234] 55          push ebp      //
>>>>>>>>>> enter emulated P
>>>>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      //
>>>>>>>>>> push P
>>>>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      //
>>>>>>>>>> push P
>>>>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 //
>>>>>>>>>> call H
>>>>>>>>>
>>>>>>>>> So by WHAT x86 reference manual does a call 00001177
>>>>>>>>> instruction go to 000012e7?
>>>>>>>>>
>>>>>>>>
>>>>>>>> My pure function of its inputs version never invokes H from P
>>>>>>>> thus there is no execution trace of H to show. As soon as H sees
>>>>>>>> P call itself with its same arguments and P reaches this point
>>>>>>>> in its execution trace unconditionally H aborts the x86
>>>>>>>> emulation of P.
>>>>>>>>
>>>>>>>
>>>>>>> ???? Is this NOT showing a trace with your pure function version,
>>>>>>> if not, what it this, and why>
>>>>>>>
>>>>>>
>>>>>> I haven't written it yet.
>>>>>>
>>>>>>> The above program has main calling P calling H(P,P), and that
>>>>>>> needs to be the actual same H(P,P) as when you call H(P,P) directlu.
>>>>>>>
>>>>>>
>>>>>> The execution of P(P) and the correct x86 emulation of the input
>>>>>> to H(P,P) use the exact same finite string byte sequence at the
>>>>>> exact same machine address.
>>>>>
>>>>> Right, and even YOU have shown that a correct and complete
>>>>> emulation of that code acutally does Halt if H(P,P) returns 0.
>>>>>
>>>> I don't know why you keep repeating that a dead process continues to
>>>> execute after it has been killed you must be nuts.
>>>>
>>>
>>> Because Halting is about the Actual Turing Machine, and you can't
>>> kill it.
>>>
>>> The ONLY simulation that can be used to directly show non-halting, is
>>> a simulation that never aborts.
>>
>> Why do you continue in the lie that a partial simulation cannot
>> correctly predict the behavior of a complete simulation?
>>
>
> It may be possible to use the data in a partial simulation to actually
> make a proof of non-halting, but the fact that a partial simulation
> doesn't reach a final state does not itself prove the non-halting.
>
> You can prove "Infinite_Loop" doesn't halt, because there is a pattern
> that actually can be used to prove that fact.
You still have not explained why you insist that the correctly simulated
input to H(P,P) reaches its final state after its simulation has been
aborted.


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<Pt9pK.138623$vAW9.5476@fx10.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9356&group=comp.ai.philosophy#9356

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx10.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
<uW8pK.122017$5fVf.86604@fx09.iad>
<_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
<n59pK.122018$5fVf.110874@fx09.iad>
<vsOdnUy7O8lpvDj_nZ2dnUU7_83NnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <vsOdnUy7O8lpvDj_nZ2dnUU7_83NnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 281
Message-ID: <Pt9pK.138623$vAW9.5476@fx10.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 19:23:27 -0400
X-Received-Bytes: 14366
 by: Richard Damon - Sat, 11 Jun 2022 23:23 UTC

On 6/11/22 7:14 PM, olcott wrote:
> On 6/11/2022 5:57 PM, Richard Damon wrote:
>> On 6/11/22 6:51 PM, olcott wrote:
>>> On 6/11/2022 5:45 PM, Richard Damon wrote:
>>>> On 6/11/22 6:30 PM, olcott wrote:
>>>>> On 6/11/2022 5:22 PM, Richard Damon wrote:
>>>>>> On 6/11/22 6:08 PM, olcott wrote:
>>>>>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>>>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>>>>>
>>>>>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>> Nope. A pure function always returns the same value
>>>>>>>>>>>>>>>>>> for the same inputs:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     Perhaps someone will explain why they are so
>>>>>>>>>>>>>>>>> bothered about "pure"
>>>>>>>>>>>>>>>>> functions?  These bear no interesting relation to what
>>>>>>>>>>>>>>>>> a TM could do, not
>>>>>>>>>>>>>>>>> least because it is perfectly straightforward to
>>>>>>>>>>>>>>>>> imagine compiling [eg] C
>>>>>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make
>>>>>>>>>>>>>>>>> [illicit] use of the
>>>>>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>>>>>>> theoretical
>>>>>>>>>>>>>>>> point of view, but PO has ditched all notions of a
>>>>>>>>>>>>>>>> formal model of
>>>>>>>>>>>>>>>> computation, and since he is only interesting in getting
>>>>>>>>>>>>>>>> one case
>>>>>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>>>>>         return (char *)__builtin_return_address(0) -
>>>>>>>>>>>>>>>> (char *)H_Hat > 36;
>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is
>>>>>>>>>>>>>>>> correctly
>>>>>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> My guess is that it is trickery like this that makes
>>>>>>>>>>>>>>>> people worry about
>>>>>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat,
>>>>>>>>>>>>>>>> H_Hat) == 1 and
>>>>>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he
>>>>>>>>>>>>>>>> ever thought of
>>>>>>>>>>>>>>>> doing this.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm not worried about pure functions because PO is told
>>>>>>>>>>>>>>>> use that
>>>>>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so
>>>>>>>>>>>>>>>> he's wrong by
>>>>>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based
>>>>>>>>>>>>>>> on computing the mapping from the actual input to its own
>>>>>>>>>>>>>>> accept or reject state on the basis of the actual
>>>>>>>>>>>>>>> behavior of the input H(P,)==0 is correct.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>>>>>> Liar !
>>>>>>>>>>>>>
>>>>>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>>>>>> and the actual behavior of this actual input is its correct
>>>>>>>>>>>>> x86 emulation by H.
>>>>>>>>>>>>
>>>>>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly
>>>>>>>>>>>> like the program it is the code of.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>>>>>> different than its machine code specifies is a psychotic
>>>>>>>>>>>>> break from realty.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Right, the machine code specifies the exact same program as
>>>>>>>>>>>> P, and THUS its emulation must match that, RIGHT?
>>>>>>>>>>>>
>>>>>>>>>>>> YOU are the one saying that the emulation of the input to H,
>>>>>>>>>>>> which is the EXACT x86 code of P, somehow behaves
>>>>>>>>>>>> differently than the direct execution of P.
>>>>>>>>>>>>
>>>>>>>>>>>> HOW?
>>>>>>>>>>>
>>>>>>>>>>> The HOW is beyond the intellectual capacity or everyone here
>>>>>>>>>>> so I simply prove that it <is> different as a verified fact.
>>>>>>>>>>> Once we know that it <is> different we don't really need to
>>>>>>>>>>> know HOW and WHY it is different.
>>>>>>>>>>
>>>>>>>>>> Nope, but seems above your ability to try to come up with a
>>>>>>>>>> lie to explain.
>>>>>>>>>>
>>>>>>>>>> The fact that it is definitionally impossible is part of your
>>>>>>>>>> problem.
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> But WHY?
>>>>>>>>>>
>>>>>>>>>>> Proving that P(P) != the correct x86 emulation of the input
>>>>>>>>>>> to H(P,P)
>>>>>>>>>>>
>>>>>>>>>>> void P(u32 x)
>>>>>>>>>>> {
>>>>>>>>>>>    if (H(x, x))
>>>>>>>>>>>      HERE: goto HERE;
>>>>>>>>>>>    return;
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> int main()
>>>>>>>>>>> {
>>>>>>>>>>>    P(P);
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> _P()
>>>>>>>>>>> [000012e7](01)  55              push ebp
>>>>>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>>>> [000012ed](01)  50              push eax
>>>>>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>>>> [000012f1](01)  51              push ecx
>>>>>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>>>>>> [00001301](01)  c3              ret
>>>>>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>>>>>
>>>>>>>>>>> _main()
>>>>>>>>>>> [00001307](01)  55              push ebp
>>>>>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>>>>>> [0000131a](01)  c3              ret
>>>>>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>>>>>
>>>>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>>>>   address   address   data      code       language
>>>>>>>>>>>   ========  ========  ========  =========  =============
>>>>>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 //
>>>>>>>>>>> push P
>>>>>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 //
>>>>>>>>>>> call P
>>>>>>>>>>> [000012e7][00102184][00102190] 55         push ebp      //
>>>>>>>>>>> enter executed P
>>>>>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>>>>>> [000012ed][00102180][000012e7] 50         push eax      //
>>>>>>>>>>> push P
>>>>>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      //
>>>>>>>>>>> push P
>>>>>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 //
>>>>>>>>>>> call H
>>>>>>>>>>>
>>>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>>>>>>> at:212244
>>>>>>>>>>> [000012e7][00212230][00212234] 55          push ebp      //
>>>>>>>>>>> enter emulated P
>>>>>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      //
>>>>>>>>>>> push P
>>>>>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      //
>>>>>>>>>>> push P
>>>>>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 //
>>>>>>>>>>> call H
>>>>>>>>>>
>>>>>>>>>> So by WHAT x86 reference manual does a call 00001177
>>>>>>>>>> instruction go to 000012e7?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> My pure function of its inputs version never invokes H from P
>>>>>>>>> thus there is no execution trace of H to show. As soon as H
>>>>>>>>> sees P call itself with its same arguments and P reaches this
>>>>>>>>> point in its execution trace unconditionally H aborts the x86
>>>>>>>>> emulation of P.
>>>>>>>>>
>>>>>>>>
>>>>>>>> ???? Is this NOT showing a trace with your pure function
>>>>>>>> version, if not, what it this, and why>
>>>>>>>>
>>>>>>>
>>>>>>> I haven't written it yet.
>>>>>>>
>>>>>>>> The above program has main calling P calling H(P,P), and that
>>>>>>>> needs to be the actual same H(P,P) as when you call H(P,P)
>>>>>>>> directlu.
>>>>>>>>
>>>>>>>
>>>>>>> The execution of P(P) and the correct x86 emulation of the input
>>>>>>> to H(P,P) use the exact same finite string byte sequence at the
>>>>>>> exact same machine address.
>>>>>>
>>>>>> Right, and even YOU have shown that a correct and complete
>>>>>> emulation of that code acutally does Halt if H(P,P) returns 0.
>>>>>>
>>>>> I don't know why you keep repeating that a dead process continues
>>>>> to execute after it has been killed you must be nuts.
>>>>>
>>>>
>>>> Because Halting is about the Actual Turing Machine, and you can't
>>>> kill it.
>>>>
>>>> The ONLY simulation that can be used to directly show non-halting,
>>>> is a simulation that never aborts.
>>>
>>> Why do you continue in the lie that a partial simulation cannot
>>> correctly predict the behavior of a complete simulation?
>>>
>>
>> It may be possible to use the data in a partial simulation to actually
>> make a proof of non-halting, but the fact that a partial simulation
>> doesn't reach a final state does not itself prove the non-halting.
>>
>> You can prove "Infinite_Loop" doesn't halt, because there is a pattern
>> that actually can be used to prove that fact.
> You still have not explained why you insist that the correctly simulated
> input to H(P,P) reaches its final state after its simulation has been
> aborted.
>
> Are you swearing your allegiance to the father of all lies?
>


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<Ge6dnXtyHObAsTj_nZ2dnUU7_83NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9357&group=comp.ai.philosophy#9357

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
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, 11 Jun 2022 18:59:25 -0500
Date: Sat, 11 Jun 2022 18:59:24 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
<uW8pK.122017$5fVf.86604@fx09.iad>
<_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
<n59pK.122018$5fVf.110874@fx09.iad>
<vsOdnUy7O8lpvDj_nZ2dnUU7_83NnZ2d@giganews.com>
<Pt9pK.138623$vAW9.5476@fx10.iad>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <Pt9pK.138623$vAW9.5476@fx10.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <Ge6dnXtyHObAsTj_nZ2dnUU7_83NnZ2d@giganews.com>
Lines: 287
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-xiAM4nKfLdlfd7Y5Ds0ykls4SUgfE2scnT7iRgUh34WLC9NZ5FDI8oFkTJMrYOF64h/QGpdbZq7/sJq!7590fybbNEqEEAC0cLgqwk6UNneD0+KxJ1oggv19aIwps7IEOtXbt90cF6JiIOQ+NLs2E8zVmVUM
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: 15207
 by: olcott - Sat, 11 Jun 2022 23:59 UTC

On 6/11/2022 6:23 PM, Richard Damon wrote:
> On 6/11/22 7:14 PM, olcott wrote:
>> On 6/11/2022 5:57 PM, Richard Damon wrote:
>>> On 6/11/22 6:51 PM, olcott wrote:
>>>> On 6/11/2022 5:45 PM, Richard Damon wrote:
>>>>> On 6/11/22 6:30 PM, olcott wrote:
>>>>>> On 6/11/2022 5:22 PM, Richard Damon wrote:
>>>>>>> On 6/11/22 6:08 PM, olcott wrote:
>>>>>>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>>>>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>>>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>> Nope. A pure function always returns the same value
>>>>>>>>>>>>>>>>>>> for the same inputs:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>     Perhaps someone will explain why they are so
>>>>>>>>>>>>>>>>>> bothered about "pure"
>>>>>>>>>>>>>>>>>> functions?  These bear no interesting relation to what
>>>>>>>>>>>>>>>>>> a TM could do, not
>>>>>>>>>>>>>>>>>> least because it is perfectly straightforward to
>>>>>>>>>>>>>>>>>> imagine compiling [eg] C
>>>>>>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make
>>>>>>>>>>>>>>>>>> [illicit] use of the
>>>>>>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> There's nothing interesting about pure functions from a
>>>>>>>>>>>>>>>>> theoretical
>>>>>>>>>>>>>>>>> point of view, but PO has ditched all notions of a
>>>>>>>>>>>>>>>>> formal model of
>>>>>>>>>>>>>>>>> computation, and since he is only interesting in
>>>>>>>>>>>>>>>>> getting one case
>>>>>>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>>>>>>         return (char *)__builtin_return_address(0) -
>>>>>>>>>>>>>>>>> (char *)H_Hat > 36;
>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is
>>>>>>>>>>>>>>>>> correctly
>>>>>>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> My guess is that it is trickery like this that makes
>>>>>>>>>>>>>>>>> people worry about
>>>>>>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat,
>>>>>>>>>>>>>>>>> H_Hat) == 1 and
>>>>>>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he
>>>>>>>>>>>>>>>>> ever thought of
>>>>>>>>>>>>>>>>> doing this.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I'm not worried about pure functions because PO is told
>>>>>>>>>>>>>>>>> use that
>>>>>>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so
>>>>>>>>>>>>>>>>> he's wrong by
>>>>>>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly based
>>>>>>>>>>>>>>>> on computing the mapping from the actual input to its
>>>>>>>>>>>>>>>> own accept or reject state on the basis of the actual
>>>>>>>>>>>>>>>> behavior of the input H(P,)==0 is correct.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>>>>>>> Liar !
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>>>>>>> and the actual behavior of this actual input is its
>>>>>>>>>>>>>> correct x86 emulation by H.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly
>>>>>>>>>>>>> like the program it is the code of.
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>>>>>>> different than its machine code specifies is a psychotic
>>>>>>>>>>>>>> break from realty.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Right, the machine code specifies the exact same program as
>>>>>>>>>>>>> P, and THUS its emulation must match that, RIGHT?
>>>>>>>>>>>>>
>>>>>>>>>>>>> YOU are the one saying that the emulation of the input to
>>>>>>>>>>>>> H, which is the EXACT x86 code of P, somehow behaves
>>>>>>>>>>>>> differently than the direct execution of P.
>>>>>>>>>>>>>
>>>>>>>>>>>>> HOW?
>>>>>>>>>>>>
>>>>>>>>>>>> The HOW is beyond the intellectual capacity or everyone here
>>>>>>>>>>>> so I simply prove that it <is> different as a verified fact.
>>>>>>>>>>>> Once we know that it <is> different we don't really need to
>>>>>>>>>>>> know HOW and WHY it is different.
>>>>>>>>>>>
>>>>>>>>>>> Nope, but seems above your ability to try to come up with a
>>>>>>>>>>> lie to explain.
>>>>>>>>>>>
>>>>>>>>>>> The fact that it is definitionally impossible is part of your
>>>>>>>>>>> problem.
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> But WHY?
>>>>>>>>>>>
>>>>>>>>>>>> Proving that P(P) != the correct x86 emulation of the input
>>>>>>>>>>>> to H(P,P)
>>>>>>>>>>>>
>>>>>>>>>>>> void P(u32 x)
>>>>>>>>>>>> {
>>>>>>>>>>>>    if (H(x, x))
>>>>>>>>>>>>      HERE: goto HERE;
>>>>>>>>>>>>    return;
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> int main()
>>>>>>>>>>>> {
>>>>>>>>>>>>    P(P);
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> _P()
>>>>>>>>>>>> [000012e7](01)  55              push ebp
>>>>>>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>>>>> [000012ed](01)  50              push eax
>>>>>>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>>>>> [000012f1](01)  51              push ecx
>>>>>>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>>>>>>> [00001301](01)  c3              ret
>>>>>>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>>>>>>
>>>>>>>>>>>> _main()
>>>>>>>>>>>> [00001307](01)  55              push ebp
>>>>>>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>>>>>>> [0000131a](01)  c3              ret
>>>>>>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>>>>>>
>>>>>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>>>>>   address   address   data      code       language
>>>>>>>>>>>>   ========  ========  ========  =========  =============
>>>>>>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 //
>>>>>>>>>>>> push P
>>>>>>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 //
>>>>>>>>>>>> call P
>>>>>>>>>>>> [000012e7][00102184][00102190] 55         push ebp      //
>>>>>>>>>>>> enter executed P
>>>>>>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>>>>>>> [000012ed][00102180][000012e7] 50         push eax      //
>>>>>>>>>>>> push P
>>>>>>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      //
>>>>>>>>>>>> push P
>>>>>>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 //
>>>>>>>>>>>> call H
>>>>>>>>>>>>
>>>>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored
>>>>>>>>>>>> at:212244
>>>>>>>>>>>> [000012e7][00212230][00212234] 55          push ebp      //
>>>>>>>>>>>> enter emulated P
>>>>>>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      //
>>>>>>>>>>>> push P
>>>>>>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      //
>>>>>>>>>>>> push P
>>>>>>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 //
>>>>>>>>>>>> call H
>>>>>>>>>>>
>>>>>>>>>>> So by WHAT x86 reference manual does a call 00001177
>>>>>>>>>>> instruction go to 000012e7?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> My pure function of its inputs version never invokes H from P
>>>>>>>>>> thus there is no execution trace of H to show. As soon as H
>>>>>>>>>> sees P call itself with its same arguments and P reaches this
>>>>>>>>>> point in its execution trace unconditionally H aborts the x86
>>>>>>>>>> emulation of P.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ???? Is this NOT showing a trace with your pure function
>>>>>>>>> version, if not, what it this, and why>
>>>>>>>>>
>>>>>>>>
>>>>>>>> I haven't written it yet.
>>>>>>>>
>>>>>>>>> The above program has main calling P calling H(P,P), and that
>>>>>>>>> needs to be the actual same H(P,P) as when you call H(P,P)
>>>>>>>>> directlu.
>>>>>>>>>
>>>>>>>>
>>>>>>>> The execution of P(P) and the correct x86 emulation of the input
>>>>>>>> to H(P,P) use the exact same finite string byte sequence at the
>>>>>>>> exact same machine address.
>>>>>>>
>>>>>>> Right, and even YOU have shown that a correct and complete
>>>>>>> emulation of that code acutally does Halt if H(P,P) returns 0.
>>>>>>>
>>>>>> I don't know why you keep repeating that a dead process continues
>>>>>> to execute after it has been killed you must be nuts.
>>>>>>
>>>>>
>>>>> Because Halting is about the Actual Turing Machine, and you can't
>>>>> kill it.
>>>>>
>>>>> The ONLY simulation that can be used to directly show non-halting,
>>>>> is a simulation that never aborts.
>>>>
>>>> Why do you continue in the lie that a partial simulation cannot
>>>> correctly predict the behavior of a complete simulation?
>>>>
>>>
>>> It may be possible to use the data in a partial simulation to
>>> actually make a proof of non-halting, but the fact that a partial
>>> simulation doesn't reach a final state does not itself prove the
>>> non-halting.
>>>
>>> You can prove "Infinite_Loop" doesn't halt, because there is a
>>> pattern that actually can be used to prove that fact.
>> You still have not explained why you insist that the correctly
>> simulated input to H(P,P) reaches its final state after its simulation
>> has been aborted.
>>
>> Are you swearing your allegiance to the father of all lies?
>>
>
> Because you are apparently too stupid to understand that it isn't the
> aborted simulaton that matters, but what the actual machine, which you
> CAN'T abort does.


Click here to read the complete article
Re: H(P,P) as a pure function of its inputs is easy [ psychotic break from realty ]

<rhapK.122040$5fVf.99071@fx09.iad>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=9358&group=comp.ai.philosophy#9358

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.math sci.logic
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!3.us.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx09.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: H(P,P) as a pure function of its inputs is easy [ psychotic break
from realty ]
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.math,sci.logic
References: <dZKdnR5dFsS2vzn_nZ2dnUU7_81g4p2d@giganews.com>
<20220611130306.00000bac@reddwarf.jmc>
<ZKCdnd0NxaW_NTn_nZ2dnUU7_83NnZ2d@giganews.com>
<20220611154032.000067d5@reddwarf.jmc> <t82ov5$191p$1@gioia.aioe.org>
<87sfobnepf.fsf@bsb.me.uk> <RdWdnQq-YvgQZDn_nZ2dnUU7_8zNnZ2d@giganews.com>
<zZ6pK.155799$JVi.136381@fx17.iad>
<C-idnXDf9-HVnDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<ow7pK.67434$ssF.45877@fx14.iad>
<0oOdnbAtWJoBmjj_nZ2dnUU7_8zNnZ2d@giganews.com>
<pT7pK.67518$X_i.60149@fx18.iad>
<waKdnX644r7JkDj_nZ2dnUU7_8zNnZ2d@giganews.com>
<Ad8pK.67519$X_i.22954@fx18.iad>
<IsOdncHuwqHqjzj_nZ2dnUU7_8zNnZ2d@giganews.com>
<yA8pK.42789$KWh.32458@fx02.iad>
<69-dnTAIz9M9ijj_nZ2dnUU7_81g4p2d@giganews.com>
<uW8pK.122017$5fVf.86604@fx09.iad>
<_oudnRiv2fL5gTj_nZ2dnUU7_8xh4p2d@giganews.com>
<n59pK.122018$5fVf.110874@fx09.iad>
<vsOdnUy7O8lpvDj_nZ2dnUU7_83NnZ2d@giganews.com>
<Pt9pK.138623$vAW9.5476@fx10.iad>
<Ge6dnXtyHObAsTj_nZ2dnUU7_83NnZ2d@giganews.com>
From: Rich...@Damon-Family.org (Richard Damon)
In-Reply-To: <Ge6dnXtyHObAsTj_nZ2dnUU7_83NnZ2d@giganews.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 311
Message-ID: <rhapK.122040$5fVf.99071@fx09.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Sat, 11 Jun 2022 20:18:31 -0400
X-Received-Bytes: 16553
 by: Richard Damon - Sun, 12 Jun 2022 00:18 UTC

On 6/11/22 7:59 PM, olcott wrote:
> On 6/11/2022 6:23 PM, Richard Damon wrote:
>> On 6/11/22 7:14 PM, olcott wrote:
>>> On 6/11/2022 5:57 PM, Richard Damon wrote:
>>>> On 6/11/22 6:51 PM, olcott wrote:
>>>>> On 6/11/2022 5:45 PM, Richard Damon wrote:
>>>>>> On 6/11/22 6:30 PM, olcott wrote:
>>>>>>> On 6/11/2022 5:22 PM, Richard Damon wrote:
>>>>>>>> On 6/11/22 6:08 PM, olcott wrote:
>>>>>>>>> On 6/11/2022 4:57 PM, Richard Damon wrote:
>>>>>>>>>> On 6/11/22 5:46 PM, olcott wrote:
>>>>>>>>>>> On 6/11/2022 4:34 PM, Richard Damon wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> On 6/11/22 5:22 PM, olcott wrote:
>>>>>>>>>>>>> On 6/11/2022 4:09 PM, Richard Damon wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 6/11/22 4:55 PM, olcott wrote:
>>>>>>>>>>>>>>> On 6/11/2022 3:32 PM, Richard Damon wrote:
>>>>>>>>>>>>>>>> On 6/11/22 4:22 PM, olcott wrote:
>>>>>>>>>>>>>>>>> On 6/11/2022 3:10 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>>>>>>> Andy Walker <anw@cuboid.co.uk> writes:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 11/06/2022 15:40, Mr Flibble wrote:
>>>>>>>>>>>>>>>>>>>> Nope. A pure function always returns the same value
>>>>>>>>>>>>>>>>>>>> for the same inputs:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>     Perhaps someone will explain why they are so
>>>>>>>>>>>>>>>>>>> bothered about "pure"
>>>>>>>>>>>>>>>>>>> functions?  These bear no interesting relation to
>>>>>>>>>>>>>>>>>>> what a TM could do, not
>>>>>>>>>>>>>>>>>>> least because it is perfectly straightforward to
>>>>>>>>>>>>>>>>>>> imagine compiling [eg] C
>>>>>>>>>>>>>>>>>>> code into a corresponding TM [equivalently into a
>>>>>>>>>>>>>>>>>>> representation to be
>>>>>>>>>>>>>>>>>>> "run" by some UTM] as long as the C does not make
>>>>>>>>>>>>>>>>>>> [illicit] use of the
>>>>>>>>>>>>>>>>>>> environment provided by the OS.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> There's nothing interesting about pure functions from
>>>>>>>>>>>>>>>>>> a theoretical
>>>>>>>>>>>>>>>>>> point of view, but PO has ditched all notions of a
>>>>>>>>>>>>>>>>>> formal model of
>>>>>>>>>>>>>>>>>> computation, and since he is only interesting in
>>>>>>>>>>>>>>>>>> getting one case
>>>>>>>>>>>>>>>>>> correct, he could have written:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>    #include <stdio.h>
>>>>>>>>>>>>>>>>>>    typedef void (*ptr)();
>>>>>>>>>>>>>>>>>>    int H(ptr x, ptr y)
>>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>>         void H_Hat(ptr);
>>>>>>>>>>>>>>>>>>         return (char *)__builtin_return_address(0) -
>>>>>>>>>>>>>>>>>> (char *)H_Hat > 36;
>>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>>    void H_Hat(ptr x)
>>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>>         if (H(x, x)) while (1);
>>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>>    int main(void)
>>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>>         printf("%d\n", H(H_Hat, H_Hat));
>>>>>>>>>>>>>>>>>>         H_Hat(H_Hat);
>>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> This program prints 1 (on my system) and halts because
>>>>>>>>>>>>>>>>>> H_Hat(H_Hat)
>>>>>>>>>>>>>>>>>> "halts" (i.e. returns to main) even though H_Hat is
>>>>>>>>>>>>>>>>>> correctly
>>>>>>>>>>>>>>>>>> constructed from H.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> My guess is that it is trickery like this that makes
>>>>>>>>>>>>>>>>>> people worry about
>>>>>>>>>>>>>>>>>> functions being pure.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> It would have been much simpler to defend H(H_Hat,
>>>>>>>>>>>>>>>>>> H_Hat) == 1 and
>>>>>>>>>>>>>>>>>> H_Hat(H_Hat) than the opposite, but I don't think he
>>>>>>>>>>>>>>>>>> ever thought of
>>>>>>>>>>>>>>>>>> doing this.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm not worried about pure functions because PO is
>>>>>>>>>>>>>>>>>> told use that
>>>>>>>>>>>>>>>>>> H(H_Hat, H_Hat) == 0 even though H_Hat(H_Hat) halts so
>>>>>>>>>>>>>>>>>> he's wrong by
>>>>>>>>>>>>>>>>>> defintion based on undisputed facts.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Because it is the case that H(P,P)==0 is correctly
>>>>>>>>>>>>>>>>> based on computing the mapping from the actual input to
>>>>>>>>>>>>>>>>> its own accept or reject state on the basis of the
>>>>>>>>>>>>>>>>> actual behavior of the input H(P,)==0 is correct.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> But the ACTUAL INPUT is a representation of P(P), so its
>>>>>>>>>>>>>>>> ACTUAL BEHAVIOR is that of P(P).
>>>>>>>>>>>>>>> Liar !
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The actual input is a finite string of machine code
>>>>>>>>>>>>>>> and the actual behavior of this actual input is its
>>>>>>>>>>>>>>> correct x86 emulation by H.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Which, if it is a CORRECT x86 emulation, behaves exactly
>>>>>>>>>>>>>> like the program it is the code of.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> That you freaking simply imagine that this behavior is
>>>>>>>>>>>>>>> different than its machine code specifies is a psychotic
>>>>>>>>>>>>>>> break from realty.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Right, the machine code specifies the exact same program
>>>>>>>>>>>>>> as P, and THUS its emulation must match that, RIGHT?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> YOU are the one saying that the emulation of the input to
>>>>>>>>>>>>>> H, which is the EXACT x86 code of P, somehow behaves
>>>>>>>>>>>>>> differently than the direct execution of P.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> HOW?
>>>>>>>>>>>>>
>>>>>>>>>>>>> The HOW is beyond the intellectual capacity or everyone
>>>>>>>>>>>>> here so I simply prove that it <is> different as a verified
>>>>>>>>>>>>> fact. Once we know that it <is> different we don't really
>>>>>>>>>>>>> need to know HOW and WHY it is different.
>>>>>>>>>>>>
>>>>>>>>>>>> Nope, but seems above your ability to try to come up with a
>>>>>>>>>>>> lie to explain.
>>>>>>>>>>>>
>>>>>>>>>>>> The fact that it is definitionally impossible is part of
>>>>>>>>>>>> your problem.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> The directly executed P(P) halts the correct complete x86
>>>>>>>>>>>>> emulation of the input to H(P,P) P would never stop running.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> But WHY?
>>>>>>>>>>>>
>>>>>>>>>>>>> Proving that P(P) != the correct x86 emulation of the input
>>>>>>>>>>>>> to H(P,P)
>>>>>>>>>>>>>
>>>>>>>>>>>>> void P(u32 x)
>>>>>>>>>>>>> {
>>>>>>>>>>>>>    if (H(x, x))
>>>>>>>>>>>>>      HERE: goto HERE;
>>>>>>>>>>>>>    return;
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> int main()
>>>>>>>>>>>>> {
>>>>>>>>>>>>>    P(P);
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> _P()
>>>>>>>>>>>>> [000012e7](01)  55              push ebp
>>>>>>>>>>>>> [000012e8](02)  8bec            mov ebp,esp
>>>>>>>>>>>>> [000012ea](03)  8b4508          mov eax,[ebp+08]
>>>>>>>>>>>>> [000012ed](01)  50              push eax
>>>>>>>>>>>>> [000012ee](03)  8b4d08          mov ecx,[ebp+08]
>>>>>>>>>>>>> [000012f1](01)  51              push ecx
>>>>>>>>>>>>> [000012f2](05)  e880feffff      call 00001177 // call H
>>>>>>>>>>>>> [000012f7](03)  83c408          add esp,+08
>>>>>>>>>>>>> [000012fa](02)  85c0            test eax,eax
>>>>>>>>>>>>> [000012fc](02)  7402            jz 00001300
>>>>>>>>>>>>> [000012fe](02)  ebfe            jmp 000012fe
>>>>>>>>>>>>> [00001300](01)  5d              pop ebp
>>>>>>>>>>>>> [00001301](01)  c3              ret
>>>>>>>>>>>>> Size in bytes:(0027) [00001301]
>>>>>>>>>>>>>
>>>>>>>>>>>>> _main()
>>>>>>>>>>>>> [00001307](01)  55              push ebp
>>>>>>>>>>>>> [00001308](02)  8bec            mov ebp,esp
>>>>>>>>>>>>> [0000130a](05)  68e7120000      push 000012e7 // push P
>>>>>>>>>>>>> [0000130f](05)  e8d3ffffff      call 000012e7 // call P
>>>>>>>>>>>>> [00001314](03)  83c404          add esp,+04
>>>>>>>>>>>>> [00001317](02)  33c0            xor eax,eax
>>>>>>>>>>>>> [00001319](01)  5d              pop ebp
>>>>>>>>>>>>> [0000131a](01)  c3              ret
>>>>>>>>>>>>> Size in bytes:(0020) [0000131a]
>>>>>>>>>>>>>
>>>>>>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>>>>>>   address   address   data      code       language
>>>>>>>>>>>>>   ========  ========  ========  =========  =============
>>>>>>>>>>>>> [00001307][00102190][00000000] 55         push ebp
>>>>>>>>>>>>> [00001308][00102190][00000000] 8bec       mov ebp,esp
>>>>>>>>>>>>> [0000130a][0010218c][000012e7] 68e7120000 push 000012e7 //
>>>>>>>>>>>>> push P
>>>>>>>>>>>>> [0000130f][00102188][00001314] e8d3ffffff call 000012e7 //
>>>>>>>>>>>>> call P
>>>>>>>>>>>>> [000012e7][00102184][00102190] 55         push ebp      //
>>>>>>>>>>>>> enter executed P
>>>>>>>>>>>>> [000012e8][00102184][00102190] 8bec       mov ebp,esp
>>>>>>>>>>>>> [000012ea][00102184][00102190] 8b4508     mov eax,[ebp+08]
>>>>>>>>>>>>> [000012ed][00102180][000012e7] 50         push eax      //
>>>>>>>>>>>>> push P
>>>>>>>>>>>>> [000012ee][00102180][000012e7] 8b4d08     mov ecx,[ebp+08]
>>>>>>>>>>>>> [000012f1][0010217c][000012e7] 51         push ecx      //
>>>>>>>>>>>>> push P
>>>>>>>>>>>>> [000012f2][00102178][000012f7] e880feffff call 00001177 //
>>>>>>>>>>>>> call H
>>>>>>>>>>>>>
>>>>>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace
>>>>>>>>>>>>> Stored at:212244
>>>>>>>>>>>>> [000012e7][00212230][00212234] 55          push ebp      //
>>>>>>>>>>>>> enter emulated P
>>>>>>>>>>>>> [000012e8][00212230][00212234] 8bec        mov ebp,esp
>>>>>>>>>>>>> [000012ea][00212230][00212234] 8b4508      mov eax,[ebp+08]
>>>>>>>>>>>>> [000012ed][0021222c][000012e7] 50          push eax      //
>>>>>>>>>>>>> push P
>>>>>>>>>>>>> [000012ee][0021222c][000012e7] 8b4d08      mov ecx,[ebp+08]
>>>>>>>>>>>>> [000012f1][00212228][000012e7] 51          push ecx      //
>>>>>>>>>>>>> push P
>>>>>>>>>>>>> [000012f2][00212224][000012f7] e880feffff  call 00001177 //
>>>>>>>>>>>>> call H
>>>>>>>>>>>>
>>>>>>>>>>>> So by WHAT x86 reference manual does a call 00001177
>>>>>>>>>>>> instruction go to 000012e7?
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> My pure function of its inputs version never invokes H from P
>>>>>>>>>>> thus there is no execution trace of H to show. As soon as H
>>>>>>>>>>> sees P call itself with its same arguments and P reaches this
>>>>>>>>>>> point in its execution trace unconditionally H aborts the x86
>>>>>>>>>>> emulation of P.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ???? Is this NOT showing a trace with your pure function
>>>>>>>>>> version, if not, what it this, and why>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I haven't written it yet.
>>>>>>>>>
>>>>>>>>>> The above program has main calling P calling H(P,P), and that
>>>>>>>>>> needs to be the actual same H(P,P) as when you call H(P,P)
>>>>>>>>>> directlu.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The execution of P(P) and the correct x86 emulation of the
>>>>>>>>> input to H(P,P) use the exact same finite string byte sequence
>>>>>>>>> at the exact same machine address.
>>>>>>>>
>>>>>>>> Right, and even YOU have shown that a correct and complete
>>>>>>>> emulation of that code acutally does Halt if H(P,P) returns 0.
>>>>>>>>
>>>>>>> I don't know why you keep repeating that a dead process continues
>>>>>>> to execute after it has been killed you must be nuts.
>>>>>>>
>>>>>>
>>>>>> Because Halting is about the Actual Turing Machine, and you can't
>>>>>> kill it.
>>>>>>
>>>>>> The ONLY simulation that can be used to directly show non-halting,
>>>>>> is a simulation that never aborts.
>>>>>
>>>>> Why do you continue in the lie that a partial simulation cannot
>>>>> correctly predict the behavior of a complete simulation?
>>>>>
>>>>
>>>> It may be possible to use the data in a partial simulation to
>>>> actually make a proof of non-halting, but the fact that a partial
>>>> simulation doesn't reach a final state does not itself prove the
>>>> non-halting.
>>>>
>>>> You can prove "Infinite_Loop" doesn't halt, because there is a
>>>> pattern that actually can be used to prove that fact.
>>> You still have not explained why you insist that the correctly
>>> simulated input to H(P,P) reaches its final state after its
>>> simulation has been aborted.
>>>
>>> Are you swearing your allegiance to the father of all lies?
>>>
>>
>> Because you are apparently too stupid to understand that it isn't the
>> aborted simulaton that matters, but what the actual machine, which you
>> CAN'T abort does.
>
> I claim that the correctly simulated input to H(P,P) never reaches its
> final state and you have consistently claimed dozens of times that this
> simulated input does reach its final state when H(P,P) returns 0
> indicating that the simulated input has already been aborted.
>
> Why lie?
>
> Why do you lie? or are you really that stupid. Aborted simulations mean
NOTHING for directly demonstrating the Halting/non-halting of the
computation. Only showing the machine reaching a Final state, or running
for an unbounded number of steps show anything definite.


Click here to read the complete article
1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor