This is still just intuitive, just hammering it down. It may be (probably is) just nonsense.
A Universal Theorem (U) which does not account for itself is not universal because it leaves out U.
Therefore a Universal Theorem MUST involve self reference.
Now Godel's Theorem states that a logic system with sufficient self-reference to generate a Godel Statement (Beq originally) can be shown to be either inconsistent or incomplete.
Similarly we can propose a broad statement that any system with self-reference is subject to limitations.
This looks bad for a Universal Theorem because a U must include self-reference, and so its very seeking Universality introducing Limitations. But the Universal by definition has no Limitations.
(Hofstadter notes that this seems to be true in his book, but offers no further comment.)
However a Theorem that states that all self referential systems have limitations can rescue itself.
The specific limitation of the SRH is that it allows for its own Universality!
Self-Reference actually allows the SRH to be Universal because it states that all self-referential systems are limited.
SRH is thus not only a candidate for the Universal Theorem, but must be the Universal Theorem since the UT must involve self reference.
(This is kind of following Kant style Categorical Imperative reasoning).
===
Let me try and make even more simple.
A Universal Law must account for itself and so must involve self reference.
But Godel has shown that self reference can lead to contradictions limiting either the completeness of consistency of a system. (This needs to be expanded. How do we get from Godel to the SRH theorem that All cases of Self-Reference are self limiting. Perhaps its sufficient to say that All Cases of Self-Reference may be subject to self imposed constraints). (I like to think the general form of the problem lies in U not being able to account for -U. All these self-reference issues come from constructing a sentence that on the initial level is true, but through self reference makes a meta statement that negates this truth. If someone gave you all -U statements you could construct all the sentences of U (ignoring Godel), although there is no system to prove within -U --- just free styling).
So a Universal Law appears to be a contradiction in that to be universal it must entail constraints.
However if that is the Universal Law : "that all laws with self reference entail constraints" then we have a second level of self reference. The Universal Law states that "All Laws With Self-Reference Entail Constraints." So says the critic: that law cannot be universally true because it itself has no constraints. But then it does because that becomes its constraint! Universality is its constraint!
More logically the law that states that "All Laws With Self-Reference Entail Contradiction" is a law and so applies over itself and so that self reference must entail contradiction. And the contradiction is that this Law applies to itself without contradiction!
Am I really escaping the "I am a Liar" infinite regress here or does it hold consistently? TODO.
===
Is there something to add here. A trivial Universal Theorem must be a Tautology, it must always be true for everything precisely because it accounts for everything. But already we are making theorems about UTs so the job is not done. So the issue here is meta statements or self-reference statements. A UT can be constructed from looking at the issues surrounding self-reference itself. Or said another way the form of a UT can be constructed independent of anything else. This is very Kantian, very synthetic a priori.
Ok what am I actually talking about. In Natural Language SRH is a statement this is supposedly true for all statements. So is a UT any statement that is true for all x.
∀x | U(x)
Now we are arguing that this should run into problems cos "∀x | U(x)" is one such x
But what if we have the meta function Sym(x) which is true if x is made of symbols. Then obviously
∀x | Sym(x)
for all statements.
Now SRH says
∀x | R(x) & SRH(x)
where R(x) is true if x refers to itself.
If we borrow from Godel then #(x) would be the Godel Number of x.
So R(x) is true if x is about #(x)
ok need to stop this is rapidly becoming nonsense.
=== BELOW IS A SCRATCH PAD OF NONSENSE ===
Could start from a Naïve Universal Theorem which just makes a statement about ∀x | NT(x).
Now what is wrong with that? We know "Set of All Sets" is a problem in set theory from Russel's Paradox. But its more than just ∀x it requires the idea of "is a member" (∈) to get the contradiction.
∀x∃a | x ∈ a & x ∉ x
SO if I got that right then for all 'x' there exists an 'a' such that x is a member of 'a' and x is not a member of itself. Now when a = x you have a contradiction so ∄a.
'a' we interpret as the set of all x where x is not a member of itself.
Suppose we just invent an operator ⊕ which denotes self-reference so that
x ⊕ y is true iff x refers to y.
For example the expression "∀x∃a | x ∈ a & x ∉ x" ⊕ a is true.
Do we require a quote symbol to make meta statements? Can SRH be done without meta statements?
OK Godel names predicate statements by counting that is mapping to integers.
That means that by isomorphism any statement about an integer refers to a statement. So everything is self referential in PM. And what of self-reference not even noticed.
So can we say that "f(x) ⊕ x" is true for all x because the expression binds to x
So can we say that "f(x) ⊕ y" is true when y = x
The thing of interest
"f(x) ⊕ y" is also true when y is the Godel Number of f(x)!!
Now we can have some fun (and probably show that ⊕ cannot exist)!
--
Godel numbering maps all statements in PM to Natural numbers. And he uses self reference to find a contradiction. But we want to make statements about self reference itself. We want PM to say something about self-reference.
Trivially take a function f(x) which computes x(x) that is the statement at position x in the list computed with x as variable. Note the domain is just the list of functions with arity = 1.
Perhaps another g(f, x) which computes f(x). That composes all f with all x. Down the diagonal are the self reference computations.
r(f,x) = {1 if f=x and 0 otherwise} is beyond trivial but it does provide a concrete function that makes a statement ABOUT self reference.
But r(r,r) = 1 is meaningless. f was from the domain of arity-1. g is from the domain of arity-2.
r1(f,x) = {1 if f=x, 0 if f != x and undefined if f(x) is not defined}
Now if the domain is expanded to all statements then
r1(r1,r1) = undefined.
good.
---
here's an interesting meta property: the number of bits set in a number. So there are meta properties of binary numbers that cannot be computed in a simple mathematical way from their decimal numbers. ? Kind of Chaitin Omega like proofs where can prove that to know a property of a number is a contradiction through self reference
---
OK be clear on one thing. Due to the mapping for sentences in PM onto the Natural Numbers any statement about numbers is also a statement about theorems. You do not need a quote or a naming function itself.
But this now goes back to an original insight on SRH in 2007. The mapping of sentences from PM (Principia Mathematica) to N (Natural Numbers) is "outside" PM. It is something done by an "observer.". Check this. Did Godel actually need a GodelNumbering() function for his proof or was the numbering assumed? There is a post in the blog calling Godel Numbering the actual SRH. The ability to map self into the domain is the source of all SRH problems.
---
A definition of Self Reference probably useful:
Something is Self-Referential when the Domain Extends Over the Self. DEOS.
---
So a function that determined self reference would take a function and look to see if the domain extended over the self.
ϱ(f, D) = {1 if f ∈ D, 0 if f ∉ D}
WARNING however ∈ here means corresponds to a member of D even by bijective correspondence between the domain of f and D. In other words if f belongs to a domain F which has a bijective mapping to D then f corresponds to a member in D.
So let me use a ε B to mean 'a' corresponds to a unique member of domain B.
In reality this will mean that 'a' is one of an ordered countably infinite domain which therefore maps to the Natural Numbers. The Natural Number it corresponds to can be seen as the index of 'a'.
We are back to Cantors incredibly powerful use of ordered lists!
So accurately a self referential function ϱ tests f like this:
ϱ(f, D) = {1 if f ε D, 0 otherwise}
That is f is a member of an ordered countable domain which is isomorphic with D.
Lets curry the function for each domain, and N is what we want for PM.
In PM everything is a natural number. Functions are interchangeable with index numbers. In an infinite domain there are a lot of possibility so many in fact that almost nothing is impossible (except Beq for one)
So here's our SR function. And all it does is check that f is a Natural Number. Once done we know that DEOS (the Domain Extends Over the Self) through isomorphism.
ϱ(f) = true (for Domain = Natural Numbers)
Now usual process. If ϱ is a valid function then what of:
ϱ(ϱ)
Which asks basically is ϱ a Natural Number (or maps to)
Well if it is isn't then it doesn't allows self reference, yet that is an example self-referential!
So if it is in N then it allows self reference, but if it isn't then it doesn't. So since that's self-reference then ϱ necessarily must be in N.
But that argument is a bit like the Ontological Argument for God. Just because it can't be false doesn't mean it is true! It could be a contradiction
Now Suppose we have a new function (following Turin's Halting problem method)
AND NOTE WE ARE USING EXISTING PROOF SCHEMAS THAT USED SELF REFERENCE IN A THEORY SEEKING TO FORMALISE SELF_REFERENCE. THE GOAL IS A THEORY THAT CAN MAKE A GENERAL STATEMENT ON THE SCHEMAS OF GODEL, TURING, RUSSEL, BERRY, CHAITIN etc (and we assume will trip itself up in the same way as it will be self referential, but the hope is that it will trip up its own reference to self-reference and so the trip up takes itself out and steadies things .. certainly. I think Phil Scanlan may have already made this type of argument I need go back and reread)
For a particular Domain D and a function f
If f(f) is a defined or a valid statement that ϱ(f) is true as f allows self reference.
Now what if f(f) is not defined e.g. f(a,b) is a 2-ary function then ϱ(f) ↑
Now ϱ(ϱ) cannot be false as its an example of self reference itself. But it could be undefined ↑. This makes more sense and if Q(Q) is true we are saying something meaningful.
NOW PROOF that ϱ CANNOT EXIST (courtesy of Turing)
Let ϱ(x) be the function that determines if partial function x can take itself as a parameter. This is true if the domain of ϱ extends over itself (DEOS). This is the critical definition of Self-Reference here.
Now let us make a new function ϱ'(x) = {if ϱ(x) is true then undefined, else true}
That is to say it is undefined for itself and otherwise defined.
Now what of ϱ'(ϱ')
If it is defined we know that ϱ' takes itself as a parameter and so ϱ(ϱ') must be true.
But by definition if ϱ(ϱ') is true then ϱ'(ϱ') is undefined. A contradiction.
So ϱ'(ϱ') must be undefined. In which case ϱ(ϱ') is false. But by definition ϱ'(x) is true when ϱ(x) is false. A contradiction.
This is not only a proof that ϱ cannot exist, but uses the classic "liars paradox" of SRH to prove it.
Now note that we have a theorem about self-reference that is defeated by self-reference.
REMINDER that the expectation is that the Universal Theorem will we a theorem about this vulnerability of total theories to self-reference, but it will gain totality by slipping through its own vulnerability (analogous to the All Rules Have Exceptions [ARHE]).
===
Recap
A partial function ϱ(f) that determines whether f(x) can take itself as a parameter is a contradiction. So no function exists that can determine whether another function f(x) is valid for its own input.
That is to say that we cannot determine (in PM) whether a function can include self reference.
If we expand that by analogy (and this is pure speculation) then we cannot determine whether something is self referential. So even if there is a universal theorem about self reference
But there is a universal theorem about self reference. It is this theorem that You cannot determine whether something conforms to DEOS.
Suppose the Universal Theorem is that you cannot determine whether DEOS (domain extends over the self).
But we have a contradiction because we are saying Universally that you cannot determine whether the domain extends over the self. But in this case you can because we are saying in ALL CASES that you cannot tell if the DEOS and so DEOS must be true here.
As noted before
If U(x) is the universal theorem then Q(U) must be true as U must apply to itself.
But we have a proof that Q cannot exist. So we can make the statement Q(U) for U.
In which case lets ask is there a function G (God/Godel) that determines if f is the universal function? i.e. f extends over all domains.
So that is G(U) is true by definition. On aside are there any other function candidates for U or is it a single by definition?
Now we have shown that Q is a contradiction so it is not U. That is we cannot determine rules to find out whether a function conforms to DEOS (it takes itself, it is self-referential).
Q is of interest to us because we want to say that all q where Q(q) are problematic. But U is a member of q by definition.
Introduce idea: The Set of all f that are self referential cannot be determined. btw this is Russel's Paradox.
(bad notation but q is now the set of all function that take themselves as parameters, i.e. self reference functions)
Now we are saying that there is no Q to determine the set of q. Yet we know of an instance where U is a member of q.
Is this a contradiction? #TODO
Plus we can't dismiss U because that would become the universal theorem! Another contradiction. This is like the Ontological Proof of God. Berry's paradox also. There is some ultimate theorem, even if that theorem is that there is no ultimate theorem.
This is a problem even if the small realm of PM. Ignoring other theorem domains.
REMEMBER what you are doing here is not just mucking around with paradoxes and contradiction. It is trying to formulate a theorem ABOUT those paradoxes to lay out the limits of self-reference and Universal theorems.
RECAP.
- The Universal theorem U(x) by definition makes a statement over ALL x.
- Therefore U(x) must be self-referential as U(U) must exist.
- Let us define Q(f) which is true if f takes itself as a parameter. Q cannot exist.
- It means we cannot determine the set (q) of theorems which take themselves.
- Yet we know that U(x) is a member of q by definition (since to be universal it must take itself).
- So we can create a function that finds at least 1 member of q.
- Let us make a weaker function G(x) which correctly identifies U, i.e. like Q but only needs be true for 1 element.
- Now if G = U we have the same problem. So G != U. G is not the universal theorem but it can identify it (John to Jesus?). Yet doesn't G need to be true for all x? So is it the U.
- How many universal theorems are there? Try and make some more. J(x) = true is universal. Can't we use J(x) to create a contradiction like above since J(J)
- Now this is the problem. All J(J) run into problems. But a theorem about this may not... #TODO shows that above Q argument if problem for all U. Then make one function that says this and see if it escapes its own SRH problem.
Almost there?
just resaying this: the point is not to get stuck into self-reference paradoxes. Its to find a theorem that survives them, but which by definition is universal. And we hope if we express the SRH theorem properly we will have a theorem ABOUT self reference. In other words it will be 2nd order self reference. Not just an entity referring to itself, but that entity being a meta statement ABOUT self-reference. The hope is that the self-defeating nature of Self-reference will create an escape clause. As in the rule ARHE.
formalising that it would be
∀R∃x | R(x) ↑
For all R there exists an x such that R(x) is undefined. {R, x} come from the same domain thanks to Godel numbering (originally Cantor) that sees a 1:1 correspondence between statements in PM and natural numbers. Diagonalisation being the original self-reference problem arising from countable sets.
OK #TODO you're mis bind you variables..... go again!
Now if the above statement corresponds to function Y then we can say
∃x | Y(x) ↑
Now if x = Y then
Y(Y) ↑
Which is to say that y is undefined for itself. In other words it It doesn't apply to itself, it allows Y to be its own exception.
Suppose we did something mad.
∀R∄x | R(x) & ¬R(x)
For all R there is no x such that R(x) and Not R(x) which is standard contradiction. You might argue this must be true. But if this statement is Z then
∄x | Z(x) & ¬Z(x)
...TBC
Anthropic Principle is relevant.
All self-reference proofs depend upon the ontology created by the self. That is by making a statement we commit to an ontology and that is then shown to be a problem.
"I am a liar" is a problem because like Descartes we commit to a thing e who is a liar. The dispute with Descartes is not whether there is a lie, but what is the lie. For Descartes there is the body of the liar and the spirit of the lie. Quine's Use and Mention perhaps.
SRH always makes dichotomies or dialectics in order to escape breaking things. Indeed the proof of SRH involves why statements and meta statements exist in the first place. Like Ryle it may turn out that the "sense" changes in order to escape the contradiction that come from SRH. The mind is forced to see a thing in the two senses of "use" and "mention" to escape deep problems. Potentially?
The thing is once we have this statement "I am a liar" we definitely have something. There is no escaping this. It becomes the start of our ontology and we can't get rid of it now without creating a new ontology that does not have it. This is a common mistake in thinking. So many times people have something they want to get rid of, but they never realised they are already doomed. Whatever they do began life with the thing they want to get rid of, and so everything they do comes from this thing. Even the Nazis trying to get rid of the Jews just made the Jews stronger. This comes out in the latest version of Jules Verne's Time Machine (2002) where Alexander Hartdegen eventually discovers that he can't use the Time Machine to save Emma because it was her death that led to his inventing the Time Machine. Once we have the Death of Emma as our ontology we are stuck in that universe. (Sounds a bit Copenhagen Multiverses). Is it SRH that leads to this? Indeed Emma Hartdegen is a contradiction!
So any proof of this type starts with a thing T and then shows that T(T) is a problem.
Even those constructive proofs construct something from T that becomes the problem.
Indeed T(x) = F(T(x)) is the whole problem.
So "I am a liar" is fine until we realise that it refers to an entity that has been created by itself. Now it won't go away. We are stuck. By reading it we are committed to a world that seemingly can't exist and yet it does because we read it.
Anthropic Principle is similar. We start thinking about the Universe and we quickly realise that the main thing we can say about the universe is that there is a thinking thing in it. Indeed that thinking thing precedes the thoughts about the universe. So no matter how great the universe is, this thing must be greater! I can think that the universe does not exist, but I can't think that this universe does not contain me or thinking.
So all statements create an ontology that contain themselves. And the contradictions always (prove this) revolve around this a priori ontology being challenged by the constructed ontology.
A(x) is a function that is true if A(A) is defined otherwise false. Effectively from the scope of the function it its realising that in returning a value it exists. Its this subtle kind of Ontological Proof that exists (but is suspect a la anatta). If I am answering the question then I have bound myself to the variable and so I must exist. Cognito Ergo Sum effectively. If I am doubting that I exist then who is doubting? You can't doubt that there is doubt. The very action of doubt a priori commits you to some existence. If I am thinking there must be a thinker. And Kant Transcendental arguments. The very starting point of a mental process or argument already presupposes certain things.
what of the Liar.
L(x) is a function that is True if L(L) is false.
Defining things in terms of themselves is the classic SRH.
L(x) -> !L(x)
So is the DEOS is not sufficient for SRH. We are saying DIOS also (Definition Independent Of Self)
DIOS
Now this is actually the original SRH. And problems are obvious. Where is the demarcation between self and not-self. A Quine produces itself as output. Somehow the program "contains itself."
https://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem
But loosely if F(x) := F(x) we have problems. Original SRH sort to find out whether it could tell whether a recursion was going to be a problem or not.
Halting is one such problem of recursion. Halting is not decidable. So already its impossible to decide whether a particular recursion (self definition) will be a problem! So failure already.
Now can we reconstruct this to show the SRH
(1) SRH involves itself in the definition
(2) The contradiction so created liberates SRH to be a Universal Function.
== Note I am unclear right now the difference between DEOS and DIOS.
----
A simple proof a la Turing to add to problems of SRH
Let R(x) determine whether x is a recursive function. In other words R(x) is true if x is defined anywhere in terms of x(x)
Let us construct R'(x) { if R(x) return 1 else return R'(x) }
Now what of R(R')
If it is true then R' is recursive but by definition R' simple returns 1, and if it is false then R' is not recursive yet by definition it calls itself. So simple contradiction.
This suggests that R'(x) is impossible. You cannot determine whether a function is recursive. Step up from the Halting problem which deals with recursive function that never reach an exit statement.
Now it could be that R(x) is actually defined in terms of R'(x). So that R(R') ... follow this
Quick check what of A(x) = B(x) and B(x) = A(x). R(A) appears not to be recursive since its defined in terms of B(x). But since B(x) is defined in terms of A(x) R(A) is true.
=Universal Engineer
And this links to something ages ago on Universal Engineer and Walle. Can a robot fix itself like Walle in the cartoon? Well in some cases yes and in some cases no. If you need eyes to coordinate the operation then you cannot fix your eyes. This is the idea of "Dependency" which is key to original SRH (see summary). The Universal Engineer is a function that takes a blue print and a function and basically does "Unit" Testing on it. It breaks the function down into separate sub function Units and checks that they "work" as in have the same output as the Blue Print for all inputs. The UE works recursively on all units until it can't subdivide anymore.
>Therefore a function must have an atomic level
>A function must be composable from sub functions.
I spent a few days on this in 2010 and didn't resolve it. Can you write a function system that cannot be composed into units. Basically system composed from mutual dependencies. The kind of thing that in software development is called uncoupling. Can all systems be completely uncoupled into atomic functional style programming.
Daniel Dennett says that all computable processes can be reduced to a single thread. So anything that can be computed can be done in a simple list of instructions. That is because a Turing Machine can transform any number into any other number (or list of symbols into any other list of symbols). And a Turing machine can do all computations. But what does this say about function compositions and recursion? Look into that!
So lets say that Walle is a UE. If he has a blue print of himself and seeks to do checks he must avoid the situation where any component is fixing itself. This suggest redundancy!
Suppose you had three UE, namely A,B,C. They check each other. Suppose A says that B is faulty, who says that C is faulty who says that A is faulty. Now if A is faulty then we can reject its statement about B which means B is unknown state. But that means that C is correct. So C is not faulty (or just lucky). But that means that B is faulty, which means that A was actually correct.
So the problem here is that a stopped clock is correct twice a day. Being correct in a single instance does not tell you whether something is working. Working by definition means correct in all cases it is defined for. A UE is supposed to confirm that something is Working and isolate the subcomponents that are not through recursion on parts. Note that the system {A,B,C} here is just another UE(x). It may turn out that a UE(x) is recursive.
TO PROVE: is UE(UE) a problem. Can a machine universally self determine its own functioning? But given that a UE(x) can be of any complexity isn't the whole world a massive UE(x). We know that machines can be fixed so a UE(x) does exist. If my computer program has a bug we can debug it if we know what it is supposed to do. Does the world do this simply by statistics and democracy? If 100 UE agree that another UE is faulty, and that UE thinks the 100 are faulty so we take the side of the 100? Isn't this the problem humans face. 100 people say the stock market is okay, and one says it will crash what do we do?
So the question anyway is what happens when UE(UE) i.e. Walle computers try to fix themselves. What are the limits and is such a thing impossible because of SRH.
Returning above UE bit, so the question for R(x) is about function composition and whether this can be determined.
A(x) = B(x), and B(x) = A(x) means that R(A) must be able to look through the system and determine composition. So we are assuming that functions are not atomic and can be broken down into components. (Is this possible or is there a contradiction). And then there are may options.
Suppose A(x) = B(C(x)). In other words A(x) achieves the same result not of B nor C but B applied to C.
Now suppose C(x) = B(C(x))
R(A) is that recursive? Well not immediately cos A is defined in terms of B(x) and C(x). But it turns out that B(C(x)) achieves the same result as A(x). So isomorphically they are the same (the domain and range map perfectly between the functions). So R(A) returns true. But that makes R(x) as special a function as UE(x) because it is able to look at all sub-processes within a function and determine isomorphism.
So we can prove that allowing R(x) would generate a contradiction. But given what R(x) is does this also spell problems for UE(x) and any system that seeks to make formal decisions about function and system composition. Namely is Walle in trouble when it comes to diagnosing and fixing himself, and trouble that he can't even determine.
These are the kinds of problems that arise with "self". They introduce uncertainty and break systems. That is OSRH.
=Quick SRH Summary (again)
Lets make the distinction now. OSRH is the AIME problem of a computer processing its own input and becoming meaningless. AIME came from Self-Consciousness ideas that if you feed a computer its own output you can create a sense of "self". Amazing to see this still in the research even last week. If you feed something its own input you get a fractal, and (TO BE PROVED?) the fractal organises around the Fixed Points which are guaranteed if the domain is within the range of the function. See Kleene Fixed Point theorem here (states there is always a fixed point?). Fixed Points of recursive/self referential systems are seen as the essence of the problem of SRH (TO BE PROVED). All the famous paradoxes are corollaries of Fixed Points. OSRH is really The Paradox Theorem that should correspond to any Fixed point Theorem. If you have a Fixed Point you can construct a paradox (TBP).
+1 Theorem, Horatio Theorem, God Theorem all derive from the idea that a Universal Theory must have a fixed point, must be self referential, must be recursive and so must break allowing in Godel Incompleteness, and showing that the system must be derived/depend upon things OUTSIDE itself. A Universal Theorem is a contradiction.
The thoughts of this blog page suggest that this itself may be the Universal Theorem because by proving that all theorems can't be universal you have a universal theorem. Which looks like a contradiction BUT if the theorem is saying that all theorems have an exception/incompleteness/or hole then that hole can let the theorem itself through without contradiction. So the God Theorem is actually its own dependency! This sounds a bit like Scanlan's book (which I scanned in 20 mins to get the gist) need to go back and check.
So OSRH was to do with recursion. Diverted SRH is to do with entities, actually naming a "self" and "x". OSRH is expressed in functions, it is processes it leads to infinite regress and Non-Halting. DSRH is set theory like ∀R∃x and leads to contradictions. Are they the same and just a notation difference, or is there an actual difference.
...This has become unclear
To conclude todays input there is no set of rules to determine whether a function is recursive. Identical to the Halting problem. Which says impossible to tell if recursion terminates.
What we are looking for in SRH is to show that presence of recursion is a problem. But we can't even decide whether recursion is present.
Could we show that if recursion is not present then it halts. And equally if recursion is not present then no contradictions. Equally recursion (analogous to self reference in SRH) is required for contradiction. Kleene here. Equally presence of Fixed Point is death knell.
https://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem
Rogers's fixed-point theorem. If
is a total computable function, it has a fixed point.
YOU NEED IMPROVE YOUR MATHS HERE AND MAKE ALL THIS WELL FORMED
and don't forget the gold standard is a theorem ABOUT all these issues surrounding self-reference. Simply using self-reference to cause problems is not the point.
==
Just doing this in code now. Suppose like in Visual Studio you had a function R(x) which finds all references to a function (whatever this exactly means). So that R(A) is a list of functions that calls A. Then we can simply look to see A ∉ R(A). Now of interest to SRH. Does the presence of A ∈ R(A) prove a problem. Right now in Visual Studio it does. I have a method on the derived class M'() that does essentially the same thing as the base class M(). As a result someone has called the base method M() instead of the derived method M'(). Can I make M'() override the base method M()? Well what if M'() is defined in terms of M(). I need make sure that M'() does not refer to itself but refers to the M() in the base class. Okay can see this is not by itself a problem if M'() has a bailout clause that terminates recursion. An interesting problem not faced before of recursion involving polymorphism!
Anyway that shows that A ∈ R(A) is not the end of the world as long as A() is defined in such a way such as A(A | 0) meaning A doesn't ALWAYS call itself and can bailout by calling on something else (i.e. +1, Horatio, God theorem).
Horatio Theorem: A function where all "paths" call itself will never halt. "Paths" is the same concept (and problem) as components/Units above. The number of paths is also the number of Units/Components. Is this true: where there is a path there is an interface and a unit test?
So can we rehash the UE problem into defining the interfaces. Is there a theorem determining the maximum number of interfaces in the computation. Isn't this the same as the number of jumps/function calls. So the code pointer is either "add" or "jmp". Does a jmp means an interface? It means a context are these the same. Its the jmp which is the basis of recursion and which enabled SRH.
Note here the difference between OSRH and DSRH. OSRH allows a jump back to the start to mean "self." While for DSRH this is not self as it could be implemented by an identical piece of code.
OK difference between OSRH and DSRH (renaming Pure-SRH PSRH)
A friend told me he was teaching programming. He set the problem of making it print "Hello World!" continuously hoping the student would come up with this.
10 Print "Hello World!"
20 Goto 10
When he came back the program indeed did print "Hello World!" continuously. He broke execution and looked at the code.
10 Print "Hello World!"
20 Print "Hello World!"
30 Print "Hello World!"
40 Print "Hello World!"
...
Given an infinite amount of memory the two pieces of code are the same!
OSRH does not care! "Self" for OSRH is isomorphic with. We could call it Duck SRH. If it looks like Self and smells like Self then it is self.
PSRH is different. Self means same entity. Okay this is a problem been aware of since AIME but not fully formalised. Its a subtle difference. What does this mean:
"This sentence is false"
we start
10 a = "This sentence of false"
20 a is false
30 Means "This sentence of true "
40 b = "This sentence of true"
50 b is true
60 Means "This sentence of false"
70 Goto 10
So when we think about it we actually create 2 entities and spin around between them infinitely. And we actually do that many times. Eventually we realise the loop. Interesting closing the loop is when we bail out. "Been Here Before" we think. So "loop" is actually a meta statement in our minds. We don't actually loop. That is interesting in itself. 10 Goto 10 while a machine instruction for the coder is actually a meta statement that we want an infinite loop.
But this is all OSRH. Pure SRH would say self must be the same entity.
x = "x is false"
But then you have the difference between x and the name x. both x and "x is false" are names for an entity. That entity is then bound into the statement.
OK take a break...
Liar Paradox DSRH make this work....
∃x | !x(x)
===
Lets leave vague attempts at formalising this for a moment...
Lets take that proof that ϱ(x) which is to say that no function exists that can determine if a function allows self reference DIOS and PSRH (that is domain extends over self and Pure Self-Reference cos we are talking about reference to entities)
In essence we just have a situation where a function makes a statement and it contradicts itself.
Lets take Berry's Paradox as well. The least uninteresting number.
So we have P(x) where x ∈ N, P ∈ Properties is true if x is an interesting number.
And Q(x) is true if x is the smallest member of a set.
Now Q(x) -> P(x) that is the smallest member of a set is an interesting number
So the set P'(x) is the set of uninteresting numbers. But ∃x | (Q(x) & Q'(x) is a contradiction.
Now is this the universal pattern.
Russel's works.
Godels's works.
Do Turing's...
And Do the most basic Liar
Once you have a general theorem to describe paradox apply to self to see if a Universal complete theorem.