Deutsch   English   Français   Italiano  
<vsqmth$1mglg$2@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Richard Heathfield <rjh@cpax.org.uk>
Newsgroups: comp.lang.c
Subject: Re: DD simulated by HHH cannot possibly halt (Halting Problem)
Date: Sat, 5 Apr 2025 08:42:41 +0100
Organization: Fix this later
Lines: 51
Message-ID: <vsqmth$1mglg$2@dont-email.me>
References: <vsnchj$23nrb$2@dont-email.me> <vsngo6$26agq$1@dont-email.me>
 <vsnh44$26c94$3@dont-email.me> <vsnht7$26agq$2@dont-email.me>
 <vsnlvv$2h8pt$1@dont-email.me> <vsnnb5$2g4cd$2@dont-email.me>
 <vsnnug$2h8pt$2@dont-email.me> <vsnou2$2g4cd$5@dont-email.me>
 <vspqmt$o89d$1@dont-email.me> <vsq97g$19eo9$1@dont-email.me>
 <vsqhov$1hl94$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 05 Apr 2025 09:42:42 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="9ba5473c49a0346d8825952a0365662d";
	logging-data="1786544"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX193Pby1+08D6X4L2yTxgWoGj3TRHceO8QOR/VIdAYx0FQ=="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:T4+KbbELb4nGint9iF5QgJ5UsKI=
Content-Language: en-GB
In-Reply-To: <vsqhov$1hl94$1@dont-email.me>
Bytes: 2876

On 05/04/2025 07:14, olcott wrote:
> On 4/4/2025 10:49 PM, Richard Heathfield wrote:
>> On 05/04/2025 00:41, olcott wrote:
>>> *Simulating termination analyzer Principle*
>>> It is always correct for any simulating termination
>>> analyzer to stop simulating and reject any input that
>>> would otherwise prevent its own termination. The
>>> only rebuttal to this is rejecting the notion that
>>> deciders must always halt.
>>
> 
> typedef void (*ptr)();
> int HHH(ptr P);
> 
> int DD()
> {
>    int Halt_Status = HHH(DD);
>    if (Halt_Status)
>      HERE: goto HERE;
>    return Halt_Status;
> }
> 
> int main()
> {
>    HHH(DD);
> }
> 
>> In other words, you operate on the principle that deciders 
>> don't have to (and indeed can't) always make a correct decision 
>> on whether an input program halts.
>>
> 
> The termination analyzer HHH would be correct
> to determine that it must stop simulating DD to
> prevent its own non-termination

Fine, but then it fails to do its job. What you are learning 
(albeit slowly) is that the termination analyser HHH can't 
analyse whether DD terminates. It is therefore not a general 
purpose termination analyser.

Your reasoning is that it has a good excuse and can be forgiven 
for failing. Fine, but it still fails. Calling an abort 'correct' 
doesn't stop it being an abort.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within