0

Here's the theorem :

Let $E$ be a set, $g$ a function from $E$ into $E$, and $a$ an element of $E$. There exists a unique function $f$ defined from $\mathbb{N}$ into $E$ such that $f(0)=a$ and $f(n+1)=g(f(n))$ for every natural integer $n$.

I'm just trying to find a proof about that theorem. I'm just a student; all I know is that this theorem is true and I would like to have a proof about it, but I really don't know how to achieve it.

user26857
  • 52,094
toto
  • 165
  • Well, by definition, $f$ contains one ordered pair, $(0,a)$. And then we have a relation $f(n+1)=g(f(n))$ i'll call this relation $()$. so, it seems that, yes, you have some ordered pairs and, the first element of each pair only appears once (from relation $()$) – toto Aug 16 '16 at 10:07
  • Is $f$ indeed from $\mathbb N$ to $E$ ? –  Aug 16 '16 at 10:08
  • Since $f(0) = a$ and $a$ is an element of $E$, and $f(n+1)=g(f(n))$ where $g$ is from $E$ to $E$. It seems that by definition, $f$ is indeed from $\mathbb{N}$ to $E$ – toto Aug 16 '16 at 10:12
  • Last thing: why is $f$ unique ? –  Aug 16 '16 at 10:13
  • I know that's from the extensionality axiom, but i don't know how to prove it. – toto Aug 16 '16 at 10:14
  • I suppose that, if $f$ has the same graph as $f'$ then, using the extensionality axiom you can prove that $f$ and $f'$ have the same ordered pairs, and so, by extensionality axiom are the same, but, to prove that every pairs in $f$ and $f'$ are the same, i must use an inductive proof i think. – toto Aug 16 '16 at 10:17
  • Translated in terms of functions, this means that any function that fulfills the above definition of $f$ is equal to $f$, i.e. is made of exactly the same ordered pairs. –  Aug 16 '16 at 10:17
  • Yes, but i have to do an inductive proof for that no ? – toto Aug 16 '16 at 10:19
  • yep (if you are allowed to :) ) –  Aug 16 '16 at 10:20
  • Okay, i know how to do the initialisation, but not the inductive step, how should i proceed ? – toto Aug 16 '16 at 10:21
  • @user21820, are you sure about that, cause in my book, they said that you can state that two functions are equal if they have the same domain and range and if they have the same ordrered pairs, and they said that is due to extensionality axiom. – toto Aug 16 '16 at 10:23
  • @toto: That bit is true; I misread your comment as stating more than for that. – user21820 Aug 16 '16 at 10:24
  • Okay, that's great so ! But i'm still stuck on the inductive step in my inductive proof. I'll read your answer @user21820 – toto Aug 16 '16 at 10:25
  • @toto: Yes read my answer. Induction can only produce approximations, never the final desired function. You need some extra thing, which in ZF is the axiom of union, to construct the final function from the approximations. – user21820 Aug 16 '16 at 10:30
  • @user21820, i'm reading your answer, it is pretty cool, i'm on the inductive part, i have some difficulty to accept the part where you say that $P(n)\Rightarrow P(n+1)$ by explicit construction, it is allowed ? By an axiom ? – toto Aug 16 '16 at 10:34
  • @toto: It's not an axiom. I've left small gaps that you'll have to fill in yourself. For this gap you have to construct a witness for $P(k+1)$ from a witness for $P(k)$. Can you? You just need to add a single ordered pair and prove that it witnesses $P(k+1)$. Feel free to continue clarification under my answer. – user21820 Aug 16 '16 at 10:42
  • What is a witness (i'm french i don't exactly understand what you're meaning by that) – toto Aug 16 '16 at 10:44
  • @toto: If you prove "there is a function such that ..." then such a function is called a witness for that sentence. Please continue under my answer, to avoid cluttering the comments under your question. – user21820 Aug 16 '16 at 10:58
  • @toto Search it on google! This questions needs an improvement! – BlizzardWalker Nov 13 '20 at 17:34

1 Answers1

3

$\def\nn{\mathbb{N}}$Consider the following procedure $f$ that requires an input from $\nn$:

  $f$ on input $n$ does the following:

    If $n = 0$:

      Output $a$.

    Otherwise:

      Output $g(f(n-1))$.

Note that $f(0) = a$. Also note that, given any $n \in \nn$, if $f(n)$ produces an output then $f(n+1)$ also does and furthermore $f(n+1) = g(f(n))$. Therefore by induction $f(n)$ produces an output for every $n \in \nn$, and $f(n+1) = g(f(n))$ for every $n \in \nn$. Thus $f$ is a function on $\nn$ satisfying the desired properties. Finally, it is easy to prove (by induction again) that any two functions satisfying the desired properties are the same.


The above proof is based on intuitive concepts, but these are not available in some formal systems such as ZF set theory. In ZF a function is defined as a set of ordered pairs (intended to encode (input,output) pairs) such that no two have the same first entry (each input maps to only one output). To build the desired $f$ we must build approximations.

The first step is to let $P(k)$ be the assertion that there is a function $h$ with domain $\{0..k\}$ such that $h(0) = a$ and $h(n+1) = g(h(n))$ for every $n \in \nn_{<k}$. Then clearly $P(0)$ and $P(k) \to P(k+1)$ for any $k \in \nn$, by explicit construction. Therefore by induction $P(k)$ for every $k \in \nn$.

The second step is to show that any function witnessing $P(k)$ is unique for the given $k \in \nn$. Again this is by induction.

The third step is to let $(h_k)_{k\in\nn}$ be a sequence of functions such that $h_k$ witnesses $P(k)$ for every $k \in \nn$, and show that $h_i$ and $h_j$ agree on $\{0..i\}$ for every $i,j \in \nn$ such that $i < j$. Again, this is by induction ('on $j$').

The fourth step is to let $f = \bigcup_{k\in\nn} h_k$, and to check that it is a function (which follows from the pairwise agreement) and that it satisfies the desired properties (which follows from the fact that $h_k$ witnesses $P(k)$ for every $k \in \nn$.

Longwinded? I agree. But that is just how it is. Essentially no shortcut.

user21820
  • 57,693
  • 9
  • 98
  • 256
  • Okay, i'm just commenting to tell you what i understand about the step one, it seems to be a strong induction (supposing an assertion P(k) true for every k in the set {0...k}). The predicate P(k) can be defined as : "$\exists h : (h(0)=a \wedge h(n+1)=g(h(n))), \forall n \ in \mathbb{N}_{<k}$" – toto Aug 16 '16 at 10:56
  • Typically "such that" has lower priority. Sorry that English is making it difficult. $P(k)$ asserts "$\exists h : {0..k} \to E\ ( h(0) = a \land \forall n \in \nn_{<k}\ ( h(n+1) = g(h(n)) ) )$". Only normal induction is needed. – user21820 Aug 16 '16 at 11:02
  • Okay, so, that means that, if $P(k)$ is true for 0. therefore, $h$ contains the ordered pair $(0,a)$ and since $g$ is from $E$ to $E$ and is well defined, it means that $g(h(0))$ exists and therefore E contains the ordered pair $(h(0), g(h(0)))$, but by definition, $h(n+1)=g(h(n))$, so $(n+1,h(n+1))=(h(n),g(h(n)))$ for all $n$ less than $k$. So this equality holds for $n=0$, so $(0+1, h(0+1))=(h(0),g(h(0)))$ so $(1,h(1))=(a,g(a))$. So if h contains $(0,a)$ it also contains $(1,h(1))$ – toto Aug 16 '16 at 11:20
  • So the same construction goes on until n is equal to k. then we can say that if $(k,h(k))$ is in $h$, then $(k+1,h(k+1))$ is also in $h$. And that's the inductive step because we proved that $P(k)\rightarrow P(k+1)$ right ? – toto Aug 16 '16 at 11:30
  • @toto: I'm afraid you don't get the logic. Write out what $P(2)$ says and what $P(3)$ says, and see whether you can prove $P(3)$ given that $P(2)$ is true. Do you grasp completely the meaning of quantifiers in logic? See http://math.stackexchange.com/a/1782071 for how to understand and reason about them intuitively. – user21820 Aug 16 '16 at 11:52
  • hum, i write them down, here's what i've done : $P(k) := "\forall n \in \mathbb{N}_{\le k}, h(0)=a \wedge h(n+1)=g(h(n))"$ From there i can suppose $P(2)$ the formula give me : $(h(0) = a \wedge h(0+1) = g(h(0)))\wedge (h(0) = a \wedge h(1+1) = g(h(1))) \wedge (h(0) = a \wedge h(2+1) = g(h(2)))$ So i can get the form $h(0) = a \wedge h(0+1) = g(h(0))\wedge h(2) = g(h(1))) \wedge h(3) = g(h(2))$ – toto Aug 16 '16 at 12:16
  • @toto: You're not using the version of $P$ I gave you. Yours is wrong. And do delete the duplicate comment. – user21820 Aug 16 '16 at 12:18
  • Why my P isn't a valid one ? – toto Aug 16 '16 at 12:21
  • @toto: Just look at mine. $h$ is undefined in yours, and also your logical structure does not make sense. – user21820 Aug 16 '16 at 12:24
  • Here's what i get : $P(2) := "\exists h : {0...2}\rightarrow E, h(0)=a \wedge (h(1)=g(h(0))) \wedge (h(2)=g(h(1)))"$ Now, P(3) $P(3) := "\exists h : {0...3}\rightarrow E, h(0)=a \wedge (h(1)=g(h(0))) \wedge (h(2)=g(h(1))) \wedge (h(3)=g(h(2)))"$ – toto Aug 16 '16 at 12:40
  • @toto: Right. So to prove $P(3)$ from $P(2)$ what you can do is to instantiate the existential in $P(2)$.. giving you a $h$ with the stated properties, and then construct a new function with domain ${0..3}$ that witnesses $P(3)$. You'll notice that this process of construction can be generalized to prove $P(k) \to P(k+1)$ for general $k \in \nn$. This is what you need for the induction. Oh and use \{...\} to get the braces to show up in LaTeX. – user21820 Aug 16 '16 at 12:43
  • We can see that $P(3)$ can be defined as $P(2) \wedge h(3)=g(h(2))$ Since g is well defined, and $h(2)$ is defined in $P(2)$, we can chain $P(2)$ with $h(3)=g(h(2))$ in order to generate $h(3)$, right ? – toto Aug 16 '16 at 12:44
  • @toto: Roughly correct idea but incorrect reasoning. $P(3)$ is a truth value, not a function. Try again. From $P(2)$ we get a function $h$ ... and then let $h'$ be the function ... [namely build $h'$ to witness $P(3)$] ... – user21820 Aug 16 '16 at 12:46
  • You said "what you can do is to instantiate the existential in $P(2)$" you can do that from an axiom ? – toto Aug 16 '16 at 12:48
  • Okay i get it, it means that, since the assertion P said that it exist a function h which has some properties. If the assertion P is true, therefore h exist and have the enumerated properties. So i have to prove P(2) to be true, it gaves me a function h which have some properties, one of those properties is that h(2) is defined, and since i know that h(n+1)=g(h(n)), i can get h(3) by replacing n by 2. And so, since h had all the previous condition needed, it only need to have h(3) from h(2). – toto Aug 16 '16 at 12:57
  • Just one more question, on the initialisation this time, how do you prove that $h(n+1)=g(h(n))$ is true when n=0 ? Is it true by definition ? – toto Aug 16 '16 at 13:13
  • @toto: Right idea in your first two of your last comments, but again you must be more precise; you're given $h$ with some properties, including domain ${0..2}$. Intuitively you modify $h$ by defining $h(3)$, but formally you cannot change $h$. Instead define $h' = h \cup {(3,g(h(2)))}$ and check that $h'$ is a function with domain ${0..3}$ and witnesses $P(3)$. We can generalize what we've discussed to prove $P(k) \to P(k+1)$ for any $k \in \nn$. We also need $P(0)$, which is trivially witnessed by the function ${(0,a)}$. – user21820 Aug 16 '16 at 13:23
  • @toto: Your last comment suggests you still have trouble with logic. Did you read my linked post about game semantics? – user21820 Aug 16 '16 at 13:24
  • I will, i was still concentrated on our topic. Okay i will read it, thanks a lot for your help, you really helped me to pull some shit out of my brain – toto Aug 16 '16 at 13:26
  • Oh, so i see why when you have proved h and h' exist and h support P(n) and h' support P(n+1) you have to prove that h and h' are the same, because since you're redefining h' from h, you must have the guarantee that h and h' are the same. right ? Well more generally i don't understand why we must prove unicity of h – toto Aug 16 '16 at 13:40
  • @toto: Have you read the other post? If you want to prove "$A \to B$" you do not prove $A$. – user21820 Aug 16 '16 at 13:43
  • i don't get what you're talking about. Well my question is about your second step, you said : "The second step is to show that any function witnessing $P(k)$ is unique for the given $k\in \mathbb{N}$. Again this is by induction." But why must we do that ? – toto Aug 16 '16 at 13:53
  • @toto: If $h$ witnesses $P(n)$ and $h'$ witnesses $P(n+1)$ then $h,h'$ have different domains so they can't even be the same. What the second step is about is that the witness for $P(n)$ is unique (any two witnesses are the same). The first step only proved existence of a witness. And before we continue please confirm that you have read and understood my linked post on game semantics, otherwise our discussion may be an inefficient use of time and energy. – user21820 Aug 16 '16 at 14:06
  • No, i'll stop there, because that's a lot of information, i will read your article, but is it this one : http://math.stackexchange.com/questions/1781769/is-formal-truth-in-mathematical-logic-a-generalization-of-everyday-intuitive-tr/1782071#1782071 Cause if it this one, that's hard for me to understand the link between my problem and your post – toto Aug 16 '16 at 14:14
  • @toto: It's that one. It is about what the implication and quantifiers really mean. It is quite clear from our discussion that you do not understand them properly, and that is hindering your understanding of the proof of the recursion theorem, which requires a full grasp of logic. (Incidentally, many teachers also do not have a proper grasp of logic.) Anyway if you have questions about logic, do ask on Math SE. When you have sufficient grasp of logic you can come back to this proof. In the meantime, it's good enough if you can understand the intuitive version. – user21820 Aug 16 '16 at 14:20
  • Okay but that's weird, cause i know the basic natural rule of logic, i mean : implication, modus ponens, negation, reductio ad absurdum ect... I mean that i know that demonstration could be express as tree of proof. And i know each rule. – toto Aug 16 '16 at 14:23
  • @toto: Hmm.. all mathematics students are taught those 'basic rules' but frankly most don't really get it. If you get the game semantics I described, then you'll see exactly why the order of quantifiers is crucial and what is happening here. When proving the first step we want $P(k) \to P(k+1)$. $P(k)$ gives us a function; we have no say about it, and we have to construct a new function to prove $P(k+1)$. In the second step to prove uniqueness the Refuter gives us two functions witnessing $P(k+1)$; again we have no control over them, but we must prove that they are the same! – user21820 Aug 16 '16 at 14:30
  • @toto: To do so, we can make use of induction, where the induction step is to prove that, given any $k \in \nn$ by the Refuter, if the witnesses for $P(k)$ are unique, then we can show that the witnesses for $P(k+1)$ are also unique. If you get this now, then the second step is done. – user21820 Aug 16 '16 at 14:33
  • Actually i don't get the aim of your post, i'm trying to read and reread it. But i can't see what i miss – toto Aug 16 '16 at 14:36
  • @toto: Come to http://chat.stackexchange.com/rooms/44058/logic and we can discuss there. Not today though; I need to go off soon. First access chat.stackexchange.com and then ping me here so that I can grant you access to the chat-room (because your reputation is too low for you to automatically be allowed). – user21820 Aug 16 '16 at 15:33
  • okay, i'll. Have a nice day and thank you for you advices and help – toto Aug 16 '16 at 15:38