On 2012-03-09 14:23:16 +0000, Peter Olcott said:
> M( String Input )
> {
> if ( H( Input, Input ) )
> Loop Forever;
> else
> Exit;
> }
>
> H specifies an infinite set of Turing Machines included within template M
> h is one element of set H
> m represents template M that has been instantiated using h
>
> Neither element from the set of {true, false} provides a correct return
> value to the invocation of every element referred to by h(m,m).
>
> An ill-formed question is defined as:
> (a) Any question that lacks a correct answer from the set of all
> possible answers.
>
> (b) Any invocation of a machine that lacks a correct return value from
> the set of all possible return values.
>
> Since the invocation of h(m,m) lacks a correct return value from the
> set of {true,false} the invocation of h on input data m derives an
> ill-formed question.
Bear with me, here. I'll get to your point about "ill-formed questions"
eventually, but as I've taken the time to read your post, do me the
credit of taking the time to read and consider mine.
1. Let's take as a given that Turing machines[0] exist.
2. It can be shown that Turing machines are composable and that the
composition of a finite number of Turing machines is itself a Turing
machine.
3. It can be shown that any Turing machine can be encoded as a finite
number, and it can be shown that any tape can be encoded as a finite
number.
3a. It can be shown that any finite sequence of finite numbers can be
represented by a Turing machine tape.
4. For every (Turing machine, initial tape) pair, either the machine
eventually halts when started with that initial tape, or it does not
halt. These options are mutually exclusive and exhaustive: there is no
third outcome and the answer can't be "both".
5. It can be shown that there exists a _function_ h(m, t) whose domain
is pairs (m, t) of numbers, where m is a number that encodes a Turing
machine and t is a number that encodes a tape, that is equal to 1 if
the Turing machine whose encoding is m, when run with the initial tape
whose encoding is t, halts, and is equal to 0 otherwise.
6. A Turing machine F is said to compute a function f if and only if
the machine F, when started with a tape containing a representation of
the parameters p0, p1, … pn, halts after a finite number of steps with
a representation of the value of f(p0, p1, … pn) stored on the tape.
(What the machine F does when started with a tape that does not contain
a representation of the parameters of f is not constrained.)
The halting problem is this:
Does there exist a _Turing machine_ that computes the function h?
There are only two answers to this question: "yes", and "no". These
answers are mutually exclusive and exhaustive, so exactly one of them
must be correct unless the question depends on invalid assumptions. As
I've enumerated the assumptions behind the question, I feel confident
that this isn't a problem.
What, of the above, qualifies as an "ill-formed" question?
It seems to me that the halting problem (that is, the question above)
is *not* an ill-formed question by your definition, because we can show
that it has a correct answer. Specifically, we can show that the answer
"yes" is not correct by showing that the existence of a Turing machine
that computes the function h, in tandem with property 2, would lead to
a paradoxical situation. Since the answer "no" does not lead to a
paradox, we can conclude that no Turing machine exists that computes
the function h and that the halting problem (that is, the question
above) is a well-formed question in the sense you mean.
Note that even if no Turing machine that computes h exists, a
machine[1] that computes the algorithm described by
> M( String Input )
> {
> if ( H( Input, Input ) )
> Loop Forever;
> else
> Exit;
> }
may still exist -- look up Oracle machines and the arithmetic
hierarchy. However, if the machine H computes the function h, then
neither the machine H nor the machine M is a Turing machine. If M is a
non-Turing-computable machine, then (machine, input) pairs involving
the machine M (or rather, the encoding of M as a number) are not in the
domain of the function h, and no paradox arises.
-o
PS. I'm surprised you would come back to this. You've left the halting
problem alone for quite a while now, and you really seemed to have "got
it" last time around. How disappointing.
[0] "Turing machines" in the 7-tuple sense given at
<
https://en.wikipedia.org/wiki/Turing_machine#Formal_definition>, for
the sake of clarity. These are purely mathematical constructs intended
to represent an idealized model of mechanical computation.
[1] In a related sense of the word "machine" to [0].