Inducción y recursión

download Inducción y recursión

of 24

Transcript of Inducción y recursión

  • Notas sobre induccin y recursin

    Pablo Bez [email protected]

    Lgica - Facultad de Ingeniera - Udelar

    Julio de 2013

    U N I V E R S I D A D

    DE LA REPUBLICA

    URUGUAY

  • ndice

    1. Introduccin 3

    2. Definiciones inductivas 32.1. Forma general de una definicin inductiva . . . . . . . . . . . . . . . 32.2. Interpretacin de las reglas . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.2.1. Interpretacin constructiva . . . . . . . . . . . . . . . . . . . . 52.2.2. Interpretacin declarativa . . . . . . . . . . . . . . . . . . . . 62.2.3. Equivalencia de las interpretaciones constructiva y declarativa 6

    2.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3. Principio de Induccin Primitiva (PIP) 103.1. Enunciado formal y demostracin . . . . . . . . . . . . . . . . . . . . 103.2. Ejemplo de aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3. Pertenencia a un conjunto definido inductivamente . . . . . . . . . . 12

    4. Esquema de Recursin Primitiva (ERP) 134.1. Definicin inductiva libre . . . . . . . . . . . . . . . . . . . . . . . . . 134.2. Esquema de recursin primitiva para X . . . . . . . . . . . . . . . . 184.3. Ejemplo de aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4. Ejercicio 1 del Examen de Lgica de Julio de 2013 . . . . . . . . . . 21

    2

  • 1. Introduccin

    El objetivo de estas notas es brindar a los estudiantes de Lgica un material deapoyo para los primeros temas del curso (induccin y recursin) para los cuales nohay un libro de cabecera en donde aclararse las dudas e interrogantes que a uno lesurgen leyendo las diapositivas. Ojal estos apuntes sirvan para dicho propsito.

    2. Definiciones inductivas

    2.1. Forma general de una definicin inductiva

    Para definir inductivamente un conjunto, llmese X, se sigue el siguiente proce-dimiento: se especifica un conjunto U llamado Universo conocido de antemano, yse dan ciertas reglas (tamben llamadas clusulas) que pueden ser de dos tipos:

    p Base: dicen que ciertos elementos del Universo pertenecen al conjunto X.Son de la forma: X.

    p Inductivas: dicen que si ciertos elementos del Universo pertenecen a Xentonces otro elemento, formado de alguna manera a partir de los anterio-res, tambin pertenece a X. Son de la forma: Si 1; : : : ; n X entoncesF (1; : : : ; n) X.

    De esta manera, de aqu en ms, trabajaremos con una definicin inductiva gen-rica, que es la siguiente:

    Forma general de de una definicin inductiva

    Sea U el conjunto Universo y X U definido inductivamente por1) 1 Xr) r X

    r+1) Si 1; : : : ; a1 X entonces F1(1; : : : ; a1) Xr+t) Si 1; : : : ; at X entonces Ft(1; : : : ; at) X

    donde i j ;i j y Fk Uak U son funciones; ak Z+;k = 1; : : : ; t.En la definicin precedente hay r reglas base y t reglas inductivas. Observar que

    3

  • cada regla base introduce un nico elemento del Universo al conjunto X. Esopodra llegar a ser una limitacin: por ejemplo, considrese la siguiente definicininductiva de N N (como subconjunto de R2):

    i Si n N entonces (n;0) N Nii Si (n;m) N N entonces (n;m + 1) N N

    La clusula i es una clusula base (o un conjunto de clusulas base) y no inductivaporque no supone que tenemos elementos de NN sino de otro conjunto definidopreviamente (el de los nmeros naturales). De esta manera, la regla i, siendo unaregla base, est introduciendo al conjunto que queremos definir, que es N N,tantos elementos como tiene N (en vez de uno solo). Naturalmente, para ajustarlaa la definicin general que acabamos de dar, uno podra sustituirla por:

    i (0;0) N Nii (1;0) N Niii (2;0) N N

    pero en tal caso, hemos dejado de tener un nmero finito de reglas base. Paraevitar este inconveniente, se puede sustituir el conjunto de reglas base por unanica regla que sea:

    B0 Xdonde B0 (finito o no) es el conjunto de elementos del Universo que queremostener en X como punto de partida.

    2.2. Interpretacin de las reglas

    Iniciaremos este tema con una

    Definicin 1. Dada una definicin inductiva como en la seccin anterior y unelemento U , se llama secuencia de formacin para a una secuencia '1; : : : ; 'nde elementos del Universo tales que 'n = y cada elemento de la secuencia, obien resulta de una regla base, o bien de aplicarle una regla inductiva a elementosanteriores en la secuencia.

    Dos observaciones (que aparentemente no tienen conexin entre s):

    No todos los elementos del Universo tienen asociada una secuencia de for-macin.

    4

  • Las reglas pueden ser interpretadas como condiciones o requisitos que debereunir el conjunto X que se est definiendo. En tal sentido, algunos sub-conjuntos del Universo verificarn las reglas y habr otros que no. Ocurrirfrecuentemente que haya ms de un subconjunto del Universo que verifiquelas reglas.

    Si hay muchos subconjuntos que cumplen con las reglas, es menester preguntarsecul de todos ellos es el que se est definiendo. Pues bien, en relacin a la preguntacul es exactamente el conjunto que definen las reglas? hay dos puntos de vista(los cuales probaremos que son equivalentes entre s) llamados: InterpretacinConstructiva e Interpretacin Declarativa.

    2.2.1. Interpretacin constructiva

    Se llama conjunto XC definido inductivamente por las reglas, al conjunto de loselementos del Universo que tienen una secuencia de formacin.

    La idea es partir de un subconjunto B0 U (el cual se especifica mediante lareglas base) e ir agrandndolo sucesivamente mediante la aplicacin de las reglasinductivas hasta llegar a un conjunto que bien podramos llamar lmite en unsentido que explicitaremos a continuacin.

    B0B1

    B2

    B3

    U

    Figura 1: Sucesin de conjuntos {Bn}.5

  • Definiendo

    Bn+1 = Bn ti=1Fi(Bain )

    se cumple que {Bn}n0 es una sucesin montona creciente B0 B1 Bn Bn+1 y por lo tanto

    XC = lmnBn

    (Notar que Bi es el conjunto de elementos del Universo para los cuales existe unasecuencia de formacin de longitud i + 1).2.2.2. Interpretacin declarativa

    Se llama conjunto XD definido inductivamente por las reglas, a la interseccin detodos los subconjuntos del Universo que las verifican.

    En smbolos, si P(U) representa el conjunto de partes de U (o conjunto potencia)y si se llama R a la familia de subconjuntos de U que satisface las reglas, laafirmacin en cursiva sera:

    XD = RRR

    Algunas observaciones:

    El Universo siempre cumple con las reglas, por tanto R .No es difcil probar que XD, definido de esta manera, cumple con las reglas(se deja como un ejercicio para el lector).

    Todo subconjunto Y del Universo que verifique las reglas contiene a XD,esto es, XD Y . En efecto, si Y cumple con las reglas entonces Y R luegoXD = Y (RR{Y }R) luego XD implica Y .Como XD verifica las reglas y cualquier otro subconjunto Y del Universoque verifica las reglas cumple XD Y (esto no es ms que la conjuncinde las dos observaciones anteriores), podemos afirmar que XD es el mnimoconjunto que las verifica.

    2.2.3. Equivalencia de las interpretaciones constructiva y declarativa

    Es momento de presentar el principal resultado de esta seccin:

    Teorema 1. La interpretacin constructiva y la interpretacin declarativa definenel mismo conjunto, es decir, son equivalentes.

    6

  • Demostracin. La prueba consiste en probar, mediante la doble inclusin, queXC =XD.* XD XC

    Si XC satisface las reglas, como XD es el mnimo conjunto que las satisface,se tendra XD XC .Luego basta probar que XC cumple con las reglas.

    / Consideremos una regla base, de la forma: X. La secuencia queslo est formada por es una secuencia de formacin para , luego XC .

    / Consideremos ahora una regla inductiva, de la forma: Si 1; : : : ; n Xentonces F (1; : : : ; n) X. Si 1; : : : ; n XC entonces existe unasecuencia de formacin para cada uno de estos elementos. Concate-nando las n secuencias de formacin, cada una terminando en i parai = 1; : : : ; n y agregando de ltimo F (1; : : : ; n) hemos construido unasecuencia de formacin para F (1; : : : ; n), luego F (1; : : : ; n) XC .

    * XC XDConsidrese la siguiente propiedad (concerniente a los nmeros naturales):

    P (n) = ( U admite una secuencia de formacin de longitud n XD)Probar que P (n) es cierta para cualquier n 1 demuestra la inclusin XC XD porque cualquier elemento XC tendr una secuencia de formacinde algn largo 1. Se har por induccin fuerte en n./ Paso base. Probemos P (1). Si U admite una secuencia de formacin

    de largo 1, entonces necesariamente resulta de aplicar una regla base(pues no hay elementos anteriores en la secuencia). Si R R entoncesR satisface las reglas, en particular las reglas base. As R;R Rluego RRR =XD.

    / Paso inductivo. Sea n un nmero natural arbitrario y supongamos quese cumple P (m) para todo m < n. Nuestro objetivo es probar P (n).Tomemos U tal que admite una secuencia de formacin de longi-tud n. Tenemos que probar que XD = RRR. Para ello tomamosR R y probaremos que R.Por definicin de secuencia de formacin, se distinguen dos casos: obien resulta de una regla base (1) o bien se obtiene aplicando una

    7

  • regla inductiva a elementos anteriores en la secuencia (2).El caso (1) es inmediato.En el caso (2), cada uno de esos elementos anteriores admite una se-cuencia de formacin de longitud < n luego por hiptesis de induccinestn en XD luego en R, puesto que XD R. Hemos llegado a que se obtiene aplicando una regla inductiva a elementos de R, pero comoR satisface las reglas (en particular las inductivas), tambin ha depertencer a R.

    2.3. Ejemplos

    En esta seccin presentaremos algunos ejemplos tiles que utilizaremos a lo largodel texto.

    Ejemplo 2.1 (Conjunto de los nmeros naturales). Muchos libros de clculo, comopor ejemplo el Calculus de Apostol o el de Spivak, no introducen a los nmerosreales de forma constructiva (esto es, empezando primero con los nmeros natu-rales a partir de los axiomas de Peano, luego siguiendo con los enteros negativos,despus con los racionales y por ltimo los irracionales) sino que suponen queexisten ciertos objetos, llamados nmeros reales, que satisfacen una lista de 10axiomas agrupados en tres grandes grupos: 6 axiomas de cuerpo, 3 axiomas deorden ms el axioma del supremo o del extremo superior. Una vez caracteriza-do R mediante axiomas, presentan al conjunto N de los nmeros naturales comosubconjunto de R mediante la siguiente definicin inductiva:

    i 0 Nii Si n N entonces (n + 1) N

    Observar que aqu el Universo es R, que es un conjunto conocido de antemano.En caso contrario la definicin anterior carecera de sentido pues naturalmente,supone definidos el cero, el uno y la suma. Es decir, tal definicin es vlida siempreque se suponga definido un conjunto mayor como R o Z. Si no, no.

    Ejemplo 2.2 (Lenguajes definidos sobre un alfabeto). Un alfabeto es un conjuntofinito (no vaco) de smbolos. Denotamos un alfabeto arbitrario con la letra . Unapalabra (tambin llamada tira o cadena) sobre un alfabeto es cualquier secuenciafinita de elementos de . Asimismo admitimos la existencia de una nica palabraque no tiene smbolos, la cual se denomina palabra vaca y se denota con . Por

    8

  • ejemplo, si = {a; b}, las siguientes son palabras sobre :aba

    ababaaa

    aaaab

    Notar que es una palabra y no un smbolo del alfabeto. El conjunto de todaslas palabras sobre un alfabeto (incluyendo la palabra vaca), se denota por .Por ejemplo, si = {a; b; c} entonces

    = {; a; b; c; aa; ab; ac; ba; bb; bc; ca; cb; cc; aaa; : : :}Un lenguaje L sobre un alfabeto es cualquier subconjunto de (casos extre-mos: L = y L = ). Dicho de otra manera, un lenguaje es un conjunto depalabras.Algunos lenguajes pueden definirse inductivamente. Por ejemplo, sea = {a; b; c}y definido por

    i ii a iii Si y entonces bcb

    Notar que de la misma manera en que, en la definicin de los naturales se dabapor definido el cero como neutro de la suma, en esta definicin se da por definidala palabra vaca como neutro de la concatenacin de dos cadenas.

    Ejemplo 2.3 (Una posible definicin de Z). Supongamos que se desea definir elconjunto de los nmeros enteros Z, como subconjunto de R, mediante reglas.Podra hacerse as:

    i 0 Zii Si k Z entonces k + 1 Ziii Si k Z entonces k 1 Z

    Notar que, a diferencia de las definiciones inductivas de los ejemplos anteriores,no hay una nica forma de construir un nmero entero. Por ejemplo, para llegara 2, puede hacerse as:

    i 0 ii 1 ii 2O tambin:

    i 0 iii 1 iii 2 ii 1 ii 0 ii 1 ii 2El hecho de que el proceso de formacin de un elemento no est unvocamentedeterminado, acarrea algunos problemas que veremos ms adelante.

    9

  • 3. Principio de Induccin Primitiva (PIP)

    3.1. Enunciado formal y demostracin

    El Principio de Induccin Primitiva es un teorema que se enuncia para cadaconjunto con una definicin inductiva como la que se present en la seccin 2.1.

    Teorema 2. Dado X como en la seccin 2.1, sea P () una propiedad referida aun elemento de X. Si

    (1) P (1) se cumple(r) P (r) se cumple

    (r+1) Si P (1); : : : ; P (a1) se cumple, P (F1(1; : : : ; a1)) se cumple(r+t) Si P (1); : : : ; P (at) se cumple, P(Ft(1; : : : ; at)) se cumple

    entonces se cumple P () para todo X.A la verificacin de (1); : : : ; (r) se le llama paso base y a la verificacin de(r+1); : : : ; (r+t) paso inductivo.

    Demostracin. Sea S = {x U x X P (x) se cumple}. Verifiquemos que Scumple con las reglas.

    3 i S; i = 1; : : : ; r puesto que i X por la regla base i) y P (i) se cumplepor hiptesis (i).

    3 Si 1; : : : ; aj S entonces Fj(1; : : : ; aj) S; j = 1; : : : ; t. En efecto,1; : : : ; aj S

    1; : : : ; aj X regla r+j) Fj(1; : : : ; aj) X

    P (1); : : : ; P (aj) hiptesis (r+j) P (Fj(1; : : : ; aj))se cumple se cumple

    Como Fj(1; : : : ; aj) X y P (Fj(1; : : : ; aj)) se cumple, se tiene queFj(1; : : : ; aj) S.

    Hemos probado que S satisface las reglas. Como X es el menor conjunto quesatisface las reglas, X S. Luego P () se cumple para todo X.

    10

  • 3.2. Ejemplo de aplicacin

    Primero que nada, enunciemos el PIP para el caso particular en que X = N conla definicin del ejemplo 2.1. Notar que, dado que se ha demostrado ya el casogeneral, ste no es ms que un corolario.

    Corolario 3.1 (Principio de induccin primitiva para N). Sea P (n) unapropiedad referida a un nmero natural n. Si

    i. P (0) se cumpleii. Si P (n) se cumple, P (n + 1) se cumple

    entonces se cumple P (n) para todo n N.Este principio, como ya es sabido de los cursos de matemtica, se puede usar paraprobar propiedades concernientes a los nmeros naturales.

    Ejemplo 3.1. Probar que la suma de los primeros n nmeros naturales impares esigual a n2.

    Demostracin. Elegimos como propiedad

    P (n) = nk=1(2k 1) = n2

    Que P (0) es cierta es trivial, pues la identidad resulta 0k=1(2k 1) = 02(notar que la sumatoria es vaca1).

    Supongamos ahora que se cumple P (n) y demostremos P (n + 1). Se tieneque

    n+1k=1(2k 1) =

    nk=1(2k 1) + (2(n + 1) 1) (1)= n2 + (2n + 2 1) (2)= n2 + 2n + 1 (3)= (n + 1)2 (4)

    donde en (2) se aplic la hiptesis inductiva y en (4) la frmula del cuadradode un binomio.

    1En un grupo abeliano aditivo (o multiplicativo), una sumatoria (resp. productoria) que notiene trminos se llama vaca y suele reducirse al neutro del grupo (en el caso de R con la suma,el cero).

    11

  • 3.3. Pertenencia a un conjunto definido inductivamente

    Trataremos en esta seccin algunas cuestiones prcticas al momento de resolverejercicios.

    Para demostrar que un elemento pertenece a un conjunto inductivo normal-mente se construye una secuencia de formacin.

    Para demostrar que un elemento NO pertenece a un conjunto inductivo sepueden seguir tres estrategias:

    1. Suponer que el elemento tiene una secuencia de formacin y llegar aun absurdo.

    Ejemplo 3.2. Considere la definicin inductiva del ejemplo 2.2. De-muestre que bcbb / .Demostracin. Por absurdo, supongamos que existe una secuencia deformacin para bcbb. Como bcbb no es ni a, slo puede resultar deaplicar la regla iii. Luego bcbb = bcb para ciertos elementos ; que aparecern antes en la secuencia. Por comparacin de las cadenasbcbb y bcb no cabe otra posibilidad que = y = b. Pero ningunaregla permite introducir una b en (basta ver que no est entre lasreglas base y la nica regla inductiva introduce palabras con al menosuna c), contradiccin.

    2. Probar (por induccin primitiva) que todo elemento del conjunto satis-face una propiedad y notar que el elemento considerado no la cumple.

    Ejemplo 3.3. Sea = {a; b} y definido pori ii Si w entonces wab

    Demuestre que bab / .Demostracin. Una manera posible puede ser probar por induccin en que todas sus palabras tienen la misma cantidad de letras a que deletras b, o que tienen largo par. Como bab no cumple ninguna de estaspropiedades, se concluye que bab / .

    3. Mostrar que el conjunto resultante de quitar dicho elemento sigue sa-tisfaciendo las reglas.

    12

  • Ejemplo 3.4. Sea PROP el alfabeto conformado por smbolos de propo-sicin p0; p1; : : : conectivos ;;;;; y parntesis (; ). Se define ellenguaje de la lgica proposicional PROP (PROP ) de la siguientemanera:

    (i) pi PROP (i N); PROP(ii) Si '; PROP entonces (' ) PROP(iii) Si '; PROP entonces (' ) PROP(iv) Si '; PROP entonces (' ) PROP(v) Si '; PROP entonces (' ) PROP(vi) Si ' X entonces (') PROP

    Demuestre que / PROP . Este ejemplo fue extrado del libro Logicand Structure (tercera edicin) del matemtico Dirk van Dalen (pg.8).

    Demostracin. Supongamos que PROP . Nuestro objetivo serprobar que Y = PROP {} tambin satisface (i); (ii); : : : ; (vi). Es claro que como pi; PROP tambin ; pi Y . Sean '; Y . Luego '; PROP y como PROP satisface(ii); (iii); (iv); (v) entonces (' ) Y ya que por las formas de lasexpresiones (' ) (mirar, por ejemplo, en los parntesis).En lo anterior usamos para denotar cualquiera de los smbolos;;;.

    Anlogamente se prueba que Y cumple (vi).

    Como Y satisface todas las reglas, se tiene que PROP no es el menorconjunto que las satisface, absurdo.

    Para demostrar que dos conjuntos dados por reglas son iguales, lo ms sen-cillo es probar por induccin que cada conjunto verifica las reglas del otro(vase Ej. 9 del Prctico 1).

    4. Esquema de Recursin Primitiva (ERP)

    4.1. Definicin inductiva libre

    El Esquema de Recursin Primitiva, al igual que el Principio de Induccin Primi-tiva, es un teorema que se formula para cada conjunto inductivo. Pero antes deenunciarlo, debemos introducir la siguiente

    13

  • Definicin 2. Una definicin inductiva como la de la seccin 2.1 se dice que eslibre si verifica las siguientes condiciones:

    [1]. La restriccin de Fj a Xaj Uaj es inyectiva para todo j = 1; : : : ; ; t. O sea,dados 1; : : : ; aj ;

    1; : : : ;

    aj X:

    Fj(1; : : : ; aj) = Fj(1; : : : ; aj) 1 = 1; : : : ; aj = ajSi un elemento es obtenido a partir de una regla inductiva, los elementos alos que se aplica dicha regla para producirlo, son nicos.

    [2].Fi(Xai) Fj(Xaj) = ; i j

    No hay dos reglas inductivas distintas que permitan generar el mismo ele-mento.

    [3]. B0 es realmente bsico, o sea, si 1; : : : ; aj X se tiene queFj(1; : : : ; aj) / B0; j = 1; : : : ; t

    Un elemento de una regla base no puede ser obtenido mediante la aplicacinde una regla inductiva.

    Si la definicin inductiva de X es libre, existe para X otro teorema llamadoEsquema de Recursin Primitiva (ERP), el cual brinda un mecanismo para definirfunciones que tengan a X como dominio. Bsicamente, para definir una funcinf X B la idea es:p Asignar un valor a cada elemento dado por una regla base2.

    p Para cada clusula inductiva de la forma: Si 1; : : : ; n X entoncesF (1; : : : ; n) X, dar un mtodo para calcular f(F (1; : : : ; n)) a partirde f(1); : : : ; f(n) y eventualmente, 1; : : : ; n.

    Esta idea se recoge en el Teorema 3. Veamos ahora algunos ejemplos pensadospara convencerse de que las tres condiciones exigidas en la definicin anterior sonnecesarias para que dicho teorema sea vlido. Las dos ltimas pueden resumirseen una sola: para todo elemento del conjunto hay una nica regla que permiteformarlo.

    2Observar que asignar un valor a cada elemento dado por una regla base no es otra cosa quedefinir por extensin una funcin h B0 B, donde B0 es el conjunto dado por las reglas base.Si B0 fuera infinito, en vez de definir individualmente la imagen de cada elemento de B0, lo quese hace es dar una frmula general para h para luego hacer que f B0 = h.

    14

  • Ejemplo 4.1 (Definicin inductiva que satisface [1] y [2] pero no [3]). Supongamosque = {a; b} y est definido por

    i ii a iii b iv aa v Si w entonces awa vi Si w entonces bwb

    Es claro que es el conjunto de los palndromos, es decir las palabras que resul-tan iguales ledas de adelante hacia atrs que de atrs hacia adelante. Pero hayun detalle: el conjunto B0 = {; a; b; aa} no es realmente bsico, pues aa puedeobtenerse aplicando la regla v a w = . Qu problema acarrea esto? Imaginemosque se tienen las siguientes ecuaciones recursivas:

    f() = 0f(a) = 0f(b) = 0

    f(aa) = 0f(awa) = 1 + f(w)f(bwb) = 1 + f(w)

    La idea es que f(w) represente el mnimo n tal que w Bn siendo Bn el definidoen la seccin 2.2.1 (intuitivamente, el nmero de pasos inductivos necesarios paraobtener w). Pero estas ecuaciones no definen una funcin, pues por un lado

    f(aa) = 0y por otro

    f(aa) = f(aa)= 1 + f()= 1 + 0= 1Notar, sin embargo, que la definicin inductiva de cumple con [1] porque siw;w entonces awa = awa implica necesariamente w = w, y de la mismamanera, bwb = bwb implica w = w. Y tambin cumple con [2] pues las palabrasde que resultan de aplicar la clusula v empiezan (y terminan) con a mientras

    15

  • que las que resultan de aplicar la clusula vi empiezan (y terminan) con b. Si seeliminara la clusula iv entonces la definicin s sera libre. Si no se considerapalndromo entonces se podra eliminar la clusula i y agregar en su lugar unaque diga que bb .Ejemplo 4.2 (Definicin inductiva que satisface [1] y [3] pero no [2]). Sea = {a; b}y dado por

    i ii Si w entonces aw iii Si w entonces wb

    Aqu el problema radica en que, por ejemplo, ab puede obtenerse aplicando ii aw = b o aplicando iii a w = a. Entonces, por ejemplo, estas ecuaciones recursivas

    f() = 1f(aw) = f(w)2f(wb) = 2f(w)2

    no definen una funcin pues se tendra que, por un lado

    f(ab) = f(b)2= f(b)2= (2f()2)2= (2 12)2= 4y por otro

    f(ab) = 2f(a)2= 2f(a)2= 2f()2= 2 12= 2Ejemplo 4.3 (Definicin inductiva que satisface [2] y [3] pero no [1]). Sea A Rdado por:

    i 2 Aii 2 Aiii Si a A entonces a2 A

    16

  • Resulta evidente que A = {2;2;4;16;256; : : :} = {2;2}{22n n 1}. Esta defi-nicin cumple [2] (pues hay una nica regla inductiva) y tambin [3]. En efecto,para cualquier elemento de A se cumple que hay una nica regla que permiteformarlo, ya que si no es 2 ni 2 slo puede provenir de aplicar la regla iii. Y sies 2 proviene de aplicar ii y si es 2 proviene de aplicar i, no hay ms posibilida-des. El problema con esta defincin radica en que 4 = (2)2 y tambin 4 = 22, esdecir, no hay nico elemento al que aplicar una regla inductiva para obtener 4.Esto no significa que no se pueda definir una funcin por recursin. Por ejemplo,supngase que se desea definir la funcin identidad. La forma natural de hacerlosera:

    Id(2) = 2Id(2) = 2

    Id (a2) = Id(a)2; a 2;2Observar que estas ecuaciones recursivas s definen una funcin puesto que, ya seaque se calcule Id(4) como

    Id(4) = Id (22)= Id(2)2= 22= 4o por medio de

    Id(4) = Id ((2)2)= Id(2)2= (2)2= 4se obtiene 4, que es el resultado esperado. Sin embargo, es muy fcil dar ecuacionesrecursivas siguiendo este mismo esquema que no definan una funcin. Por ejemplo,

    f(2) = 2f(2) = 2

    f (a2) = 2f(a); a 2;2Ahora s se suscita un problema al momento de computar f(4) ya que no se sabesi ha de ser f(4) = 2f(2) = 4 o bien f(4) = 2f(2) = 4. Y esta indeterminacinocurre para cualquier elemento de A, ya que su imagen quedar dependiendo def(4) en ltimo trmino.

    17

  • 4.2. Esquema de recursin primitiva para X

    Teorema 3. Sea X con una definicin inductiva libre, B un conjunto arbi-trario y bi B; i = 1; : : : ; r gj Xaj Baj B funcin; j = 1; : : : ; tentonces existe, y es nica, una funcin f X B, tal que

    f(i) = bi; i = 1; : : : ; r f(Fj(1; : : : ; aj)) = gj(1; : : : ; aj ; f(1); : : : ; f(aj)); j = 1; : : : ; tDemostracin. La demostracin est dividida en dos partes, existencia y unicidad.

    ExistenciaDefinamos f como un conjunto f X B de pares ordenados, de la siguientemanera:

    i (i; bi) f; i = 1; : : : ; rii Si (1; c1); : : : ; (aj ; caj) f entonces(Fj(1; : : : ; aj); gj(1; : : : ; aj ; c1; : : : ; caj)) f; j = 1; : : : ; t

    Probemos ahora, por induccin en X, la siguiente propiedad:

    P (x) = (b B)((x; b) f) (b; b B)((x; b) f (x; b) f b = b)Observar que este predicado se compone de dos partes, por un lado

    (b B)((x; b) f)que podramos llamar existencia de la imagen de x, y por otro

    (b; b B)((x; b) f (x; b) f b = b)que podramos llamar unicidad de la imagen de x.

    / Paso base. Sea i {1; : : : ; r}. Hay que probar P (i).3 Existencia de la imagen:

    (b B)((i; b) f)Por definicin de f, basta tomar b = bi.

    18

  • 3 Unicidad de la imagen:

    (b; b B)((i; b) f (i; b) f b = b)Por [3] de la definicin 2, cualesquiera sean 1; : : : ; aj X se tiene quei Fj(1; : : : ; aj);j luego (i; b) y (i; b) slo pueden resultar deuna regla base. Como hay una nica regla base que introduce un parcon i como primer componente, no cabe otra posibilidad que b = b = bi.

    / Paso inductivo. Sea j {1; : : : ; t}. Supongamos P (1); : : : ; P (aj) y hay queprobar P (Fj(1; : : : ; aj)).3 Existencia de la imagen:

    (b B) ((Fj(1; : : : ; aj); b) f)Por hiptesis inductiva, sabemos que

    (c1 B)((1; c1) f)(c2 B)((2; c2) f)(caj B)((aj ; caj) f)luego por definicin de f,

    (Fj(1; : : : ; aj); gj(1; : : : ; aj ; c1; : : : ; caj)) fEn consecuencia, basta tomar b = gj(1; : : : ; aj ; c1; : : : ; caj) B.

    3 Unicidad de la imagen:

    (b; b B)((Fj(1; : : : ; aj); b) f (Fj(1; : : : ; aj); b) f b = b)Sea = Fj(1; : : : ; aj). Como X se tiene alguna de estas posibilida-des:a. = i para algn ib. = Fk(1; : : : ; ak); k {1; : : : ; t} para ciertos 1; : : : ; ak XEl caso a) no puede ocurrir por [3] de la definicin 2.En cuanto al caso b), si k j imposible, pues se tendra entonces que

    Fj(Xaj)Fk(Xak), pero Fj(Xaj)Fk(Xak) = por la condicin [2]de la definicin 2. Ahora bien, si k = j la condicin [1] de la definicin 2implica 1 = 1; : : : ; aj = aj .

    19

  • Esto muestra que (; b); (; b) fueron obtenidos a partir de pares quetenan a 1; : : : ; aj como primeras componentes.

    Supongamos que (; b) fue obtenido a partir de (1; c1); : : : ; (aj ; caj) yque (; b) fue obtenido a partir de (1; c1); : : : ; (aj ; caj). Por hiptesisde induccin,

    (i; ci) f (i; ci) f ci = ciy esto para todo i = 1; : : : ; aj . Luego,

    b = b = gj(1; : : : ; aj ; c1; : : : ; caj)UnicidadSupngase que existen dos funciones, f y f^ , satisfaciendo las ecuaciones recursivas.Se deja como ejercicio probar, por induccin en X, la siguiente propiedad:

    P (x) = (f(x) = f^(x))4.3. Ejemplo de aplicacin

    Al igual que hicimos con el PIP, enunciaremos el ERP para el caso particular enque X = N con la definicin inductiva del ejemplo 2.1.Corolario 4.1 (Esquema de recursin primitiva para N). Sea B unconjunto arbitrario y f0 B fs N B B una funcinentonces existe, y es nica, una funcin F N B, tal que3 F (0) = f0 F (S(n)) = fs(n;F (n))Cul es el sentido de este teorema? Simplemente nos dice que, para definir unafuncin en los naturales, es suficiente especificar su comportamiento en 0 y paran 1, dar una regla que nos permita deducir el valor de la funcin en S(n) apartir de su valor en el antecesor n. El Teorema de Recursin Primitiva para Nasegura que cualesquiera sean el elemento f0 y la funcin fs, existe una nica Fdefinida por recursin primitiva a partir de ellos.

    3S(n) es la funcin sucesor que dado n devuelve (n + 1).20

  • Ejemplo 4.4. Supongamos que queremos definir una funcin exp2 N N tal queexp2(n) = 2n2(n1)2120

    Para fijar ideas, calculemos exp2(n) para valores bajos de n:exp2(0) = 20 = 1exp2(1) = 2120 = 211 = 2exp2(2) = 222120 = 222 = 16exp2(3) = 23222120 = 2316 = 281474976710656

    Si pretendemos ser formales, dar una frmula para esta funcin en el lenguaje de laaritmtica con suma, producto y exponenciacin, puede ser una tarea compleja.Ahora bien, si tomamos f0 = 1 y fs N N N dada por fs(n;m) = 2S(n)mplanteando

    exp2(0) = f0exp2(S(n)) = fs(n; exp2(n))

    el teorema nos dice que existe una funcin exp2 definida a partir de estas ecuacio-nes por recursin primitiva, y es fcil ver que exp2 exp2. As sabemos que exp2es una funcin que existe, y tiene sentido definirla.

    4.4. Ejercicio 1 del Examen de Lgica de Julio de 2013

    Para cerrar estas notas, veamos un ejercicio que requiera poner en prctica todoslos conocimientos que hemos adquirido.

    Ejemplo 4.5. Considere el alfabeto = {0;1}, el lenguaje , y la funcin #0 N tal que

    #0() = 0#0(0w) = 1 +#0(w)#0(1w) = #0(w)

    a. Defina la funcin QUITA1 que elimina todos los unos conlos que empieza el argumento. Por ejemplo, QUITA1(1111110111) = 0111,QUITA1(0111) = 0111.

    21

  • b. Demuestre que la cantidad de ceros que aparecen en w y en QUITA1(w) esla misma.

    c. Defina la funcin COMPACTA que sustituye las apariciones deunos adyacentes por un nico uno. Por ejemplo,

    COMPACTA(1110111110001) = 1010001Use la funcin QUITA1.

    d. Demuestre que la cantidad de ceros que aparecen en w y en COMPACTA(w)es la misma.

    Resolucin. Antes de pasar a la resolucin de cada uno de los apartados, enun-ciemos el PIP y el ERP para , el cual implcitamente, aparece definido en elejercicio como:

    i ii Si w entonces 0w iii Si w entonces 1w Principio de induccin primitiva para

    Sea P (w) una propiedad referida a una cadena w . Sii. P () se cumpleii. Si P (w) se cumple, P (0w) se cumpleiii. Si P (w) se cumple, P (1w) se cumpleentonces se cumple P (w) para todo w .Esquema de recursin primitiva para Sea B un conjunto arbitrario y

    f B f0 B B f1 B Bentonces existe, y es nica, una funcin F B, tal que

    F () = f F (0w) = f0(w;F (w)) F (1w) = f1(w;F (w))22

  • a. Aplicando el ERP para con f = y f0; f1 tales quef0(w1;w2) = 0w1 y f1(w1;w2) = w2, obtenemos

    QUITA1() = QUITA1(0w) = 0wQUITA1(1w) = QUITA1(w)

    b. Consideramos como propiedad

    P (w) = #0(w) =#0(QUITA1(w))P () es verdadera pues QUITA1() = (por definicin de QUITA1).Supongamos P (w) y probemos P (0w). De nuevo, por definicin deQUITA1, se tiene que QUITA1(0w) = 0w luego aplicando #0 a ambosmiembros,

    #0(QUITA1(0w)) =#0(0w)Notar que en este paso no fue necesario hacer uso de la hipteis induc-tiva.Supongamos P (w) y probemos P (1w). Se tiene que:

    #0(QUITA1(1w)) =#0(QUITA1(w)) definicin de QUITA1=#0(w) hiptesis inductiva=#0(1w) definicin de #0c. Aplicando el ERP para con f = y f0; f1 tales que

    f0(w1;w2) = 0w2 y f1(w1;w2) = 1QUITA1(w2), resultaCOMPACTA() = COMPACTA(0w) = 0COMPACTA(w)COMPACTA(1w) = 1QUITA1(COMPACTA(w))

    d. Elegimos como propiedad

    P (w) = #0(w) =#0(COMPACTA(w))P () es verdadera pues COMPACTA() = (por definicin de COMPACTA).Supongamos P (w) y probemos P (0w). Se tiene que:#0(COMPACTA(0w)) =#0(0COMPACTA(w)) definicin de COMPACTA= 1 +#0(COMPACTA(w)) definicin de #0= 1 +#0(w) hiptesis inductiva=#0(0w) definicin de #0

    23

  • Supongamos P (w) y probemos P (1w). Se tiene que:#0(COMPACTA(1w)) =#0(1QUITA1(COMPACTA(w))) definicin de

    COMPACTA=#0(QUITA1(COMPACTA(w))) definicin de #0=#0(COMPACTA(w)) apartado b.=#0(w) hiptesis inductiva=#0(1w) definicin de #0Por ltimo, y aunque no lo pida el ejercicio, computemos (slo para ver cmofunciona la recursin) COMPACTA(111010), usando la definicin recursivadel apartado c.

    COMPACTA(111010) = 1QUITA1(COMPACTA(11010))= 1QUITA1(1QUITA1(COMPACTA(1010)))= 1QUITA1(1QUITA1(1QUITA1(COMPACTA(010))))= 1QUITA1(1QUITA1(1QUITA1(0COMPACTA(10))))= 1QUITA1(1QUITA1(1QUITA1(01QUITA1(COMPACTA(0)))))= 1QUITA1(1QUITA1(1QUITA1(01QUITA1(0COMPACTA()))))= 1QUITA1(1QUITA1(1QUITA1(01QUITA1(0))))= 1QUITA1(1QUITA1(1QUITA1(010)))= 1QUITA1(1QUITA1(1010))= 1QUITA1(1010)= 1010

    24