Monday, 13 September 2010

Self functions

A Quine is a function that takes no input and produces itself in some pre-established execution environment (a program which takes input of another program and executes it producing its output).

This struck me as not the best example of "self" because the program does not actually identify itself - it is up to the observer to realise that the output is the same as the program and so identify that the program is a quine. A program which just counted would eventually output itself. What is more interesting is a program which knows that the output is itself. In a quine the programmer has found the program and confirmed that it output itself. Interesting programming task, but not really an example of "self" (whatever that is).

Logically then a better quine takes input, and outputs a unique value only when the input is the same as itself, thus establishing itself as a Quine. Let these be called Self functions. Like Quines they are entirely created by the programmer but what the programmer must create is one level removed as the program does nothing but confirm itself in the input (something the quine programmer previously had to do).

However how does it know what itself is? The only way to do this would be to read its own source code... but it will still need a pointer to that memory. The problem to contemplate here is just what "self" means and whether it can be established immanently (that is the main point actually).

Anyway... to classify Self functions...

Say a species outputs zero unless their input is themselves where upon they output a function. This way a Self function can do anything (not requiring parameters) as long as the resulting function is executed.

Let S be the set of all Self functions. Let s1 be the first member of this set.

s1(some number != #s1) = 0
s1(#s1) = #some function

where the number of the function s1 is #s1 (actually the numbering can be designed to be the same as program) so that can be rewritten as:

s1(some number != s1) = 0
s1(s1) = some function

Now imagine a super self function that takes two inputs, S(a,b). The first is the number of a self function, and the second is the input for that function. S is essentially an interpreter. The above can be rewritten:

S(s1,some number != s1) = 0
S(s1,s1) = some function

So S(a,a) establishes whether the function "a" is a self function (does it output 0 or not) and outputs the function that "a" would if it was.

Is this of any thought experiment use... i will find out...

===

Just for fun was thinking about another type of self function. The 'nelf' is the a less strong version of the self function that simply produces a negative result on its input:

n1(n1) = 0

Now imagine an alternative to the S function (say the F function) that takes only 1 input (the function) and determines (somehow) whether the input function is a nelf i.e. does the input function output 0 when fed itself. It outputs some function if the function is a nelf and 0 otherwise:

F(a nelf) = some function
F(not a nelf) = 0

Now what happens to

F(F)

if F is a nelf then it outputs some function which makes it a self function. If F is not a nelf then it outputs zero which makes it a nelf function. Yet F was defined as the function that could determine whether a function was a nelf. Such a function is therefore impossible.

This conclusion below only works if the nelf is a strong version of the self function - but since the F function outputs 0 whenever the input function is not a nelf it doesn';t qualify as a strong nelf (which only outputs 0 when fed itself). I keep the conslusion cos its interesting...
Since a super nelf function (F) is just the negation of a super self function then a super self function is impossible also. There is no function that can determine whether its input function recognises itself.

So we are limited to functions that can recognise themselves, but not determine whether what they recognise itself will recognise itself!!!

Now we in the meta-world can clearly see that if a function recognises itself, then what it recognises is a function that recognises itself... but within the system a function can't determine this.

This vindicates the insight that AIME97 was never going to become conscious by some magical feedback loop feeding on itself. Dennett and Hofstadter it seems (if I understand them correctly) do think that consciousness is magically produced in this hall of mirrors.

Looking at the F algorithm it can be seen it is an probably an infinite regress (unless there was some direct way to determine the nature of the code other than running it... on itself ad infinitum) so it would never halt.

does an inf. regress always imply a contradiction then?

===

Thinking then back to the discussion on T={T} (ages ago!!). Here there was an infinite regress.

What about T = {T'}, T'=U-T, T = {U-T}, T = {U-{U-{...{U-T}...}}}

T = {U-{U-T}}

Now this suggests to me that U is a power set on some prior elements e.g.

U0 = {1,2} and T = {1} then T' = U0 - T = {1,2} - {1} = {2}

Now using the definition above T = {U1-{U0-T}} = {U1- {2} }

So if U1 = P(U0) + U0= { {1},{2},{1,2} } + {1,2} = { 1,2,{1},{2},{1,2} }

Then T' = { U1 - {2} }= { {1},{1,2},1,2 }

And again,

T = { U2 - T' } which suggests that U2 is a powerset of U1 + previous universals

U2 = { {1},{1,2},{1,{}},{1,{1}},{1,{2}},{1,{1,2}},{2},...,{{1}}...,{{2}}...,{{1,2}...,{{}}...}

which has 2^6 terms which already includes the previous universes except U0 so 2^6 + 2 in total = 66.

So U3 has cardinality 2^66+2 = 7.37869763 × 10^19
and U4 2^7.37869763 × 10^19 + 2

And this is just getting an idea of how big the cardinality starting from a universe of 2. Imagine starting from a countably infinite starting set.

So the definition T = {T'} only exists in a U populated by an infinite power set... which is a very large universe indeed!!! Find out how big???

The U in which a T = {T'} exists must have cardinality 2^(...(2^(2^inf + inf)+inf) + inf) !!!

If the first universe is countably infinite (B0 - i.e. beth zero) then each recursion shifts the size of the universe up an beth number so the size of U is B(B0), otherwise if the first universe is countable then U has cardinality B0. Either way it is massive.

Does this suggest that T={T} only works in such a vast universe also?

And what does this say about these bizarre sets?

to be continued...
===

Can Godel be seen as an infinite regress? ~(x)(y)(Pxy · Qfy). No he has found/created a statement that says that there is no other statement which acts as a proof of this statement (all referenced indirectly with statement numbers). If there was then there would be a proof of something which said it couldn't be proven which would prove a contradiction (inconsistent they call it), from which everything could be proven so it must be accepted that the statement can't be proven... which is what the statement says so it is infact true that it can't be proven. Truth arising outside proof and the logical system of proof clawing at the edges of a system that extends beyond it - incomplete they call it. But infinite regress this isn't.

Why do I always end up with infinite regress which is not logically dull and conclusive :-(

Anyway here we have a function trying to decide what it is. Clearly if it doesn't know what it is, then it can't decide what to do and so can't decide what it is! The SRH at play :-) got the SRH a bit more under the microscope.

===

Kolmogorov Complexity

Got me thinking about complexity. If there is such a thing as KC then it would provide an absolute measure of functions. An absolute but imperfect ordering since two functions could have the same complexity.

Also a function KC() which calculated the KM complexity of a function would be able to calculate its own complexity. Now what do we know about the KM complexity of the function to recursively calculate KM complexity?

===

Any function has a "self" that the observer can see (namely its form and number). Yet normally we consider self to do with the system in some way incorporating its own form or number so that it doesn't need an observer. The SRH I believe is trying to argue that the latter is impossible but apart from lose observations myself I can't see it is a logical problem... so far.

===

A Principa-mathematica version of the self argument
FINISH ITS WRONG
Presumably there are formulas in the PM with 1 free variable that are True iff the variable is bound to their godel number. These are self function.

And there are also formulas that are False iff the variable is bound to their godel number. These are nelf functions.

Now suppose there is a super nelf formula (SNF) with one free variable that is True iff it is bound to the godel number of a nelf formula.

What happens when it is bound to its own godel number?

If it is a nelf formula it will be True which makes it a Self formula. If it is not a nelf formula then it will be False.

Either way it contradicts itself.

Ergo: There is no SNF. And since this is just a negation of s super self formula there is no SSF either...

===

http://en.wikipedia.org/wiki/Full_employment_theorem

Been looking for this for a while. No algorithm can solve all problems, or explain all datas. My argument is that it would need to explain itself... but it seems there are better arguments... explore down this avenue instead of SRH maybe. 2Do

No comments:

"The Jewish Fallacy" OR "The Inauthenticity of the West"

I initially thought to start up a discussion to formalise what I was going to name the "Jewish Fallacy" and I'm sure there is ...