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: ...!feed.opticnetworks.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: olcott
Newsgroups: comp.theory,sci.logic
Subject: Re: 195 page execution trace of DDD correctly simulated by HH0
Date: Tue, 25 Jun 2024 13:51:20 -0500
Organization: A noiseless patient Spider
Lines: 190
Message-ID:
References:
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 25 Jun 2024 20:51:21 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="422dd2162c45ab1a09b084523bb5ca66";
logging-data="1772021"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+hguAIJZt7rRiLDHDPZeyu"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:bZSvvvgblHMOWLs53g6LOp1jD6k=
In-Reply-To:
Content-Language: en-US
Bytes: 8836
On 6/25/2024 1:49 PM, Fred. Zwarts wrote:
> Op 25.jun.2024 om 20:26 schreef olcott:
>> On 6/25/2024 1:19 PM, Fred. Zwarts wrote:
>>> Op 25.jun.2024 om 19:29 schreef olcott:
>>>> On 6/25/2024 9:13 AM, Fred. Zwarts wrote:
>>>>> Op 25.jun.2024 om 15:12 schreef olcott:
>>>>>> On 6/25/2024 7:08 AM, Fred. Zwarts wrote:
>>>>>>> Op 24.jun.2024 om 23:04 schreef olcott:
>>>>>>>> On 6/24/2024 2:36 PM, joes wrote:
>>>>>>>>> Am Mon, 24 Jun 2024 08:48:19 -0500 schrieb olcott:
>>>>>>>>>> On 6/24/2024 2:37 AM, Mikko wrote:
>>>>>>>>>>> On 2024-06-23 13:17:27 +0000, olcott said:
>>>>>>>>>>>> On 6/23/2024 3:22 AM, Mikko wrote:
>>>>>>>>>>>>> That code is not from the mentined trace file. In that file
>>>>>>>>>>>>> _DDD()
>>>>>>>>>>>>> is at the addresses 2093..20a4. According to the trace no
>>>>>>>>>>>>> instruction
>>>>>>>>>>>>> at the address is executed (because that address points to
>>>>>>>>>>>>> the last
>>>>>>>>>>>>> byte of a three byte instruction.
>>>>>>>>>>>>
>>>>>>>>>>>> In order to make my examples I must edit the code and this
>>>>>>>>>>>> changes the
>>>>>>>>>>>> addresses of some functions.
>>>>>>>>>>>
>>>>>>>>>>> Why do you need to make an example when you already have one
>>>>>>>>>>> in the
>>>>>>>>>>> file mentioned in the subject line?
>>>>>>>>>>>
>>>>>>>>>> I had to make a few more examples such as HH1(DD,DD)
>>>>>>>>> AFACT HH1 is the same as HH0, right? What happens when HH1
>>>>>>>>> tries to
>>>>>>>>> simulate a function DD1 that only calls HH1?
>>>>>>>>>
>>>>>>>>
>>>>>>>> typedef uint32_t u32;
>>>>>>>> u32 H(u32 P, u32 I);
>>>>>>>>
>>>>>>>> int P(u32 x)
>>>>>>>> {
>>>>>>>> int Halt_Status = H(x, x);
>>>>>>>> if (Halt_Status)
>>>>>>>> HERE: goto HERE;
>>>>>>>> return Halt_Status;
>>>>>>>> }
>>>>>>>>
>>>>>>>> int main()
>>>>>>>> {
>>>>>>>> H(P,P);
>>>>>>>> }
>>>>>>>>
>>>>>>>> I am going to have to go through my code and standardize my names.
>>>>>>>> H(P,P) was the original name. Then I had to make a one parameter
>>>>>>>> version, a version that is identical to H, except P does not call
>>>>>>>> it and then versions using different algorithms. People have never
>>>>>>>> been able to understand the different algorithm.
>>>>>>>>
>>>>>>>> typedef void (*ptr)();
>>>>>>>> typedef int (*ptr2)();
>>>>>>>> int HH(ptr2 P, ptr2 I); // used with int D(ptr2 P) that calls HH
>>>>>>>> int HH1(ptr2 P, ptr2 I); // used with int D(ptr2 P) that calls HH
>>>>>>>> int HHH(ptr P); // used with void DDD() that calls HHH
>>>>>>>> int HHH1(ptr P); // used with void DDD() that calls HHH
>>>>>>>>
>>>>>>>> *The different algorithm version has been deprecated*
>>>>>>>> int H(ptr2 , ptr2 I); // used with int D(ptr2 P) that calls H
>>>>>>>> int H1(ptr2 P, ptr2 I); // used with int D(ptr2 P) that calls H
>>>>>>>>
>>>>>>>> *It is much easier for people to see the infinite recursion*
>>>>>>>> *behavior pattern when they see it actually cycle through the*
>>>>>>>> *same instructions twice*
>>>>>>>
>>>>>>> Twice is not equal to infinitely. When will you see that?
>>>>>>> It is strange that you call that an infinite recursion, when H
>>>>>>> aborts after two cycles and the simulated H cannot reach its own
>>>>>>> abort operation, because it is aborted when it had only one more
>>>>>>> cycle to go.
>>>>>>> None of the aborted simulations would cycle more than twice, so
>>>>>>> infinite recursion is not seen for an H that aborts the
>>>>>>> simulation of itself.
>>>>>>
>>>>>> typedef void (*ptr)();
>>>>>> int H0(ptr P);
>>>>>>
>>>>>> void DDD()
>>>>>> {
>>>>>> H0(DDD);
>>>>>> }
>>>>>>
>>>>>> int main()
>>>>>> {
>>>>>> H0(DDD);
>>>>>> }
>>>>>>
>>>>>> _DDD()
>>>>>> [00002172] 55 push ebp ; housekeeping
>>>>>> [00002173] 8bec mov ebp,esp ; housekeeping
>>>>>> [00002175] 6872210000 push 00002172 ; push DDD
>>>>>> [0000217a] e853f4ffff call 000015d2 ; call H0(DDD)
>>>>>> [0000217f] 83c404 add esp,+04
>>>>>> [00002182] 5d pop ebp
>>>>>> [00002183] c3 ret
>>>>>> Size in bytes:(0018) [00002183]
>>>>>>
>>>>>> The call from DDD to H0(DDD) when DDD is correctly emulated
>>>>>> by H0 cannot possibly return.
>>>>>
>>>>> Contradictio in terminis. The fact that the simulated H0 does not
>>>>> return shows that the simulation is incorrect.
>>>>
>>>> void Infinite_Recursion()
>>>> {
>>>> Infinite_Recursion();
>>>> }
>>>>
>>>> Ah so you simply *DON'T BELIEVE IN* infinite recursion where a
>>>> correct simulating termination analyzer would be required to
>>>> abort its simulation to correctly report non-terminating behavior.
>>>> That seems quite dumb of you.
>>>
>>> Change of subject ignored.
>>>
>>>>
>>>>> The simulated H0 does not return, because it is aborted one cycle
>>>>> too soon. One cycle later it would return.
>>>>
>>>> Complete lack of sufficient software engineering skill.
>>>
>>> Maybe you should study some software engineering to get over it.
>>>
>>>> Unless the outermost directly executed H0 aborts its
>>>> simulation after a fixed number of recursive invocations
>>>> NONE OF THEM DO.
>>>
>>> Change of subject. We are talking about an H0 that aborts, so
>>> dreaming of one that does not abort is irrelevant.
>>
>> No one here can possibly handle more than one single point
>> at a time without leaping to the conclusion that I must
>> be incorrect. Because of this I will not tolerate moving
>> beyond one single point at a time.
>
> You are the one that started to talk about a second point (an H0 that
> does not abort), when we were talking about an H0 that aborts.
> So, I agree, let us forget about that second point (an H0 that does not
> abort). From now on we only talk about an H0 that aborts after two
> cycles. So, no infinite recursion, two cycles at most.
>
>>
>>> H0 aborts after two cycles. Then it aborts the simulated H0 which at
>>> that moment has run only one cycle. One cycle later the simulated H0
>>> would also return, if not aborted.
>>>
>>>>
>>>> This did baffle me for three days 3.5 years ago until
>>>> I took the time to THINK IT ALL THE WAY THROUGH.
>>>
>>> Apparently, your thinking went completely wrong.
>>>
>>
>> No the actual truth is that you are one of my least competent
>> reviewers.
>>
>
> Bad excuse for not showing any error in my reasoning.
I did and it was over your head.
Unless the outer directly executed H aborts NONE-OF-THEM DO.
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
========== REMAINDER OF ARTICLE TRUNCATED ==========