On 19 Jan 2014, at 21:01, Stephen Paul King wrote:

Dear Bruno,

Thank you for writing this remark! It is very helpful.

You are welcome.


I could see where there could be some debate on the constructability claim, as the set of all programs in L could be infinite and thus the lexicographic ordering would be a supertask in that case, but that can be ignored for now.

Well, the set of all programs is *always* infinite, for universal and non universal languages. The point is that it can always be generate by one program (it is recursively or computably enumerable). But the subset of all programs computing *total* functions, everywhere defined, is also infinite but is not a recursively or computably enumerable set. It is not computable, necessarily so if the language is universal.



My interest now is in the computational Word Problem. I have more homework to do.

That is a particular case. By the way, the diffeomorphism of 4-variety is non computable, like the word problem in group theory, or the semantic of programs in computer science. factorial(x) is a computable function, but the adjective "being the code of the factorial function" is a non computable predicate. There are no algorithm capable to decide if, given an arbitrary programs, it computes the factorial function. This is easy to prove with the Dx = xx method, but you can intuitively understand this by meditating on the following question. Does the following program compute the factorial function:

<<
Define factorial
read x
If x = 0 output 1
else
search for a formal proof of the Goldbach conjecture in ZF, and if you find it compute x * factorial(x-1),
   else print " I don't compute factorial"
>>

You see that the question how knowing if that code (which is executable, it is really a program) codes for the factorial function, is equivalent with solving the Goldbach conjecture.

Bruno





On Sun, Jan 19, 2014 at 6:33 AM, Bruno Marchal <marc...@ulb.ac.be> wrote:
Stephen, Liz,

On 18 Jan 2014, at 00:02, LizR wrote:

On 18 January 2014 11:39, Stephen Paul King <stephe...@provensecure.com > wrote:
Dear John,

I invite your comment on a statement and question: There is not observable difference between "X is non-computable" and "there does not exist sufficient resources to complete the computation of Y".

Are X and Y effectively the same thing, everything else being equal? If there is a difference that makes a difference, what might it be?

In other words, is anything non-computable because of some theoretical reason, rather than "merely local geographical" ones (which might cease to be restrictions if, say, our local even horizon expands, or we construct wormholes to other universe) ?

Surely the halting problem?

Of more easily the totality problem. It is more complex than halting, and thus more easily shown to be non computable.

Let me do it here, as I promise to Stephen. It is almost a direct consequence of Church thesis.

I recall that a function (from N to N) is said TOTAL computable if you can explain in a finite set of words, in one formal language, with a decidable simple grammar, how to compute it on each (cf TOTAL) natural numbers, in a finite time, and this to a sufficiently dumb person.

Church's thesis: there is a universal language L in which all TOTAL functions can be described/coded, and my language "lambda calculus" is such a language.

Theorem: Church's thesis entails that L describes more than just all TOTAL functions.

Proof: suppose that L describes only the TOTAL functions. We can lexicographically order all programs in L (due to the clear decidable grammar) p0, p1, p2, p3, .... Let us call f_i the function computed by p_i

Then we can define a function g such that g(n) = f_n(n) + 1. Indeed we can even program it in L. (To compute it on n, generate the list up to p_n and apply p_n on n, then add 1. As all f_n are total, this gives a total function (everywhere defined on N).

So that function g as some program p_k, and thus compute some function f_k belonging to the list (L is universal).

But then, let us apply g on its own code k, we have g(k) = f_k(k), given that g = f_k. But we have also that g(k) = f_k(k) + 1, by definition of g. So f_k(k) = f_k(k) + 1. And, by totality, f_k(k) is a number. So I can subtract it from both side in the preceding equality, and we get
0 = 1. Contradiction.

So either L is not universal (and Church is wrong), or f_k(k) is not defined, and f_k is not total.

Then if you look in "lambda calculus", you can empirically observe that f_k(k) is indeed not defined: p_k does not stop on k. Making Church thesis consistent.

So if Church thesis is true, and if some language L is truly universal, the list of its programs p_i will go through all total computable functions (by universality), but will also go through many NON TOTAL functions.

And, the key point, you will not been able to use any program to distinguish the code of the total function from the code of the non total one.

Why? Because if that was the case, you would be able to filter out the non total function from the list of all programs p_i, and you would get a computable enumeration (list) of all, and only the total functions, and the diagonal above would again conclude that 0 = 1.

So the attribute of a code "computing a total function" cannot be computable. QED.

OK? (you have to read this with pencil and paper!)

This was a constructive proof, leading to a meaningful predicate ("TOTAL") being not computable.

Thi entails a strong form of incompleteness: no effective theory (with checkable proofs) can ever decide if some arbitrary code is the code of a total, or not, function.

(Note that a far easier, but non constructive and less informative, proof is given directly by Cantor theorem. The computable functions are codable, making them enumerable, but N^N, the set of all functions from N to N is NOT enumerable by Cantor theorem.
So almost all functions from N to N are not computable.)

Bruno












--
You received this message because you are subscribed to the Google Groups "Everything List" group. To unsubscribe from this group and stop receiving emails from it, send an email to everything-list+unsubscr...@googlegroups.com. To post to this group, send email to everything- l...@googlegroups.com.
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/groups/opt_out.

http://iridia.ulb.ac.be/~marchal/




--
You received this message because you are subscribed to a topic in the Google Groups "Everything List" group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/everything-list/TBc_y2MZV5c/unsubscribe . To unsubscribe from this group and all its topics, send an email to everything-list+unsubscr...@googlegroups.com .
To post to this group, send email to everything-list@googlegroups.com.
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/groups/opt_out.



--
Kindest Regards,

Stephen Paul King

Senior Researcher
Mobile: (864) 567-3099

stephe...@provensecure.com

 http://www.provensecure.us/




“This message (including any attachments) is intended only for the use of the individual or entity to which it is addressed, and may contain information that is non-public, proprietary, privileged, confidential and exempt from disclosure under applicable law or may be constituted as attorney work product. If you are not the intended recipient, you are hereby notified that any use, dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this message in error, notify sender immediately and delete this message immediately.”


--
You received this message because you are subscribed to the Google Groups "Everything List" group. To unsubscribe from this group and stop receiving emails from it, send an email to everything-list+unsubscr...@googlegroups.com.
To post to this group, send email to everything-list@googlegroups.com.
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/groups/opt_out.

http://iridia.ulb.ac.be/~marchal/



--
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to everything-list+unsubscr...@googlegroups.com.
To post to this group, send email to everything-list@googlegroups.com.
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to