Números naturales y recursividad Sonia M. Sabogal P. Rafael F. Isaacs G. * Fecha: 8 de marzo de 2005 Números naturales Se sabe que los números naturales constituyen la estructura básica de la Matemática; ası́ el camino usual que se recorre es, partiendo de los naturales (N) pasar a los enteros (Z), de estos a los racionales (Q), luego a los reales (R) y finalmente a los complejos (C); el paso de un conjunto numérico a otro se da por la necesidad de ampliar cada conjunto a otro (que lo contenga) y en el cual se puedan resolver ciertos problemas que no tienen solución en el conjunto dado. Una aproximación intuitiva de los números naturales asegura que “son los números que nos sirven para contar” (0,1,2,3,4,...). A nosotros nos interesa dos propiedades: que empiezan en 0 y que de uno en uno los podemos recorrer todos. Estas propiedades de los números naturales se explotan en el sistema universalmente aceptado de axiomas propuesto por el matemático italiano Giusseppe Peano (1858-1932), que usan solo tres términos técnicos: “Número natural” “Primer número natural” La función “el siguiente de”. En los axiomas de Peano se establece la “esencia”de los números naturales que corresponde a la idea intuitiva que tenemos de ellos: “empiezan en algún momento”(existe el primero) y “van en fila”(uno enseguida de otro). Los axiomas son 5: N1 . El 1 es un número natural (Aquı́ puede ser 1 o 0, o cualquier otro “sı́mbolo”, en realidad lo que importa es que existe al menos un natural). N2 . El siguiente de todo número natural es también un número natural. N3 . Si los siguientes de dos números naturales son iguales, entonces los números son iguales. N4 . No existe un número natural cuyo siguiente es 1 (aquı́ nuevamente puede ser 1 o 0, o cualquier otro “sı́mbolo”lo que importa es que existe un “primer elemento”). N5 . Si S es una colección de números naturales que cumple: * UIS 1 Figura 1: Giussepe Peano (i) 0 ∈ S (ii) Cada vez que un natural está en S, también el siguiente de él está en S. Entonces S es el conjunto de todos los naturales. Notas 1 . El conjunto de los número naturales se simboliza N, ası́ la expresión k ∈ N significa que k es un número natural. 2 . Si k ∈ N, el “siguiente” o “sucesor” de k se simboliza k + 1. 3 . Como convención entenderemos los números naturales empezando por 0, ası́ N = {0, 1, 2, 3, . . .}. Cuando se empiece por 1 hablaremos de “enteros positivos” que se notarán Z+ = {1, 2, 3, . . .} De los 5 axiomas de Peano queremos destacar el axioma N5. llamado el Principio de inducción matemática (Algunas veces el conjunto N se define como el conjunto “más pequeño” de R que satisface las condiciones (i) y (ii) de N5). El principio de Inducción Matemática constituye la base de las demostraciones que trabajaremos en la siguiente sección. Ejercicios 1. Si N es el conjunto de los naturales, Z el conjunto de los enteros , Q el de los números racionales, I el conjunto de irracionales y R son los reales,cuál de las siguientes proposiciones NO es cierta ? a) Z contiene a N b) Q contiene a N y a Z c) I contiene a N d) R contiene a N 2 e) R contiene a I. f ) R contiene a Q. 2. No existe un número natural mayor que todos los demás. Por qué? 3. ¿Cuál es el menor subconjunto A de los reales que cumple: i) 0 ∈ A ii) Si x ∈ A entonces (x + 2) ∈ A 4. ¿Cuál es el menor subconjunto A de los reales que cumple: i) 0 ∈ A ii) Si x ∈ A entonces (x + 2) ∈ A y (x − 2) ∈ A Demostraciones por inducción matemática . Es posible que el estudiante alguna vez se haya encontrado con afirmaciones como las siguientes: Para todo natural n, n2 + n es par. Si r ∈ R, r > 1 entonces 1 + r + r2 + ... + rn = (1 − rn+1 )/(1 − r) para todo n natural. 2n > n, para todo natural n. Para todo natural n se tiene que 1 + 2 + 3 + ... + n = n(n + 1)/2. Las afirmaciones anteriores tienen en común la expresión: “para todo natural ”; en todas se afirma que algo es válido para todo número natural, es decir todos ellos son de la forma: “p(n), para todo n ∈ N”, donde p(n) es una proposición relativa al natural n. Es fácil verificar que cada afirmación es válida por ejemplo para 1, 2, 3, u otros valores particulares, pero cómo probar que en efecto p(n) es válida para todo número natural? La idea es la siguiente: Si llamamos S al conjunto de números naturales que hacen cierta la proposición p(n), o sea S = {n ∈ N : p(n) es verdadera}, entonces bastarı́a probar que S = N; para ésto, usamos el principio de inducción matemática, es decir debemos probar: i) Que 0 ∈ S, o lo que es lo mismo que p(1) es verdadera. ii) Que si k ∈ S entonces k + 1 ∈ S, es decir que asumimos que para algún k, p(k) es verdadera (Hipótesis de Inducción) entonces se debe demostrar que p(k + 1) es verdadera. Al demostrar (i) y (ii), por el P.I.M. se concluye que S = N, es decir, que p(n) es verdadera para todo n. 3 Ejemplo 1. Un ejemplo muy interesante son las Torres de Hanoi. Tenemos n discos con radios crecientes y 3 estacas verticales (A, B y C) en donde se incrustan los discos. Los discos están inicialmente por orden de tamaño en la estaca A. Se pueden mover un disco de una estaca a cualquier otra desde que ningún disco quede encima de uno más pequeño. Notemos Tn el número de pasos requeridos para mover n discos y aseguramos que Tn = 2n −1 para n ∈ N. Como T0 = 0 = 20 − 1, el resultado es cierto para n = 0. Sea k > 0 y supongamos que se tienen k discos. Ahora la única manera de mover el disco mayor es mover los otros k − 1 discos a C (en Tk−1 movimientos). Ponemos el disco mayor en B (en 1 movimiento) y movemos los k − 1 discos menores encima de él (en Tk−1 movimientos de nuevo). Asumamos que Tk−1 = 2k−1 − 1. Tenemos que Tk = 2Tk−1 + 1 = 2k − 1. Por tanto el resultado se ha probado por el principı́o de inducción. Ejercicios 1. Demostrar por inducción sobre n: a) 1 + 2 + ... + n = n(n + 1)/2 b) a + (a + d) + (a + 2d) + ... + (a + (n − 1)d) = n[2a + (n − 1)d]/2 (suma de una progresión aritmética). c) 1 + x + x2 + x3 + ... + xn = (1 − xn+1 )/(1 − x) (suma de una progresión geométrica, x no es 1). d) 1 + 22 + 32 + ... + n2 = n(n + 1)(2n + 1)/6 e) 1 − 4 + 9 − 16 + ... + (−1)n+1 n2 = (−1)n+1 n(n + 1)/2 f ) 1 × 2 + 3 × 4 + 5 × 6 + .... + (2n − 1)(2n) = n(n + 1)(4n − 1)/3 g) Si r > 1 entonces rn > 1. h) 1 + 23 + 33 + ... + n3 = [n2(n + 1)2]/4 i) 1 + 2n < 3n con n > 1. j) n < 2n con n > 1. 2. Si b1 , b2 , b3 , . . . , bn y r son números reales demostrar por inducción que: a) r(b1 + b2 + b3 + ... + bn ) = rb1 + rb2 + . . . + rbn b) |b1 + b2 + . . . + bn | ≤ |b1 | + |b2 | + . . . + |bn |. 3. Probar que n rectas en el plano, tales que dos cualesquiera de ellas no son paralelas y tres cualesquiera de ellas no tienen un punto en común, determinan (n2 + n + 2)/2 regiones diferentes. 4. Sea x > 0 . Probar que para todo entero n ≥ 3 se tiene que (1 + x)n > 1 + nx + nx2 4 5. Cuál es el error en la siguiente demostración ? Teorema:Todos los caballos tienen el mismo color. Demostración: Sea Pn la proposición “Todos los caballos de un conjunto de n caballos son del mismo color”. a) P1 es claramente verdadera. b) Supongamos que Pk es verdadera. Veamos que Pk+1 también es verdadera. Sean c1 , c2 , c3 , ..., ck+1 los k + 1 caballos en un conjunto de k + 1 caballos. Consideremos el conjunto de k caballos {c1 , c2 , c3 , ..., ck } . Por hipótesis de inducción todos estos caballos son del mismo color. En el conjunto anterior reemplacemos ck por ck+1 . Luego el conjunto resultante {c1 , c2 , c3 , ..., ck−1 , ck+1 } de k caballos, por hipótesis de inducción, todos son del mismo color; como c1 y ck al igual que ck+1 y c1 son de igual color, todos los k + 1 caballos son del mismo color. Luego Pk+1 es verdadera y por el principio de inducción se sigue que todos los caballos son del mismo color. 6. Demostrar que si un conjunto S tiene n elementos entonces S tiene 2n subconjuntos. 7. Sin hacer las multiplicaciones de todos los términos muestre que: a) 10! = 6!7! b) 16! = 14!5!2! c) 10! = 7!5!3! d) 9! = 7!3!3!2! Otras formas del principio de Inducción A veces para demostrar una proposición “Pn ” necesitaremos que se cumpla no solamente en un primer elemento, sino en varios, digamos por ejemplo P0 , . . . , Pr , y además para hacer el paso inductivo, para demostrar Pk+1 es posible que requiramos que además de cumplirse en el anterior se cumpla en todos los anteriores es decir que se tenga P0 , . . . , Pk . Este es el principio de inducción completa. Antes de formularlo presentemos un ejemplo del muy usado algoritmo de la división, para enteros positivos. Éste nos garantiza que dado un dividendo (por ejemplo 10) y un divisor (por ejemplo 3) existe un cociente (3) y un residuo (1). Teorema 1. Algoritmo de la división. Sea b un número entero positivo fijo. Entonces que para todo natural n existen q y r naturales tales que n = bq + r y 0 ≤ r < b . Demostración. Haremos inducción sobre n entonces suponemos fijo b ≥ 1. Base: Si n < b el cociente es 0 y el residuo es n y se cumple la proposición. Paso inductivo: Sea n ≥ b y supongamos que tenemos el resultado cuando el dividendo es menor que n. En especial se cumple para n − b (pues (n − b) ∈ N), por tanto existen q1 y r1 naturales tales que n − b = bq1 + r1 y 0 ≤ r1 < b. De esto se deduce que n = bq1 + b + r1 es decir, n = b(q1 + 1) + r1 con 0 ≤ r1 < b o sea que la proposición se cumple para n. Ahora sı́ formalicemos esta versión del principio de inducción, que es equivalente. Teorema 2. Principio de Inducción Completa Si A ⊆ N es tal que: 5 i) 0 ∈ A ii) Si {0, . . . , k − 1} ⊆ A se deduce que k ∈ A entonces A = N Otro principio equivalente al de inducción es el siguiente: Principio del Buen Orden Todo subconjunto no vacı́o de números naturales tiene primer elemento. Ejercicios 1. Demostrar que en el algoritmo de la división el cociente y el residuo son únicos. 2. Utilizando el principio del buen orden, demuestre el algoritmo de la división (Ayuda: considere el conjunto {bq − a ∈ N : q ∈ N} demuestre que es no vacı́o y haga r su primer elemento). 3. Demostrar que fijo b un entero mayor que 1, cualquier natural se puede expresar en base b, es decir, para todo a ∈ N existen a0 , . . . ak (que son llamados los dı́gitos de a), tales que a = a0 + a1 b + . . . + ak bk y además 0 ≤ ai < b para cada i = 1, . . . k Definiciones Recursivas . Otra aplicación importante del principio de inducción matemática la encontramos en las definiciones recursivas. Un concepto se dice definido recursivamente, si se define explı́citamente para el caso n = 1 (o n = 0, o en general para un “primer caso”, o “primeros casos”) y se da una regla (o lista de reglas) que lo definen para el caso n-ésimo, en términos del caso anterior )o casos anteriores). Por ejemplo el concepto de “potenciación”se puede definir recursivamente ası́: “Para a ∈ R definimos: a1 =: a y an =: an−1 a, para todo n ≥ 2”; de esta manera tendrı́amos por ejemplo que a2 = a2−1 a = a1 a = aa, a3 = a3−1 a = a2 a = aaa y ası́ sucesivamente. Muchas sucesiones de números se pueden definir recursivamente: Sea por ejemplo (Sn )n∈N la sucesión definida por: S1 =: 1 y Sn+1 = 2Sn + 1 entonces los 4 primeros términos de esta sucesión serán: 1, 3, 7, 15 En realidad, podemos afirmar que toda definición recursiva al fin y al cabo lo que siempre define es una sucesión en un determinado conjunto X, es decir una función f del dominio N y codominio X; ası́ por ejemplo las potencias de una base fija a se pueden obtener con la función f : N −→ R definida por f (1) =: a y f (n) =: f (n − 1)a para n ≥ 2. 6 Que una sucesión definida recursivamente quede bien definida se debe al principio de inducción. La importancia de las definiciones recursivas radica en que se da un método constructivo para encontrar los términos de la sucesión. Es ası́, que se puede asegurar que los programas de cómputo en general son aplicaciones de definiciones recursivas. Como se ratificará más adelante, casi todas las cosas que hacemos en matemáticas P Q tiene que ver con definiciones recursivas, por ejemplo la sumatoria y productoria , aunque se pueden y se deben entender de manera intuitiva, para programarse, encontrar y demostrar sus propiedades, deben ser definidos y tratados recursivamente. Algunas veces en las definiciones recursivas el elemento ak+1 no se define solamente en términos de ak sino que se usan además otros anteriores. Por ejemplo en la muy famosa sucesión de Fibonacci el término siguiente se obtiene sumando los dos anteriores y se empieza por 0, 1 ası́: 0, 1, 2, 3, 5, 8, 13, 21, 34, . . . La definición recursiva de fn es ası́: i) f0 = 0;f1 = 1 ii) fn+1 = fn + fn−1 También se puede definir sucesiones recursivas con varias variables. Por ejemplo, para la sucesión de Fibonacci podemos definir an y bn ası́: f1 = 1; g1 = 0 fn+1 = fn + gn ; gn+1 = fn Nótese que en esta definición recursiva es realmente un algoritmo o programa para calcular paso a paso los términos de la sucesión. Ejercicios 1. El factorial de un número natural es el producto de él por todos sus anteriores hasta 1. Por ejemplo, 5! = 5x4x3x2 = 120 . Para 0, se considera 0! = 1. Definir recursivamente factorial de n. 2. Demuestre utilizando la definición recursiva e inducción: a) (a.b)n = an bn b) an am = an+m c) 2n < n! para n > 3. 3. Sea Sn una sucesión definida recursivamente ası́: i) Base: S0 = 1 ii) Paso recursivo: Sn+1 = Sn + 21 , para todo natural n > 0. Encuentre el valor de S100 . Muestre una fórmula no recursiva para hallar Sn . 7 4. Se define Sn recursivamente ası́: S1 = 2 Sn+1 = Sn + n + 1. Demostrar que Sn = (n2 + n + 2)/2 5. Si se define an recursivamente ası́: a0 = 0; b0 = 1 an+1 = an + bn ; bn+1 = bn encuentre el valor de a976 . 6. Suponiendo conocida la sucesión an defina recursivamente: P a) Sn = a0 + a1 + . . . + an = ni=0 ai Q b) Pn = a0 .a1 . . . . .an = ni=0 ai √ √ 7. Sea α = 1+2 5 y β = 1−2 5 ; demuestre por inducción que el n-ésimo término de la sucesión de Fibonacci cumple: 1 fn = √ (αn − β n ) 5 1 1 8. Sea A = , conjeture y demuestre por inducción una fórmula para An en 1 0 términos de la sucesión de Fibonacci 9. Se define Sn recursivamente ası́: S0 = 1 Sn+1 = xSn + 1. Demostrar que Sn = 1 + x + x2 + x3 + ... + xn 10. A continuación se define recursivamente la sucesión an de diferentes maneras: a) a0 = 0; b0 = 1 an+1 = an + bn ; bn+1 = xbn b) a0 = 0; b0 = 0 an+1 = an + bn ; bn+1 = x + bn c) a0 = 0; b0 = 1 an+1 = an + bn ; bn+1 = bn + 1 d ) a0 = 1; b0 = 1 an+1 = an bn ; bn+1 = bn + 1 8 e) a0 = 0 : b0 = 0 an+1 = an + 2bn + 1; bn+1 = bn + 1 f ) a0 = 0; b0 = 1; c0 = 1 an+1 = an + bn ; bn+1 = bn ; zn+1 cn = zn + 1 enseguida están, en otro orden, las definiciones no recursivas de an , halle las correspondientes: a) an = n! b) an = n2 c) an = n(n − 1)/2 P d ) an = ni=0 xi P i e) an = ni=0 xi! f ) an = xn(n − 1)/2 Aritmética recursiva El poder de la recursividad está basado en que sabiendo contar, es decir sabiendo sumar 1, podemos realizar los algoritmos más comunes de la aritmética: desde decidir de dos números cuál es mayor, sumar, restar, multiplicar, hallar cociente y residuo, máximo común divisor, hasta decidir si un número es primo. Ejemplo 2. La siguiente es la definición recursiva de suma de dos numeros naturales, a partir de sumar 1. a0 = a an+1 = an + 1 entonces an = a + n. Nótese que aplicamos la lógica de sumar con los dedos de la mano. Realmente tenemos una definición recursiva de la suma de dos números naturales, basada únicamente en saber sumar 1. Utilizando condicionales podemos definir recursivamente el producto solamente sumando 1, pero como ya sabemos sumar dos números naturales cualesquiera entonces, es sensato utilizar tal suma (como si fuera una subrutina). Ejemplo 3. Definición recursiva de producto de dos números naturales a partir de la suma a0 = 0 an+1 = an + c entonces an = cn. Estas dos definiciones las podemos traducir en algoritmos. Ejemplo 4. Algoritmo SUMA(a,b) Si b=0 entonces SUMA(a,b)=a si b6=0 entonces SUMA(a,b)=SUMA(a,b-1)+1 FIN 9 Ejemplo 5. Algoritmo PRODUCTO(a,b) Si b=0 entonces PRODUCTO(a,b)=0 Si b6=0 PRODUCTO(a,b)=PRODUCTO(a,b-1)+a FIN Ejemplo 6. Algoritmo COCIENTE(a,b) Si b>a entonces COCIENTE(a,b)=0 Si b≤a COCIENTE(a,b)=COCIENTE(a-b,b)+1 FIN Ejemplo 7. El algoritmo para el Cociente lo podemos traducir como definición recursiva a0 = a; c0 = 0 Si an < b entonces cn+1 = cn Si an ≥ bn entonces an+1 = an − b; cn+1 = cn + 1 el cociente al dividir a entre b se obtiene como cn cuando an < b Definición 1. Dados dos números naturales a y b se dice que a divide a b si existe un natural k tal que b = ak. Se nota a|b. Definición 2. El máximo común divisor de dos naturales a y b es un número c tal que i) c|a y c|b ii) Si n|a y n|b entonces n|c. se nota c = M CD(a, b) En primaria se aprende a hallar el máximo común divisor de dos números, generalmente descomponiendo los números en sus factores primos, este algoritmo es práctico para números muy pequeños, para números grandes descomponer en factores primos es un problema que puede requerir mucho tiempo y por lo tanto este algoritmo no es práctico. Existe una algoritmo muy antiguo llamado el algoritmo de Euclides que emplea sucesiones sucesivas (averiguar) y que se basa en el siguiente hecho: Proposición 1. Siendo a > b se tiene que M CD(a, b) = M CD(a − b, b). Demostración. Sea c = M CD(a, b) y d = M CD(a − b, b). Como c|a y c|b entonces c|a − b por tanto c es un divisor común de a − b y b y tenemos que c|d. Similarmente se ve que d|c. Entonces c|d y d|c por tanto c = d Ejercicios 1. Expresar algoritmos (en seudocódigo o en su lenguaje preferido) para que solamente sabiendo sumar 1 y distinguiendo cuándo dos números son iguales: a) Determinar cuál de dos números es mayor (si no son iguales) b) Hallar la diferencia entre dos números. c) Duplicar un número. 10 d) Hallar el residuo y el cociente al dividir entre dos. 2. Expresar algoritmos (en seudocódigo o en su lenguaje preferido) para que solamente sabiendo sumar y restar dos naturales y decidir cuál es el mayor: a) Halle el residuo al dividir a entre b. b) Decidir si a divide a b. c) Elevar al cuadrado un número. d) Hallar el máximo común divisor entre dos números. 3. Expresar algoritmos (en seudocódigo o en su lenguaje preferido) para que solamente sabiendo sumar y restar y multiplicar dos naturales y decidir cuál es el mayor: a) Decida si un número es primo. b) Expresar un número por sus factores primos. c) Calcular los coeficientes binomiales. d) Hallar el máximo común divisor entre dos números. e) Expresar a en base b. 4. Sea Sn una sucesión definida recursivamente ası́: i) Base: S0 = 1 ii) Paso recursivo: Sn+1 = Sn + 12 , para todo natural n > 0. Encuentre el valor de S100 . Muestre una fórmula no recursiva para hallar Sn . 5. Multiplicación campesina: Para multiplicar dos números (de manera relativamente ágil) no es necesario saber las tablas de multiplicar, basta con saber duplicar un número cualquiera y saber dividir entre 2. Se colocan los dos números uno al lado del otro y mientras uno se va dividiendo por dos el otro se va multiplicando por dos. Las divisiones se hacen, naturalmente enteras y los números no pares de esta columna se distinguen digamos con un ∗ . El proceso termina cuando en la columna de los números que se van dividiendo se encuentre 1. El resultado del producto se encuentra sumando los números correspondientes a ∗ en la columna de los números que se van multiplicando por 2. Vemos este proceso cuando se trata de multiplicar 312 por 45. 312 624 1248 2496 4992 9984 45∗ 22 11∗ 5∗ 2 1∗ entonces 312 × 45 = 312 + 1248 + 2496 + 9984 = 14040. a) Multiplique 19 por 168 por éste método. 11 b) Observe la siguiente definición recursiva: a0 = a; b0 = b; s0 = 0 an+1 = 2an ; bn+1 = COC(bn , 2); sn+1 = sn + RES(bn , 2)an Explique por qué este proceso recursivo representa realmente el algoritmo campesino para multiplicar a y b. c) Demuestre por inducción que en la anterior recursión se tiene an bn − ab = sn . Recursión en las palabras Dado un conjunto finito Σ (denominado alfabeto) se construye un el conjunto Σ∗ de las palabras con letras en Σ, conjunto de gran interés en la informática. Intuitivamente, una palabra es una sucesión finita de letras, no nos interesa para nada por ahora, que tengan sentido. Ası́, si Σ = {a, b} entonces las palabras con tres letras son exactamente aaa, aab, aba, abb, baa, bab, bba, bbb. Hay muchas formas de definir formalmente el conjunto de palabras, utilizaremos (por variar) un manera recursiva. Para ello, tendremos en cuenta dos cosas: la palabra más pequeña que se puede hacer sobre cualquier alfabeto es la palabra sin letras que notamos λ; por otra parte suponemos que sabemos agregar una letra a la derecha de una palabra dada. siendo ası́: Definición 3. Siendo Σ cualquier conjunto finito se define Σ∗ recursivamente ası́: Base: λ ∈ Σ∗ Paso Recursivo: Si w ∈ Σ∗ y x ∈ Σ entonces wx ∈ Σ∗ . Para cualquier Σ 6= ∅ se tiene que Σ∗ es un conjunto infinito. Ası́, si Σ = {a, b} entonces Σ∗ = {λ, a, b, aa, ab, ba, . . .}. La definición recursiva es muy útil para formalizar conceptos alrededor de las palabras palabras y hacer demostraciones. La operación más importante entre palabras es la concatenación,que intuitivamente significa ”pegar” palabras y que definimos a continuación. Definición 4. Se define en Σ∗ la concatenación recursivamente ası́: Base: Si v ∈ Σ∗ entonces vλ ∈ Σ∗ Paso Recursivo: Si v, w ∈ Σ∗ y x ∈ Σ entonces v(wx) = (vw)x Ejercicios 1. Definir recursivamente longitud de una palabra. 2. Si Σ tiene n letras ¿cuántas palabras hay en Σ∗ con longitud k? Demuestre por inducción sobre k su afirmación. 3. Se define |w|x , para w ∈ Σ∗ , x ∈ Σ recursivamente ası́: i) Base: |w|x = 0 ii) Paso recursivo: |wy|x = |w|x , si y 6= x y |wy|x = |w|x + 1, si y = x. Intuitivamente ¿qué es |w|x ? 4. Demostrar que la concatenación entre palabras es asociativa. 12 5. Sea Σ = {a, b}, para v, w ∈ Σ∗ se entiende que v ⊗ w se obtiene cuando reemplazamos en v todas las a’s por w. Definir recursivamente esta operación. Demostrar en base a su definición que esta operación es asociativa. 13