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 connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v4qsav$a0nn$3@i2pn2.org>
Deutsch   English   Français   Italiano  
<v4qsav$a0nn$3@i2pn2.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.misty.com!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: Richard Damon <richard@damon-family.org>
Newsgroups: comp.theory,sci.logic
Subject: Re: Simulating termination analyzers for dummies
Date: Mon, 17 Jun 2024 22:44:47 -0400
Organization: i2pn2 (i2pn.org)
Message-ID: <v4qsav$a0nn$3@i2pn2.org>
References: <v4oaqu$f9p5$1@dont-email.me> <v4os9e$i70m$1@dont-email.me>
 <v4p9mb$lavj$1@dont-email.me> <v4qe53$a0nm$1@i2pn2.org>
 <v4qn65$10qh6$1@dont-email.me> <v4qnkf$a0nm$5@i2pn2.org>
 <v4qpvo$10qh6$2@dont-email.me> <v4qrmd$a0nm$6@i2pn2.org>
 <v4qrr8$15beg$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 18 Jun 2024 02:44:47 -0000 (UTC)
Injection-Info: i2pn2.org;
	logging-data="328439"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg";
User-Agent: Mozilla Thunderbird
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <v4qrr8$15beg$1@dont-email.me>
Content-Language: en-US
Bytes: 5222
Lines: 108

On 6/17/24 10:36 PM, olcott wrote:
> On 6/17/2024 9:33 PM, Richard Damon wrote:
>> On 6/17/24 10:04 PM, olcott wrote:
>>> On 6/17/2024 8:24 PM, Richard Damon wrote:
>>>> On 6/17/24 9:16 PM, olcott wrote:
>>>>> On 6/17/2024 5:42 PM, Richard Damon wrote:
>>>>>> On 6/17/24 8:20 AM, olcott wrote:
>>>>>>> On 6/17/2024 3:31 AM, Fred. Zwarts wrote:
>>>>>>>> Op 17.jun.2024 om 05:33 schreef olcott:
>>>>>>>>> To understand this analysis requires a sufficient knowledge of
>>>>>>>>> the C programming language and what an x86 emulator does.
>>>>>>>>>
>>>>>>>>> Unless every single detail is made 100% explicit false assumptions
>>>>>>>>> always slip though the cracks. This is why it must be examined at
>>>>>>>>> the C level before it is examined at the Turing Machine level.
>>>>>>>>>
>>>>>>>>> typedef void (*ptr)();
>>>>>>>>> int H0(ptr P);
>>>>>>>>>
>>>>>>>>> void Infinite_Loop()
>>>>>>>>> {
>>>>>>>>>    HERE: goto HERE;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> void Infinite_Recursion()
>>>>>>>>> {
>>>>>>>>>    Infinite_Recursion();
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> void DDD()
>>>>>>>>> {
>>>>>>>>>    H0(DDD);
>>>>>>>>>    return;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> int main()
>>>>>>>>> {
>>>>>>>>>    H0(Infinite_Loop);
>>>>>>>>>    H0(Infinite_Recursion);
>>>>>>>>>    H0(DDD);
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> Every C programmer that knows what an x86 emulator is knows 
>>>>>>>>> that when H0
>>>>>>>>> emulates the machine language of Infinite_Loop, 
>>>>>>>>> Infinite_Recursion, and
>>>>>>>>> DDD that it must abort these emulations so that itself can 
>>>>>>>>> terminate
>>>>>>>>> normally.
>>>>>>>>>
>>>>>>>>> When this is construed as non-halting criteria then simulating
>>>>>>>>> termination analyzer H0 is correct to reject these inputs as non-
>>>>>>>>> halting.
>>>>>>>>>
>>>>>>>>
>>>>>>>> For Infinite_Loop and Infinite_Recursion that might be true, 
>>>>>>>> because there the simulator processes the whole input.
>>>>>>>>
>>>>>>>> The H0 case is very different. For H0 there is indeed a false 
>>>>>>>> assumption, as you mentioned. Here H0 needs to simulate itself, 
>>>>>>>> but the simulation is never able to reach the final state of the 
>>>>>>>> simulated self. The abort is always one cycle too early, so that 
>>>>>>>> the simulating H0 misses the abort. Therefore this results in a 
>>>>>>>> false negative.
>>>>>>>> (Note that H0 should process its input, which includes the H0 
>>>>>>>> that aborts, not a non-input with an H that does not abort.)
>>>>>>>>
>>>>>>>> This results in a impossible dilemma for the programmer. It he 
>>>>>>>> creates a H that does not abort, it will not terminate. 
>>>>>>>
>>>>>>> *Therefore what I said is correct*
>>>>>>> When every input that must be aborted is construed as non-halting
>>>>>>> then the input to H0(DDD) is correctly construed as non-halting.
>>>>>>
>>>>>> In other words, if you allow yourself to LIE, you can claim the 
>>>>>> wrong answer is right.
>>>>>>
>>>>>> Since your "Needing to abort" is NOT the same as halting, all you 
>>>>>> are doing is admitting that your whole logic system is based on 
>>>>>> the principle that LIES ARE OK.
>>>>>>
>>>>>
>>>>> "Needing to abort" <is> the same as a NOT halting input.
>>>>> You are simply too ignorant to understand this.
>>>>>
>>>>
>>>> Nope, not if you are comparing DIFFERENT version of the input.
>>>>
>>> It is ALWAYS the exact same sequence of bytes.
>>
>> But if it doesn't include the bytes of H, 
> 
> It is like we know that N > 50 and you can't
> see that this also means N > 40.
> 

Nope.

How do you simulate something you do not have?

That is like says when the requirement is for N > 50 that you claim 1 is 
ok, because 50 can be 5*0 just like xy is x*y.

Again, how can you claim a "Correct Simulation" by the exact definition 
of the x86 instruction set, when you omit the call H instruction, and 
then "jump" to an addres that was never jumped to at any point later in 
the program.

It is just a DAMNED LIE.