Re: Diagonalisation 1 (fwd)

2001-08-27 Thread Marchal


Both Russell and Brent are right (see orig. message below), 
but they *cannot* be both right, or can they?
They are right but not enough precise for agreeing!

You should try to restate the paradox in such a precise
way each of you find one of the two different theorems 
which are hidden behind the paradox. Your conclusion
are right, but you should be both clearer on what cheat 
must be  corrected for getting those conclusions in an 
absolute clear and unequivocable proof.

(cf http://www.escribe.com/science/theory/m3079.html, and
http://www.escribe.com/science/theory/m3081.html).

I wait a little bit more for a final comment/solution.
Your solutions  are hints for the other, also.

There is no shame finding that paradox rather not obvious,
Most of the initiators like Post, Church, Kleene, Godel, ...
have been wrong---a short time (like Post or Kleene), or a 
longer time ... on that question.

I insist, the incorrect proof can be corrected in two precise
ways, giving two astonishing results, which are in a sense
the gate of theoretical computer science. You are very
close, it's good training to be able to find the definite
proofs. Looks like Brent is very close to one theorem, and
Russell very close to the other one. OK, no more hints.


Bruno   



 original message by Brent meeker

On 22-Aug-01, Russell Standish wrote:
 Brent Meeker wrote:
 
 I think there is a cheat here. Computable requires that the
 function be defined finitely. While
 
   g(n) = f_n(n) + 1
 
 appears to be a finite description, it implicitly calls an the
 infinite list of functions f_n. So it's description is only given in
 terms of a enumerable, but infinite string, and hence does not occur
 in the list f_k.
 
 Brent Meeker
  
 I thought this too when I first saw it, but it not that. What is
 implictly called is the enumeration algorithm, not the infinite
 list. That enumeration algorithm is presumably finitely describable,
 ie there is a formal function f(i,n) such that f(i,n)=f_i(n).
 
 One thing that concerns me, is that while it is possible to map every
 formal function onto a subset of the integers in a naive way (eg
 express the function as a lisp program encoded in the ASCII character
 set - the formal function number is given by expressing the program's
 string as a number in base 128), not every integer corresponds to a
 valid program. Hence f_n(n) may not be defined, if f_n() is not a
 valid function.
 
 Perhaps this is the resolution. In order to construct a mapping f_n()
 from the set of whole numbers onto the set of valid functions, one
 needs to determine if a given string is a valid function. This is
 surely as impossible a problem to solve as the Halting problem. The
 enumerated set {f_n(): n\in n, f_n() a valid function} is perhaps
 impossible to compute, but is a subset of a countable set.

Imagine what would happen if you tried to implement this function g in a
program. When you gave it any argument, i, that was not it's own index,
it would return a value, f_i(i) + 1.  But if it were given the integer
that was it's own index, it would go thru the enumeration until it
found f_k, when it started to execute f_k the first think it would do
would be to start thru the list looking for the function whose index
was k = an infinite loop.  I wouldn't return a value.

Brent Meeker
 When you find yourself in a hole,the first thing to do is stop digging.
  --- Molly Ivins
*** End of forwarded message ***




Re: Diagonalisation 1 (fwd)

2001-08-25 Thread Brent Meeker


,
*** Forwarded message, originally written by Brent Meeker on 22-Aug-01
***
On 22-Aug-01, Russell Standish wrote:
 Brent Meeker wrote:
 
 I think there is a cheat here. Computable requires that the
 function be defined finitely. While
 
   g(n) = f_n(n) + 1
 
 appears to be a finite description, it implicitly calls an the
 infinite list of functions f_n. So it's description is only given in
 terms of a enumerable, but infinite string, and hence does not occur
 in the list f_k.
 
 Brent Meeker
  
 I thought this too when I first saw it, but it not that. What is
 implictly called is the enumeration algorithm, not the infinite
 list. That enumeration algorithm is presumably finitely describable,
 ie there is a formal function f(i,n) such that f(i,n)=f_i(n).
 
 One thing that concerns me, is that while it is possible to map every
 formal function onto a subset of the integers in a naive way (eg
 express the function as a lisp program encoded in the ASCII character
 set - the formal function number is given by expressing the program's
 string as a number in base 128), not every integer corresponds to a
 valid program. Hence f_n(n) may not be defined, if f_n() is not a
 valid function.
 
 Perhaps this is the resolution. In order to construct a mapping f_n()
 from the set of whole numbers onto the set of valid functions, one
 needs to determine if a given string is a valid function. This is
 surely as impossible a problem to solve as the Halting problem. The
 enumerated set {f_n(): n\in n, f_n() a valid function} is perhaps
 impossible to compute, but is a subset of a countable set.

Imagine what would happen if you tried to implement this function g in a
program. When you gave it any argument, i, that was not it's own index,
it would return a value, f_i(i) + 1.  But if it were given the integer
that was it's own index, it would go thru the enumeration until it
found f_k, when it started to execute f_k the first think it would do
would be to start thru the list looking for the function whose index
was k = an infinite loop.  I wouldn't return a value.

Brent Meeker
 When you find yourself in a hole,the first thing to do is stop digging.
  --- Molly Ivins
*** End of forwarded message ***

vr,