Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Mikko Newsgroups: comp.theory Subject: Re: Categorically exhaustive reasoning applied to the decision to abort Date: Tue, 2 Apr 2024 11:00:23 +0300 Organization: - Lines: 165 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 02 Apr 2024 08:00:23 +0200 (CEST) Injection-Info: dont-email.me; posting-host="0c3e70cc0fc5812dee77306715ec91b1"; logging-data="3254183"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+k9ZCVSX/D9kA5T5pUi5gH" User-Agent: Unison/2.2 Cancel-Lock: sha1:oIC3xSC41jW/5YCW4KYmkqqTKa0= Bytes: 8844 On 2024-04-01 14:52:57 +0000, olcott said: > On 4/1/2024 3:15 AM, Mikko wrote: >> On 2024-03-31 16:29:06 +0000, olcott said: >> >>> On 3/31/2024 11:17 AM, olcott wrote: >>>> On 3/31/2024 11:08 AM, Mikko wrote: >>>>> On 2024-03-31 14:25:37 +0000, olcott said: >>>>> >>>>>> On 3/31/2024 4:04 AM, Mikko wrote: >>>>>>> On 2024-03-30 13:45:03 +0000, olcott said: >>>>>>> >>>>>>>> On 3/30/2024 2:09 AM, Mikko wrote: >>>>>>>>> On 2024-03-29 14:26:50 +0000, olcott said: >>>>>>>>> >>>>>>>>>> On 3/29/2024 6:10 AM, Mikko wrote: >>>>>>>>>>> On 2024-03-28 15:38:08 +0000, olcott said: >>>>>>>>>>> >>>>>>>>>>>> On 3/28/2024 9:44 AM, Mikko wrote: >>>>>>>>>>>>> On 2024-03-27 14:04:17 +0000, olcott said: >>>>>>>>>>>>> >>>>>>>>>>>>>> On 3/27/2024 4:32 AM, Mikko wrote: >>>>>>>>>>>>>>> On 2024-03-26 14:41:08 +0000, olcott said: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 3/26/2024 3:50 AM, Mikko wrote: >>>>>>>>>>>>>>>>> On 2024-03-25 22:52:18 +0000, olcott said: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 3/24/2024 9:27 AM, Mikko wrote: >>>>>>>>>>>>>>>>>>> On 2024-03-24 02:11:34 +0000, olcott said: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On 3/23/2024 7:31 PM, Richard Damon wrote: >>>>>>>>>>>>>>>>>>>>> On 3/23/24 7:29 PM, olcott wrote: >>>>>>>>>>>>>>>>>>>>>> On 3/23/2024 5:58 PM, immibis wrote: >>>>>>>>>>>>>>>>>>>>>>> On 23/03/24 16:02, olcott wrote: >>>>>>>>>>>>>>>>>>>>>>>> (b) H(D,D) that DOES abort its simulation is correct >>>>>>>>>>>>>>>>>>>>>>>>      (ABOUT THIS ABORT DECISION) >>>>>>>>>>>>>>>>>>>>>>>>      because it would halt and all deciders must always halt. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> To be a decider it has to give an answer. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> To be a halt decider it has to give an answer that is the same as >>>>>>>>>>>>>>>>>>>>>>> whether the direct execution of its input would halt. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> That would entail that H must report on different behavior >>>>>>>>>>>>>>>>>>>>>> than the behavior that H actually sees thus violate the >>>>>>>>>>>>>>>>>>>>>> definition of a decider that must compute the mapping from >>>>>>>>>>>>>>>>>>>>>> its inputs... >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Nope. >>>>>>>>>>>>>>>>>>>>> You are just showing yourself to be a stupid liar. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Where in the DEFINITION of Compute the Mapping of the Input to the >>>>>>>>>>>>>>>>>>>>> Mapped Output does it say that the decider has to be able to "see" that >>>>>>>>>>>>>>>>>>>>> property of the input? >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> In order to compute the mapping from an input there must be >>>>>>>>>>>>>>>>>>>> some basis that is directly provided by this input. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> If no such basis is in the input the problem has no soution. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> int sum(int x, int y){ return x + y; } >>>>>>>>>>>>>>>>>> sum(3,4) is not allowed to report on the sum of 5 + 6 >>>>>>>>>>>>>>>>>> even if you really really believe that it should. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Your and my beliefs don't matter. Testers call the function with >>>>>>>>>>>>>>>>> various pairs of inputs and compare the result to the specification. >>>>>>>>>>>>>>>>> If the result is not what the specification requires then the function >>>>>>>>>>>>>>>>> is wrong and needs be fixed or rejected. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> There is enough information for sum(3,4) to compute the sum of 3+4. >>>>>>>>>>>>>>>> There is NOT enough information for sum(3,4) to compute the sum of 5+6. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> There is enough information for H1(D,D) to compute Halts(D,D). >>>>>>>>>>>>>>>> There is NOT enough information for H(D,D) to compute Halts(D,D). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> There is enough information to determine whether the result is as >>>>>>>>>>>>>>> required by the specification. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> This specification only requires a mapping from H(D,D) >>>>>>>>>>>>>> to Halts(Simulated_by_H(D,D)) and it gets that one correctly. >>>>>>>>>>>>>> D(D) does not halt from the POV of H. >>>>>>>>>>>>> >>>>>>>>>>>>> What "this pecification"? This means the one you refer or point to >>>>>>>>>>>>> but you didn't. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Every implementation of H(D,D) that simulates its input must abort >>>>>>>>>>>> this simulation or never itself halt. >>>>>>>>>>>> >>>>>>>>>>>> int main() { D(D); }   is not a D simulated by H. >>>>>>>>>>>> int main() { H(D,D); } is a D simulated by H. >>>>>>>>>>> >>>>>>>>>>> Does not answer what "this specification" means above. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *THIS SPECIFICATION* >>>>>>>>>> Every implementation of H(D,D) that simulates its input must abort >>>>>>>>>> this simulation or never itself halt. >>>>>>>>> >>>>>>>>> Are you sure you want to allow that H(D,D) may run un a loop and never >>>>>>>>> halt and never continue the simulation? >>>>>>>>> >>>>>>>> >>>>>>>> So you didn't understand the: *must abort this simulation* part ? >>>>>>> >>>>>>> I did. I asked whether whether you really mean all that "never iself >>>>>>> halt" means. >>>>>>> >>>>>> >>>>>> 01 void D(ptr x) // ptr is pointer to void function >>>>>> 02 { >>>>>> 03   H(x, x); >>>>>> 04   return; >>>>>> 05 } >>>>>> 06 >>>>>> 07 void main() >>>>>> 08 { >>>>>> 09   H(D,D); >>>>>> 10 } >>>>>> >>>>>> *Execution Trace* >>>>>> Line 09: main() invokes H(D,D); >>>>>> >>>>>> *keeps repeating* (unless aborted) >>>>>> Line 03: simulated D(D) invokes simulated H(D,D) that simulates D(D) >>>>>> >>>>>> *Simulation invariant* >>>>>> D correctly simulated by H cannot possibly reach past its own line 03. >>>>>> >>>>>> As soon as line 03 would be simulated  H sees that D would call >>>>>> itself with its same input, then H aborts D. >>>>> >>>>> Looks like you don't know whether you really want to allow that H(D,D) >>>>> may run in a loop and never halt and never continue the simulation. >>>>> >>>> >>>> H(D,D) must halt or it cannot be any kind of decider. My other >>>> reviewers consistently and perpetually lie about whether or >>>> not H(D,D) is correct to abort its simulation. >>>> >>> >>> When I refer to H I am referring to every element of the set of >>> implementations H that simulate their input. >> >> I.e., every element of the set on implementations of oevery element >> of the sent of implementataions of .... >> > > Every element of the set of implementations of H(D,D) that simulates its > input either aborts this simulation or is wrong. > > It also must be the first directly executed element that performs > the abort or none of them do because all of the H elements in a > recursive simulation chain have the exact same machine code. You seem to agree that "this pecification" is nomen nuduum. -- Mikko