### Abstract

We propose a simple introduction to the mathematical theory of self-reproduction. We start by revisiting Cantor's diagonal argument in the context of the computable functions, and show how to make some modification leading to a famous theorem in theoretical computer science, known as Kleene theorem. That theorem solves constructively a problem formulated by Descartes on the possibility for a machine to self-reproduce, and we generalize it, with John Case, to a general theory of self-reproduction and self-differentiation, in the manner of our paper "Amoeba, Planaria and Dreaming Machines (1991), which can be found in my url.
### Keywords

Theory of self-reproduction