Es posible construir funciones a partir de funciones. Si una función f : A-->B tiene como contradominio el conjunto que constituye el dominio de otra función g : B-->C, es posible construir la función h : A-->C de la siguiente manera: dado un elemento a en A le aplicamos f, esto nos entrega un elemento b en B al que le aplicamos ahora g para obtener c, un elemento de C. A esto se le llama composición de funciones y podemos usar la notación h(a) = g(f (a)) = c.
No hay restricción alguna que nos impida definir funciones en las que tanto el dominio como el contradominio son el mismo conjunto. En ese caso es posible componer una función consigo misma. Si f es una función en la que el dominio y el contradominio son el mismo conjunto A, es decir, f : A-->A, podemos hacer lo siguiente con cualquier elemento a en A: f 2(a)=f (f (a)), aquí el superíndice 2 (ese que aparece arriba a la derecha de f ) NO denota el cuadrado de f sino la doble aplicación de f, es decir aplicar f a a y luego aplicar f a lo que resulte (que, por supuesto es f (a)). A esto se le llama iterar la función f. Podemos pensar entonces en definir f.n(a) como el resultado de iterar n veces la función f a partir de un elemento inicial a en su dominio, o lo que es lo mismo, el resultado de aplicar f a lo que se obtiene del proceso de iterar f sobre a. Esto es, esencialmente, lo que estábamos haciendo al construir nuestras curvas fractales: aplicábamos el proceso de substitución de segmentos por curvas, en la curva de la etapa anterior.
Como en el caso de las curvas fractales, nos interesa particularmente cuando el proceso converge: si el número de iteraciones crece indefinidamente el resultado de iterar el proceso tiende, en el límite, a un conjunto bien definido.