Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Understanding the recursion theorem

  1. Feb 19, 2012 #1
    Hi all,

    Im doing some self study in set theory, but got kind of stuck with a proof my textbook gives about the so called recursion theorem:

    What I get from this is:
    Let [itex]\phi[/itex] be a function that maps the result of a function that maps natural numbers to the set a, to the result of another function that does the same.

    If you'd pick two functions from the function set a[itex]^{\mathbb{N}}[/itex] and these return the same result for an element n, then the set of functions [itex]\phi[/itex] would yield the same given f or g using n as input.

    They then continue to use this to show there is a so called fixpoint in the set of functions [itex]\phi[/itex] which yields itself given itself as input to [itex]\phi[/itex]. But I don't see how this follows from the facts described above...

    Then they go on proving there can be only one such a fixpoint in the set of functions [itex]\phi[/itex], but this makes even less sense to me:

    I was hoping someone could explain this theorem and proof in a somewhat less abstract fashion and maybe point out flaws in my reasoning?

    Any help is greatly appreciated!


  2. jcsd
  3. Feb 20, 2012 #2


    User Avatar
    Science Advisor
    Homework Helper

    They construct the fixed point of [itex]\phi[/itex]. They call this fixed point [itex]L_0[/itex], and they give you a recursive definition of this function, although admittedly their description is a bit confusing because it involves this intermediate definition of the functions [itex]\phi_n[/itex]. Let's make sure you understand the basics first before understanding the construction of [itex]L_0[/itex]. I.e. make sure you understand what I've written above, the corrections and additions to your statements. Be especially clear about the fact that [itex]a^{\mathbb{N}}[/itex] is a set of functions, and a function [itex]a^{\mathbb{N}}\to a^{\mathbb{N}}[/itex] is a function whose inputs and outputs are functions! Meaning whole functions are being treated as individual objects, which can serve as inputs and outputs of yet other functions. You should also be clear that the [itex]\phi[/itex] in the statement of the theorem is not a particular function [itex]\phi[/itex]. Rather, it says that if [itex]\phi[/itex] is any function of functions which has a particular nice property, then it has a unique fixed point.
  4. Feb 20, 2012 #3
    Thank you very much, that certainly helped!

    So the corrected line of thinking should be; If there are two functions in a set of functions which return the same results for input restricted up to n, then the set of functions yield the same result on either f(n) or g(n).

    I think I get the statement of the theorem; Given a set of functions there exist at most one input (a function) on the set of functions that yields this same input (the same function). And I think I understand the proof by contradication they provide to show there can be only 1 such function.

    But i'm still lost in the details:
    L[itex]\phi[/itex](n+) maps n+ to a
    [itex]\phi[/itex]n+ is the set of functions that map n+ to a
    L[itex]\phi[/itex]|n+ is the set of results of L[itex]\phi[/itex] from 0 up to n

    So how can L[itex]\phi[/itex](n+) be equal to [itex]\phi[/itex]n+(L[itex]\phi[/itex]|n+) ?

    Thanks again!

  5. Feb 20, 2012 #4
    You might find it helpful to visualize a function from N->X is a sequence of elements of X. That lets you see more clearly what they're getting at.
  6. Feb 21, 2012 #5
    Hmmm if I'd simplify the case and substitute the set of functions by a function that maps [itex]\mathbb{N}[/itex] to [itex]\mathbb{N}[/itex], and the function inputs f & g by elements from [itex]\mathbb{N}[/itex]... it would basically say something very trivial; a function maps each input to one output, so if the input equals the output, that would be the fixpoint??
  7. Feb 21, 2012 #6


    User Avatar
    Science Advisor
    Homework Helper

    Hmmm, what you're saying definitely isn't right. You're not mentioning [itex]\phi[/itex] at all.

    We've got our set of natural numbers [itex]\mathbb{N} = \{ 0, 1, 2, \dots \}[/itex]. And then we've got some other random set [itex]a[/itex]. Now we can talk about functions from [itex]\mathbb{N}[/itex] to [itex]a[/itex]. We can imagine the collection of all such functions, and we call said collection [itex]a^{\mathbb{N}}[/itex]. If [itex]f\in a^{\mathbb{N}}[/itex], then [itex]f[/itex] inputs natural numbers [itex]n[/itex], and outputs something [itex]f(n) \in a[/itex].

    Next, we can think about these sort of monster functions, which eat up entire functions as input (i.e. their inputs are not merely numbers, but entire functions), and spit out entire functions. We're interested now in talking about monsters [itex]\phi[/itex] which input elements in [itex]a^{\mathbb{N}}[/itex] and output elements in [itex]a^{\mathbb{N}}[/itex].

    [tex]\phi \in \left(a^{\mathbb{N}}\right)^{a^{\mathbb{N}}}[/tex]

    or, equivalently:

    [tex]\phi : a^{\mathbb{N}} \to a^{\mathbb{N}}[/tex]

    But we're not interested in any old [itex]\phi[/itex]. We're only interested in a certain kind of [itex]\phi[/itex], those that have a certain nice property. The Recursion Theorem says that if [itex]\phi[/itex] is any monster which has some particular nice property, then [itex]\phi[/itex] has a "fixed point," namely some input [itex]f[/itex] such that [itex]\phi(f) = f[/itex].

    [tex]\forall \phi \in \left(a^{\mathbb{N}}\right)^{a^{\mathbb{N}}}\ \ \left(\phi\mbox{ nice }\Rightarrow \exists f \in a^{\mathbb{N}} : \phi(f) = f\right)[/tex]

    The first question is, what is this "nice property?" We'll say [itex]\phi[/itex] is nice if for any two functions [itex]f,g\in a^{\mathbb{N}}[/itex], if it so happens that for some [itex]n\in\mathbb{N}[/itex]

    [tex]f(0) = g(0), f(1) = g(1), \dots, f(n-1) = g(n-1)[/tex]

    (i.e. [itex]f[/itex] and [itex]g[/itex] "agree up to [itex]n[/itex]") then when the monster eats up [itex]f[/itex] and [itex]g[/itex], the resulting functions it spits out "agree at [itex]n[/itex]), i.e. [itex]\phi(f) (n) = \phi(g) (n)[/itex].

    Definition: For [itex]\phi : a^{\mathbb{N}} \to a^{\mathbb{N}}[/itex], we say [itex]\phi[/itex] is "nice" iff:

    [tex]\forall f,g\in a^{\mathbb{N}} \forall n \in \mathbb{N} \left [\left(f(0) = g(0), \dots , f(n-1) = g(n-1)\right) \Rightarrow \phi(f) (n) = \phi(g) (n)\right][/tex]

    There will be infinitely many nice monsters, and infinitely many not-nice monsters (assuming [itex]|a|>1[/itex]).

    Again, let me stop here and make sure you've understood all this correctly before I go on and explain the proof of the theorem. There's a lot more to say about better ways to understand functions [itex]\mathbb{N} \to a[/itex], better way to understand nice monsters [itex]a^{\mathbb{N}} \to a^{\mathbb{N}}[/itex], and understanding how the Recursion Theorem justifies the process of "defining functions by recursion" (e.g. you could define the Fibonacci function by [itex]f(0) = 0, f(1) = 1, f(n+2) = f(n+1) + f(n)[/itex], but how do you know there exists a unique function satisfying this definition? It seems obvious, but the rigorous answer is: The Recursion Theorem). But let's make sure we're on the same page with the basics first.
    Last edited: Feb 21, 2012
  8. Feb 23, 2012 #7
    Thank you very much for this lucid explanation, I wish my textbook was that clear!

    I still wonder about the proof and the practical usefullness of the theorem though!

    PS: I did not mention [itex]\phi[/itex] in my previous post as I thought Steve suggested I should look at it in a simplified way; Where [itex]\phi[/itex] would be analogous to a function [itex]\mathbb{N}[/itex] [itex]\rightarrow[/itex] [itex]\mathbb{N}[/itex] and the input functions f & g analogous to elements of [itex]\mathbb{N}[/itex] (so comparing the construct to a regular function). But I now understand the gist of the recusrsion theorem to be about a property of functions.
    Last edited: Feb 23, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook