Re: What is the Result from Invoking this Halt Function?
stephen_at_nomail.com
Date: 08/17/04
- Next message: David C. Ullrich: "Re: What is the Result from Invoking this Halt Function?"
- Previous message: G. Frege: "Re: Troll 1, Usenet 0"
- In reply to: Marc Goodman: "Re: What is the Result from Invoking this Halt Function?"
- Next in thread: Marc Goodman: "Re: What is the Result from Invoking this Halt Function?"
- Reply: Marc Goodman: "Re: What is the Result from Invoking this Halt Function?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 16 Aug 2004 22:58:23 GMT
In comp.theory Marc Goodman <marc.goodman@comcast.net> wrote:
: stephen@nomail.com wrote:
:> In comp.theory Marc Goodman <marc.goodman@comcast.net> wrote:
:> : Will Twentyman wrote:
:> :> No. He means call your halt analyzer H, and find a new TM called K,
:> :> where they perform the same processing but K always returns a result in
:> :> a "useful" way. Computationally equivalent does not mean identical.
:>
:> : You need to prove that changing the return protocol doesn't change
:> : the calculation. I've seen this statement many times in this thread,
:> : but no one has offered a proof that shows it's true in all cases.
:>
:> If you removed function calls, return statements and the reference
:> operator from C/C++ it would still be Turing complete, and any
:> calculation that could be accomplished in normal C/C++ could be accomplished
:> in this restricted version of C/C++, and vice versa. If there are no
:> function calls or return statements there is no need to worry about
:> whether or not the return protocol changes the calculation.
:>
:> In
:> : that sense, no one has effectively disputed that the existence of H
:> : does not entail the existence of K and Peter is correct. On the
:> : contrary, Peter and others have offered at least two methods whereby
:> : H _does_not_ entail K: 1). in a C program that accesses memory directly
:> : to "look up" it's own binary encoding and conditionalizes behavior based
:> : on this
:>
:> You are not really writing a C program if you do this, because it
:> is not at all portable.
: It doesn't have to be portable. It only has to work in one case
: to demonstrate that it's possible. If it's possible, then this
: particular basis for refuting Peter's disproof is invalid.
But if it is not portable, you are arguing that a particular
architecture can solve problems that others cannot. If you
are not trying to make that argument, you should only consider
code that is not dependent on a particular architecture.
: You are writing a C program for a particular
:> architecture, which should be totally irrelevant to the Halting problem
:> unless you believe that certain architectures are computationally
:> more powerful than others.
: I know I can write this on one machine for one programming language.
: Either that means that it can be written _or_simulated_ on all
: machines in all programming languages, or it means that some
: machines are more "powerful" than the Church Turing thesis
: would allow. I believe the former. Which do you believe?
But it can also 'not be simulated'. The simulation is not going
to be more powerful than the machine doing the simulation.
Any problem that can be solved on a computational model that allows
you to mess with return values can also be solved on a computational
model that does not allow you to do so.
And I do not think it is meaningful to talk about simulation here.
If a language has no return statements, it is meaningless to talk
about whether or not a return statement changes the result of a calculation.
A program in such a language that solves the same problem need not
explicitly 'simulate' a return statement.
:> : the TM can query the UTM about its state transition table.
:>
:> How? A TM can move its head, write a character, and/or change
:> state. There is no 'query the UTM' operation.
: Once again, it can be simulated. You can have a UTM with a
: static state transition table that simulates an entire computer
: with execution environment running a program, all on the UTM's
: tape. If it's possible in one instance, this particular basis
: for refuting Peter's claim is invalid.
But the simulation is not going to be more powerful. Do you
agree that any problem that can be solved can be solved without
simulating the ability of a return statement changing the calculation?
:> : It's time to either _prove_ this is correct or put this particular
:> : line of reasoning to bed.
:>
:> It is only a problem if you are not specific about what your
:> computational model is. In the TM case, or the standardized C/C++/Java
:> case, it is trivially true.
: Unless your TM is a simulator that simulates an entire computer
: with its execution environment and running program.
It does not matter what your TM is doing, it cannot access its state
table. You are confusing the simulator and the simulation.
There is no problem that can be solved by a simulated TM that
cannot be solved by a non-simulated TM.
Stephen
- Next message: David C. Ullrich: "Re: What is the Result from Invoking this Halt Function?"
- Previous message: G. Frege: "Re: Troll 1, Usenet 0"
- In reply to: Marc Goodman: "Re: What is the Result from Invoking this Halt Function?"
- Next in thread: Marc Goodman: "Re: What is the Result from Invoking this Halt Function?"
- Reply: Marc Goodman: "Re: What is the Result from Invoking this Halt Function?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|