On 05/03/12 03:34, Peter Olcott wrote:
> Halts(tm, input) // The semantic meaning that tm actually halts on input
Ok. In what I write below, Halts is a function in the mathematical sense
of the word (and not a Turing machine). It inputs a Turing machine and a
string, and returns either True or False, correctly answering "does tm
halt with input".
> <ProperSubset> mathematical symbol indicating proper subset
>
> Boolean Halting(String tm, String input)
> The domain of Halting (for the value of tm) is based on
> (a) Sigma*
> (b) <ProperSubset> (a) That represent valid Turing Machines.
> (c) <ProperSubset> (b) That halt on input
> (d) <ProperSubset> (c) That Halting() returns true.
> Halting() returns true on set (d) and returns false on everything else.
Ok up to this point.
(For the record: I, too, would remove "Proper" because to me (b) could
be the same as (a). It depends on the encoding of Turing machines. But
this detail is definitely unimportant for the discussion, so let
"Proper" stay.)
> If Halting(tm, input) returning true would not make Halts(tm, input)
> false, then Halting(tm, input) must return true.
You write as if the value of Halts(tm, input) depended on Halting(tm,
input). It seems to me that you are thinking about the standard proof,
where there indeed is such a dependency: tm predicts its own future by
calling the hypothetical halting decider, and, after obtaining the
answer, does precisely the opposite.
In reality, Halts is a mathematical Boolean-valued function of tm and
input (and nothing else). That is how we defined it towards the
beginning of this message (your text cited, me agreeing with it). So the
value of Halts(tm, input) *only* depends on tm and input. Do you agree
with this?
In the standard proof, the value of Halts(tm, input) --- that is,
whether tm actually halts on input --- depends on what the halting
decider replies, but that is in contradiction with reality. This unreal
behaviour is only possible because its construction uses an entity which
does not exist: the halting decider.
In proofs by contradiction, odd things happen. This is built into the
nature of proofs by contradiction. Odd things happening in a proof by
contradiction do not imply that the same things could happen in reality.
So I agree with Ben Bacarisse:
> It was all going fine right up to "would not make".
On the other hand, it would be perfectly okay to define the value of
Halting(tm, input) in terms of Halts(tm, input). (For the record: In my
opinion (-: and in reality :-), such a definition would not be a proof
that Halting exists as a Turing machine.)
But you will not be able to formulate a definition that does what you
want. Let's see:
There are interesting Turing machines Halting(T,I) that always halt
replying either true or false, so that if it replies "true" then T halts
on I, but if it replies "false" then T does or does not halt on I. There
also are interesting Turing machines NotHalting(T,I) that always halt
replying either true or false, so that if it replies "true" then T does
not halt on I, but if it replies "false" then T does or does not halt on
I. (I tried to get close to your Halting and NotHalting. I hope I did
not make typos.) Each such pair defines a set "InvalidInput" in the way
you showed. The membership of the set is decidable.
However, there is no _unique_ Turing machine that could be called _the_
Halting and _the_ NotHalting. The proof for this fact is simple: take
any alleged "Halting", take any input (T1,I1) for which it answers
"false" although T1 halts on I1, and let ImprovedHalting be
if T == T1 and I == I1 then reply true
else reply what Halting(T,I) replies.
So there is no well-defined unique set "InvalidInput" of the kind you
want. Each "InvalidInput" is arbitrary in the sense that it does not
tell about the halting problem, it only tells about the choice made
among all possible "Halting"s and "NotHalting"s.
The intersection of all "InvalidInput"s would be a natural choice as
_the_ "InvalidInput". But it is the empty set, so it does not correspond
to a non-trivial property.
--- Antti Valmari ---