Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

The universe is an island, surrounded by whatever it is that surrounds universes.


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

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.

--
Copyright 2022 Pete Olcott

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

SubjectRepliesAuthor
o Re: H(P,P) as a pure function of its inputs is easy [ psychotic break

By: olcott on Sat, 11 Jun 2022

13olcott
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor