Deutsch   English   Français   Italiano  
<100eplt$1h83t$2@dont-email.me>

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

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: "Fred. Zwarts" <F.Zwarts@HetNet.nl>
Newsgroups: comp.theory
Subject: Re: How to write a self-referencial TM?
Date: Mon, 19 May 2025 10:21:16 +0200
Organization: A noiseless patient Spider
Lines: 80
Message-ID: <100eplt$1h83t$2@dont-email.me>
References: <1e4f1a15826e67e7faf7a3c2104d09e9dadc6f06.camel@gmail.com>
 <1002akp$2i4bk$2@dont-email.me>
 <479eebef3bd93e82c8fe363908b254b11d15a799.camel@gmail.com>
 <1002jkk$2k00a$3@dont-email.me>
 <05e306f20fcb7c88c497e353aaecd36b30fc752a.camel@gmail.com>
 <10053hb$3759k$1@dont-email.me> <10055rn$37m1t$1@dont-email.me>
 <1006pc9$3ld84$1@dont-email.me> <1007m9e$3qb7l$17@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 May 2025 10:21:18 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="f26a1aee18951468acd4cabd87ed5208";
	logging-data="1613949"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19q8Q6LHf0dWgxJG+EH1Cbc"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ZFnztFXy4Vd1SSb7Pn5PS+UvdKA=
In-Reply-To: <1007m9e$3qb7l$17@dont-email.me>
Content-Language: nl, en-GB
Bytes: 3991

Op 16.mei.2025 om 17:40 schreef olcott:
> On 5/16/2025 2:27 AM, Mikko wrote:
>> On 2025-05-15 16:47:49 +0000, olcott said:
>>
>>> On 5/15/2025 11:08 AM, Mike Terry wrote:
>>>> On 14/05/2025 18:53, wij wrote:
>>>>> On Wed, 2025-05-14 at 12:24 -0500, olcott wrote:
>>>>>> On 5/14/2025 11:43 AM, wij wrote:
>>>>>>> On Wed, 2025-05-14 at 09:51 -0500, olcott wrote:
>>>>>>>> On 5/14/2025 12:13 AM, wij wrote:
>>>>>>>>> Q: Write a turing machine that performs D function (which calls 
>>>>>>>>> itself):
>>>>>>>>>
>>>>>>>>> void D() {
>>>>>>>>>     D();
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> Easy?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> That is not a TM.
>>>>>>>
>>>>>>> It is a C program that exists. Therefore, there must be a 
>>>>>>> equivalent TM.
>>>>>>>
>>>>>>>> To make a TM that references itself the closest
>>>>>>>> thing is a UTM that simulates its own TM source-code.
>>>>>>>
>>>>>>> How does a UTM simulate its own TM source-code?
>>>>>>>
>>>>>>
>>>>>> You run a UTM that has its own source-code on its tape.
>>>>>
>>>>> What is exactly the source-code on its tape?
>>>>>
>>>>
>>>> Every UTM has some scheme which can be applied to a (TM & input 
>>>> tape) that is to be simulated.  The scheme says how to turn the (TM 
>>>> + input tape) into a string of symbols that represent that computation.
>>>>
>>>> So to answer your question, the "source-code on its tape" is the 
>>>> result of applying the UTM's particular scheme to the combination 
>>>> (UTM, input tape) that is to be simulated.
>>>>
>>>> If you're looking for the exact string symbols, obviously you would 
>>>> need to specify the exact UTM being used, because every UTM will 
>>>> have a different answer to your question.
>>>>
>>>>
>>>> Mike.
>>>
>>> These things cannot be investigated in great
>>> depth because there is no fully encoded UTM in
>>> any standard language.
>>
>> Investigations do not need a standard language. For an investigation an
>> ad hoc language is good enough and usually better.
>>
> 
> Until I made this concrete people kept assuming that
> an input DD could be defined that actually does the
> opposite of whatever value that its simulating termination
> analyzer HHH returns.
> 
> int main()
> {
>    DD(); // HHH cannot report on the behavior of its caller.
> }
> 

HHH cannot simulate itself. It is programmed to do a wild guess about 
its own behaviour. Therefore, it produces false negatives. It reports 
non-halting when it halts:

        int main() {
          return HHH(main);
        }