Deutsch   English   Français   Italiano  
<-vacnc1vPMGllDX7nZ2dnZfqnPadnZ2d@brightview.co.uk>

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

Path: ...!Xl.tags.giganews.com!local-3.nntp.ord.giganews.com!nntp.brightview.co.uk!news.brightview.co.uk.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 29 Jul 2024 21:27:19 +0000
Subject: Re: This function proves that only the outermost HHH examines the
 execution trace
Newsgroups: comp.theory
References: <v80h07$2su8m$3@dont-email.me> <v82bi4$39v6n$4@dont-email.me>
 <v82tr5$3dftr$2@dont-email.me> <v82vtl$3dq41$2@dont-email.me>
 <v830hg$3dftr$9@dont-email.me> <v83des$2nhr$1@news.muc.de>
 <KUidnalBUcYWDjj7nZ2dnZfqn_ednZ2d@brightview.co.uk>
 <v85a6c$gb3$1@news.muc.de>
From: Mike Terry <news.dead.person.stones@darjeeling.plus.com>
Date: Mon, 29 Jul 2024 22:27:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Firefox/91.0 SeaMonkey/2.53.17
MIME-Version: 1.0
In-Reply-To: <v85a6c$gb3$1@news.muc.de>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Message-ID: <-vacnc1vPMGllDX7nZ2dnZfqnPadnZ2d@brightview.co.uk>
Lines: 55
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-lsCJBr4Kp2jR9VzfgFSeQh9Ip/RwHwZTwv4P3xPFIn3qkNW7NvRA5M3F3XudlfQ32cH43HyY/ut/OKX!FQCrCEshEPEZmg6eqQSjHQHpTx1Vv6ZF7zevm2dJc0NggHI6ncVtb0jr5EV4q+3jb11t6s8rT2Dz!52c4J8AAyaiEYs7GRvV1BEJ1n2o=
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
Bytes: 4649

On 28/07/2024 12:31, Alan Mackenzie wrote:
> Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
>> On 27/07/2024 19:14, Alan Mackenzie wrote:
>>> olcott <polcott333@gmail.com> wrote:
> 
>>>> Stopping running is not the same as halting.
>>>> DDD emulated by HHH stops running when its emulation has been aborted.
>>>> This is not the same as reaching its ret instruction and terminating
>>>> normally (AKA halting).
> 
>>> I think you're wrong, here.  All your C programs are a stand in for
>>> turing machines.  A turing machine is either running or halted.  There is
>>> no third state "aborted".  An aborted C program certainly doesn't
>>> correspond with a running turing machine - so it must be a halted turing
>>> machine.
> 
>>> So aborted programs are halted programs.  If you disagree, perhaps you
>>> could point out where in my arguments above I'm wrong.
> 
> 
>> Aborting is an action performed by a simulator, not the TM being simulated.
> 
> OK, so if a simulator aborts the program it's simulating, that program is
> still in state running, even though it's a suspended animation which will
> never get any further.  The simulator, having aborted the program, then
> has no more work to do, so the simulator will be in state halted.  Is
> that right?
> 

The way simulators are discussed in these threads, the simulator is a /component/ within some other 
program such as some partial halt decider program.  The role of the (partial) simulator is to 
calculate the computation steps of the computation represented by its input.  Also it will need to 
give the main program the ability to interogate the status of its simulation as it progresses - e.g. 
to determine which state its simulated program has reached, and where it is positioned on its 
simulated tape and the simulated tape contents.  The rest of the program /uses/ the component. 
Typically it might analyse the results from calling the simulator looking for patterns which 
indicate halting/non-halting behaviour of its simulated computation.  We could call that the 
program's halt-analysis logic, which is logically separate from the simulation code.

So we could say the status of the simulator after aborting is like the status of a component in a 
C++ program after the last call to the component - it is still there, I suppose, but just not being 
called.  Like the status of the printf function after its final call in a program.  I wouldn't say 
the simulator was halted, just like I wouldn't say the printf routine was halted.  Such component 
code doesn't have its own halt status because it is part of some larger program.

As to the program it was simulating - well that program was never "running" as such - it was just 
being simulated in a virtual machine.  That is just a particular form of data manipulation performed 
by the main program.  Is the virtual machine still there, if its owning code has abandoned it?  I 
think the question doesn't make sense.  Perhaps the simulator has "freed" all the resources that 
were used during the simulation, but there's no requirement for a TM to do that, and it really 
doesn't matter!

Hope that makes sense,
Mike.