Subido por Pablo Báez

Induccion y recursion

Anuncio
Notas sobre inducción y recursión
Pablo Báez Echevarría
pab_24n@outlook.com
Lógica - Facultad de Ingeniería - Udelar
Julio de 2013
UNIVERSIDAD
DE LA REPUBLICA
URUGUAY
Índice
1. Introducción
3
2. Definiciones inductivas
3
2.1. Forma general de una definición inductiva . . . . . . . . . . . . . . .
3
2.2. Interpretación de las reglas . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2.1. Interpretación constructiva . . . . . . . . . . . . . . . . . . . .
5
2.2.2. Interpretación declarativa . . . . . . . . . . . . . . . . . . . .
6
2.2.3. Equivalencia de las interpretaciones constructiva y declarativa 6
2.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3. Principio de Inducción Primitiva (PIP)
3.1. Enunciado formal y demostración . . . . . . . . . . . . . . . . . . . .
3.2. Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Pertenencia a un conjunto definido inductivamente . . . . . . . . . .
10
10
11
12
4. Esquema de Recursión Primitiva (ERP)
4.1. Definición inductiva libre . . . . . . . . . . . . . . .
4.2. Esquema de recursión primitiva para X . . . . . .
4.3. Ejemplo de aplicación . . . . . . . . . . . . . . . . .
4.4. Ejercicio 1 del Examen de Lógica de Julio de 2013
13
13
18
20
21
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1.
Introducción
El objetivo de estas notas es brindar a los estudiantes de Lógica un material de
apoyo para los primeros temas del curso (inducción y recursión) para los cuales no
hay un libro de cabecera en donde aclararse las dudas e interrogantes que a uno le
surgen leyendo las diapositivas. Ojalá estos apuntes sirvan para dicho propósito.
2.
Definiciones inductivas
2.1.
Forma general de una definición inductiva
Para definir inductivamente un conjunto, llámese X, se sigue el siguiente procedimiento: se especifica un conjunto U llamado Universo conocido de antemano, y
se dan ciertas reglas (tambíen llamadas cláusulas) 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 X
entonces otro elemento, formado de alguna manera a partir de los anteriores, también pertenece a X. Son de la forma: Si α1 , . . . , αn ∈ X entonces
F (α1 , . . . , αn ) ∈ X.
De esta manera, de aquí en más, trabajaremos con una definición inductiva genérica, que es la siguiente:
Forma general de de una definición inductiva
Sea U ≠ ∅ el conjunto Universo y X ⊆ U definido inductivamente por
1)
⋮
r)
r+1)
⋮
r+t)
β1 ∈ X
βr ∈ X
Si α1 , . . . , αa1 ∈ X entonces F1 (α1 , . . . , αa1 ) ∈ X
Si α1 , . . . , αat ∈ X entonces Ft (α1 , . . . , αat ) ∈ X
donde βi ≠ βj , ∀i ≠ j y Fk ∶ U ak → U son funciones, ak ∈ Z+ , ∀k = 1, . . . , t.
En la definición precedente hay r reglas base y t reglas inductivas. Observar que
3
cada regla base introduce un único elemento del Universo al conjunto X. Eso
podría llegar a ser una limitación: por ejemplo, considérese la siguiente definición
inductiva de N × N (como subconjunto de R2 ):
i
ii
Si n ∈ N entonces (n, 0) ∈ N × N
Si (n, m) ∈ N × N entonces (n, m + 1) ∈ N × N
La cláusula i es una cláusula base (o un conjunto de cláusulas base) y no inductiva
porque no supone que tenemos elementos de N × N sino de otro conjunto definido
previamente (el de los números naturales). De esta manera, la regla i, siendo una
regla base, está introduciendo al conjunto que queremos definir, que es N × N,
tantos elementos como tiene N (en vez de uno solo). Naturalmente, para ajustarla
a la definición general que acabamos de dar, uno podría sustituirla por:
i
ii
iii
⋮
(0, 0) ∈ N × N
(1, 0) ∈ N × N
(2, 0) ∈ N × N
⋮
pero en tal caso, hemos dejado de tener un número finito de reglas base. Para
evitar este inconveniente, se puede sustituir el conjunto de reglas base por una
única regla que sea:
B0 ⊂ X
donde B0 (finito o no) es el conjunto de elementos del Universo que queremos
tener en X como punto de partida.
2.2.
Interpretación de las reglas
Iniciaremos este tema con una
Definición 1. Dada una definición inductiva como en la sección anterior y un
elemento α ∈ U, se llama secuencia de formación para α a una secuencia φ1 , . . . , φn
de elementos del Universo tales que φn = α y cada elemento de la secuencia, o
bien resulta de una regla base, o bien de aplicarle una regla inductiva a elementos
anteriores en la secuencia.
Dos observaciones (que aparentemente no tienen conexión entre sí):
No todos los elementos del Universo tienen asociada una secuencia de formación.
4
Las reglas pueden ser interpretadas como condiciones o requisitos que debe
reunir el conjunto X que se está definiendo. En tal sentido, algunos subconjuntos del Universo verificarán las reglas y habrá otros que no. Ocurrirá
frecuentemente que haya más de un subconjunto del Universo que verifique
las reglas.
Si hay muchos subconjuntos que cumplen con las reglas, es menester preguntarse
cuál de todos ellos es el que se está definiendo. Pues bien, en relación a la pregunta
¿cuál es exactamente el conjunto que definen las reglas? hay dos puntos de vista
(los cuales probaremos que son equivalentes entre sí) llamados: Interpretación
Constructiva e Interpretación Declarativa.
2.2.1.
Interpretación constructiva
Se llama conjunto XC definido inductivamente por las reglas, al conjunto de los
elementos del Universo que tienen una secuencia de formación.
La idea es partir de un subconjunto B0 ⊂ U (el cual se especifica mediante la
reglas base) e ir “agrandándolo” sucesivamente mediante la aplicación de las reglas
inductivas hasta llegar a un conjunto que bien podríamos llamar “límite” en un
sentido que explicitaremos a continuación.
U
B0
B1
B2
B3
Figura 1: Sucesión de conjuntos {Bn }.
5
Definiendo
t
Bn+1 = Bn ∪ ⋃ Fi (Bnai )
i=1
se cumple que {Bn }n≥0 es una sucesión monótona creciente B0 ⊆ B1 ⊆ ⋯ ⊆ Bn ⊆
Bn+1 ⊆ ⋯ y por lo tanto
XC = lı́m Bn
n→∞
(Notar que Bi es el conjunto de elementos del Universo para los cuales existe una
secuencia de formación de longitud ≤ i + 1).
2.2.2.
Interpretación declarativa
Se llama conjunto XD definido inductivamente por las reglas, a la intersección de
todos los subconjuntos del Universo que las verifican.
En símbolos, 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, la
afirmación en cursiva sería:
XD = ⋂ R
R∈R
Algunas observaciones:
El Universo siempre cumple con las reglas, por tanto R ≠ ∅.
No es difícil 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 luego
XD = Y ∩ (⋂R∈R−{Y } R) luego α ∈ XD implica α ∈ Y .
Como XD verifica las reglas y cualquier otro subconjunto Y del Universo
que verifica las reglas cumple XD ⊆ Y (esto no es más que la conjunción
de las dos observaciones anteriores), podemos afirmar que XD es el mínimo
conjunto que las verifica.
2.2.3.
Equivalencia de las interpretaciones constructiva y declarativa
Es momento de presentar el principal resultado de esta sección:
Teorema 1. La interpretación constructiva y la interpretación declarativa definen
el mismo conjunto, es decir, son equivalentes.
6
Demostración. La prueba consiste en probar, mediante la doble inclusión, que
XC = XD .
* XD ⊆ XC
Si XC satisface las reglas, como XD es el mínimo conjunto que las satisface,
se tendría XD ⊆ XC .
Luego basta probar que XC cumple con las reglas.
/ Consideremos una regla base, de la forma: α ∈ X. La secuencia que
sólo está formada por α es una secuencia de formación para α, luego
α ∈ XC .
/ Consideremos ahora una regla inductiva, de la forma: Si α1 , . . . , αn ∈ X
entonces F (α1 , . . . , αn ) ∈ X. Si α1 , . . . , αn ∈ XC entonces existe una
secuencia de formación para cada uno de estos elementos. Concatenando las n secuencias de formación, cada una terminando en αi para
i = 1, . . . , n y agregando de último F (α1 , . . . , αn ) hemos construido una
secuencia de formación para F (α1 , . . . , αn ), luego F (α1 , . . . , αn ) ∈ XC .
* XC ⊆ XD
Considérese la siguiente propiedad (concerniente a los números naturales):
P (n) ∶= (α ∈ U admite una secuencia de formación de longitud n
⇒ α ∈ XD )
Probar que P (n) es cierta para cualquier n ≥ 1 demuestra la inclusión XC ⊆
XD porque cualquier elemento α ∈ XC tendrá una secuencia de formación
de algún largo ≥ 1. Se hará por inducción fuerte en n.
/ Paso base. Probemos P (1). Si α ∈ U admite una secuencia de formación
de largo 1, entonces α necesariamente resulta de aplicar una regla base
(pues no hay elementos anteriores en la secuencia). Si R ∈ R entonces
R satisface las reglas, en particular las reglas base. Así α ∈ R, ∀R ∈ R
luego α ∈ ⋂R∈R R = XD .
/ Paso inductivo. Sea n un número natural arbitrario y supongamos que
se cumple P (m) para todo m < n. Nuestro objetivo es probar P (n).
Tomemos α ∈ U tal que α admite una secuencia de formación de longitud n. Tenemos que probar que α ∈ XD = ⋂R∈R R. Para ello tomamos
R ∈ R y probaremos que α ∈ R.
Por definición de secuencia de formación, se distinguen dos casos: o
bien α 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 secuencia de formación de longitud < n luego por hipótesis de inducción
están en XD luego en R, puesto que XD ⊆ R. Hemos llegado a que α
se obtiene aplicando una regla inductiva a elementos de R, pero como
R satisface las reglas (en particular las inductivas), α también ha de
pertencer a R.
2.3.
Ejemplos
En esta sección presentaremos algunos ejemplos útiles que utilizaremos a lo largo
del texto.
Ejemplo 2.1 (Conjunto de los números naturales). Muchos libros de cálculo, como
por ejemplo el Calculus de Apostol o el de Spivak, no introducen a los números
reales de forma constructiva (esto es, empezando primero con los números naturales a partir de los axiomas de Peano, luego siguiendo con los enteros negativos,
después con los racionales y por último los irracionales) sino que suponen que
existen ciertos objetos, llamados números reales, que satisfacen una lista de 10
axiomas agrupados en tres grandes grupos: 6 axiomas de cuerpo, 3 axiomas de
orden más el axioma del supremo o del extremo superior. Una vez caracterizado R mediante axiomas, presentan al conjunto N de los números naturales como
subconjunto de R mediante la siguiente definición inductiva:
i
ii
0∈N
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 definición anterior carecería de sentido pues naturalmente,
supone definidos el cero, el uno y la suma. Es decir, tal definición es válida siempre
que 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 conjunto
finito (no vacío) de símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una
palabra (también llamada tira o cadena) sobre un alfabeto Σ es cualquier secuencia
finita de elementos de Σ. Asimismo admitimos la existencia de una única palabra
que no tiene símbolos, la cual se denomina palabra vacía 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 símbolo del alfabeto. El conjunto de todas
las palabras sobre un alfabeto Σ (incluyendo la palabra vacía), 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 extremos: L = ∅ y L = Σ∗ ). Dicho de otra manera, un lenguaje es un conjunto de
palabras.
Algunos lenguajes pueden definirse inductivamente. Por ejemplo, sea Σ = {a, b, c}
y Γ ⊆ Σ∗ definido por
i
ii
iii
ϵ∈Γ
a∈Γ
Si α ∈ Γ y β ∈ Γ entonces bαcβb ∈ Γ
Notar que de la misma manera en que, en la definición de los naturales se daba
por definido el cero como neutro de la suma, en esta definición se da por definida
la palabra vacía ϵ como neutro de la concatenación de dos cadenas.
Ejemplo 2.3 (Una posible definición de Z). Supongamos que se desea definir el
conjunto de los números enteros Z, como subconjunto de R, mediante reglas.
Podría hacerse así:
i
0∈Z
ii Si k ∈ Z entonces k + 1 ∈ Z
iii 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 número entero. Por ejemplo, para llegar
a 2, puede hacerse así:
i
ii
ii
Ð→ 0 Ð→ 1 Ð→ 2
O también:
i
iii
iii
ii
ii
ii
ii
Ð→ 0 Ð→ −1 Ð→ −2 Ð→ −1 Ð→ 0 Ð→ 1 Ð→ 2
El hecho de que el “proceso de formación” de un elemento no esté unívocamente
determinado, acarrea algunos problemas que veremos más adelante.
9
3.
Principio de Inducción Primitiva (PIP)
3.1.
Enunciado formal y demostración
El Principio de Inducción Primitiva es un teorema que se enuncia para cada
conjunto con una definición inductiva como la que se presentó en la sección 2.1.
Teorema 2. Dado X como en la sección 2.1, sea P (α) una propiedad referida a
un elemento α de X. Si
(1)
⋮
(r)
(r+1)
⋮
(r+t)
P (β1 ) se cumple
P (βr ) se cumple
Si P (α1 ), . . . , P (αa1 ) se cumple, P (F1 (α1 , . . . , αa1 )) se cumple
Si P (α1 ), . . . , P (αat ) se cumple, P (Ft (α1 , . . . , αat )) se cumple
entonces se cumple P (α) para todo α ∈ X.
A la verificación de (1), . . . , (r) se le llama paso base y a la verificación de
(r+1), . . . , (r+t) paso inductivo.
Demostración. Sea S = {x ∈ U ∶ x ∈ X ∧ P (x) se cumple}. Verifiquemos que S
cumple con las reglas.
3 βi ∈ S, i = 1, . . . , r puesto que βi ∈ X por la regla base i) y P (βi ) se cumple
por hipótesis (i).
3 Si α1 , . . . , αaj ∈ S entonces Fj (α1 , . . . , αaj ) ∈ S, j = 1, . . . , t. En efecto,
α1 , . . . , α aj
⎧
⎪
⎪
⎪
α1 , . . . , αaj ∈ X
⎪
⎪
⎪
⎪
⎪
∈S⇒⎨
⎪
⎪
⎪
P (α1 ), . . . , P (αaj )
⎪
⎪
⎪
⎪
⎪
se cumple
⎩
regla r+j)
⇒
Fj (α1 , . . . , αaj ) ∈ X
hipótesis (r+j)
P (Fj (α1 , . . . , αaj ))
se cumple
⇒
Como Fj (α1 , . . . , αaj ) ∈ X y P (Fj (α1 , . . . , αaj )) se cumple, se tiene que
Fj (α1 , . . . , αaj ) ∈ S.
Hemos probado que S satisface las reglas. Como X es el menor conjunto que
satisface las reglas, X ⊆ S. Luego P (α) se cumple para todo α ∈ X.
10
3.2.
Ejemplo de aplicación
Primero que nada, enunciemos el PIP para el caso particular en que X = N con
la definición del ejemplo 2.1. Notar que, dado que se ha demostrado ya el caso
general, éste no es más que un corolario.
Corolario 3.1 (Principio de inducción primitiva para N). Sea P (n) una
propiedad referida a un número natural n. Si
i. P (0) se cumple
ii. 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 matemática, se puede usar para
probar propiedades concernientes a los números naturales.
Ejemplo 3.1. Probar que la suma de los primeros n números naturales impares es
igual a n2 .
Demostración. Elegimos como propiedad
P (n)
n
∶=
∑ (2k − 1) = n
2
k=1
Que P (0) es cierta es trivial, pues la identidad resulta ∑0k=1 (2k − 1) = 02
(notar que la sumatoria es vacía1 ).
Supongamos ahora que se cumple P (n) y demostremos P (n + 1). Se tiene
que
n+1
n
k=1
k=1
2
∑ (2k − 1) = ∑ (2k − 1) + (2(n + 1) − 1)
(1)
= n + (2n + 2 − 1)
(2)
= n + 2n + 1
(3)
= (n + 1)
(4)
2
2
donde en (2) se aplicó la hipótesis inductiva y en (4) la fórmula del cuadrado
de un binomio.
1
En un grupo abeliano aditivo (o multiplicativo), una sumatoria (resp. productoria) que no
tiene términos se llama vacía 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 sección algunas cuestiones prácticas al momento de resolver
ejercicios.
ñ Para demostrar que un elemento pertenece a un conjunto inductivo normalmente se construye una secuencia de formación.
ñ Para demostrar que un elemento NO pertenece a un conjunto inductivo se
pueden seguir tres estrategias:
1. Suponer que el elemento tiene una secuencia de formación y llegar a
un absurdo.
Ejemplo 3.2. Considere la definición inductiva del ejemplo 2.2. Demuestre que bcbb ∈/ Γ.
Demostración. Por absurdo, supongamos que existe una secuencia de
formación para bcbb. Como bcbb no es ϵ ni a, sólo puede resultar de
aplicar la regla iii. Luego bcbb = bαcβb para ciertos elementos α, β ∈ Γ
que aparecerán antes en la secuencia. Por comparación de las cadenas
bcbb y bαcβb no cabe otra posibilidad que α = ϵ y β = b. Pero ninguna
regla permite introducir una b en Γ (basta ver que no está entre las
reglas base y la única regla inductiva introduce palabras con al menos
una c), contradicción.
2. Probar (por inducción primitiva) que todo elemento del conjunto satisface una propiedad y notar que el elemento considerado no la cumple.
Ejemplo 3.3. Sea Σ = {a, b} y Γ ⊆ Σ∗ definido por
i
ii
ϵ∈Γ
Si w ∈ Γ entonces wab ∈ Γ
Demuestre que bab ∈/ Γ.
Demostración. Una manera posible puede ser probar por inducción en
Γ que todas sus palabras tienen la misma cantidad de letras a que de
letras b, o que tienen largo par. Como bab no cumple ninguna de estas
propiedades, se concluye que bab ∈/ Γ.
3. Mostrar que el conjunto resultante de quitar dicho elemento sigue satisfaciendo las reglas.
12
Ejemplo 3.4. Sea ΣP ROP el alfabeto conformado por símbolos de proposición p0 , p1 , . . . conectivos ∧, ∨, →, ¬, ↔, – y paréntesis (, ). Se define el
lenguaje de la lógica proposicional P ROP ⊆ (ΣP ROP )∗ de la siguiente
manera:
(i)
(ii)
(iii)
(iv)
(v)
(vi)
pi ∈ P ROP (∀i ∈ N), – ∈ P ROP
Si φ, ψ ∈ P ROP entonces (φ ∧ ψ) ∈ P ROP
Si φ, ψ ∈ P ROP entonces (φ ∨ ψ) ∈ P ROP
Si φ, ψ ∈ P ROP entonces (φ → ψ) ∈ P ROP
Si φ, ψ ∈ P ROP entonces (φ ↔ ψ) ∈ P ROP
Si φ ∈ X entonces (¬φ) ∈ P ROP
Demuestre que ¬¬– ∈/ P ROP . Este ejemplo fue extraído del libro “Logic
and Structure” (tercera edición) del matemático Dirk van Dalen (pág.
8).
Demostración. Supongamos que ¬¬– ∈ P ROP . Nuestro objetivo será
probar que Y = P ROP − {¬¬–} también satisface (i), (ii), . . . , (vi).
• Es claro que como pi , – ∈ P ROP también –, pi ∈ Y .
• Sean φ, ψ ∈ Y . Luego φ, ψ ∈ P ROP y como P ROP satisface
(ii), (iii), (iv), (v) entonces (φ□ψ) ∈ Y ya que por las formas de las
expresiones (φ□ψ) ≠ ¬¬– (mirar, por ejemplo, en los paréntesis).
En lo anterior usamos □ para denotar cualquiera de los símbolos
∧, ∨, →, ↔.
• Análogamente se prueba que Y cumple (vi).
Como Y satisface todas las reglas, se tiene que P ROP no es el menor
conjunto que las satisface, absurdo.
ñ Para demostrar que dos conjuntos dados por reglas son iguales, lo más sencillo es probar por inducción que cada conjunto verifica las reglas del otro
(véase Ej. 9 del Práctico 1).
4.
4.1.
Esquema de Recursión Primitiva (ERP)
Definición inductiva libre
El Esquema de Recursión Primitiva, al igual que el Principio de Inducción Primitiva, es un teorema que se formula para cada conjunto inductivo. Pero antes de
enunciarlo, debemos introducir la siguiente
13
Definición 2. Una definición inductiva como la de la sección 2.1 se dice que es
libre si verifica las siguientes condiciones:
[1]. La restricción de Fj a X aj ⊆ U aj es inyectiva para todo j = 1, . . . , , t. O sea,
dados α1 , . . . , αaj , α1′ , . . . , αa′ j ∈ X:
Fj (α1 , . . . , αaj ) = Fj (α1′ , . . . , αa′ j )
⇒
α1 = α1′ , . . . , αaj = αa′ j
Si un elemento es obtenido a partir de una regla inductiva, los elementos a
los que se aplica dicha regla para producirlo, son únicos.
[2].
Fi (X ai ) ∩ Fj (X aj ) = ∅,
∀i ≠ j
No hay dos reglas inductivas distintas que permitan generar el mismo elemento.
[3]. B0 es realmente básico, o sea, si α1 , . . . , αaj ∈ X se tiene que
Fj (α1 , . . . , αaj ) ∈/ B0 , ∀j = 1, . . . , t
Un elemento de una regla base no puede ser obtenido mediante la aplicación
de una regla inductiva.
Si la definición inductiva de X es libre, existe para X otro teorema llamado
Esquema de Recursión Primitiva (ERP), el cual brinda un mecanismo para definir
funciones que tengan a X como dominio. Básicamente, para definir una función
f ∶ X → B la idea es:
p Asignar un valor a cada elemento dado por una regla base2 .
p Para cada cláusula inductiva de la forma: “Si α1 , . . . , αn ∈ X entonces
F (α1 , . . . , αn ) ∈ X”, dar un método para calcular f (F (α1 , . . . , αn )) a partir
de f (α1 ), . . . , f (αn ) y eventualmente, α1 , . . . , αn .
Esta idea se recoge en el Teorema 3. Veamos ahora algunos ejemplos pensados
para convencerse de que las tres condiciones exigidas en la definición anterior son
necesarias para que dicho teorema sea válido. Las dos últimas pueden resumirse
en una sola: para todo elemento del conjunto hay una única regla que permite
formarlo.
2
Observar que asignar un valor a cada elemento dado por una regla base no es otra cosa que
definir por extensión una función 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 que
se hace es dar una fórmula general para h para luego hacer que f ∣B0 = h.
14
Ejemplo 4.1 (Definición inductiva que satisface [1] y [2] pero no [3]). Supongamos
que Σ = {a, b} y ∆ ⊆ Σ∗ está definido por
i
ii
iii
iv
v
vi
ϵ∈∆
a∈∆
b∈∆
aa ∈ ∆
Si w ∈ ∆ entonces awa ∈ ∆
Si w ∈ ∆ entonces bwb ∈ ∆
Es claro que ∆ es el conjunto de los palíndromos, es decir las palabras que resultan iguales leídas de adelante hacia atrás que de atrás hacia adelante. Pero hay
un detalle: el conjunto B0 = {ϵ, a, b, aa} no es realmente básico, pues aa puede
obtenerse aplicando la regla v a w = ϵ. ¿Qué problema acarrea esto? Imaginemos
que se tienen las siguientes ecuaciones recursivas:
f (ϵ) = 0
f (a) = 0
f (b) = 0
f (aa) = 0
f (awa) = 1 + f (w)
f (bwb) = 1 + f (w)
La idea es que f (w) represente el mínimo n tal que w ∈ Bn siendo Bn el definido
en la sección 2.2.1 (intuitivamente, el número de pasos inductivos necesarios para
obtener w). Pero estas ecuaciones no definen una función, pues por un lado
f (aa) = 0
y por otro
f (aa) = f (aϵa)
= 1 + f (ϵ)
=1+0
=1
Notar, sin embargo, que la definición inductiva de ∆ cumple con [1] porque si
w, w′ ∈ ∆ entonces awa = aw′ a implica necesariamente w = w′ , y de la misma
manera, bwb = bw′ b implica w = w′ . Y también cumple con [2] pues las palabras
de ∆ que resultan de aplicar la cláusula v empiezan (y terminan) con a mientras
15
que las que resultan de aplicar la cláusula vi empiezan (y terminan) con b. Si se
eliminara la cláusula iv entonces la definición sí sería libre. Si ϵ no se considera
palíndromo entonces se podría eliminar la cláusula i y agregar en su lugar una
que diga que bb ∈ ∆.
Ejemplo 4.2 (Definición 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 a
w = b o aplicando iii a w = a. Entonces, por ejemplo, estas ecuaciones recursivas
f (ϵ) = 1
f (aw) = f (w)2
f (wb) = 2f (w)2
no definen una función pues se tendría que, por un lado
f (ab) = f (b)2
= f (ϵb)2
2
= (2f (ϵ)2 )
= (2 ⋅ 12 )
2
=4
y por otro
f (ab) = 2f (a)2
= 2f (aϵ)2
= 2f (ϵ)2
= 2 ⋅ 12
=2
Ejemplo 4.3 (Definición inductiva que satisface [2] y [3] pero no [1]). Sea A ⊆ R
dado por:
i
−2 ∈ A
ii
2∈A
iii
Si a ∈ A entonces a2 ∈ A
16
n
Resulta evidente que A = {−2, 2, 4, 16, 256, . . . } = {−2, 2} ∪ {22 ∶ n ≥ 1}. Esta definición cumple [2] (pues hay una única regla inductiva) y también [3]. En efecto,
para cualquier elemento de A se cumple que hay una única regla que permite
formarlo, ya que si no es 2 ni −2 sólo puede provenir de aplicar la regla iii. Y si
es 2 proviene de aplicar ii y si es −2 proviene de aplicar i, no hay más posibilidades. El problema con esta definción radica en que 4 = (−2)2 y también 4 = 22 , es
decir, no hay único elemento al que aplicar una regla inductiva para obtener 4.
Esto no significa que no se pueda definir una función por recursión. Por ejemplo,
supóngase que se desea definir la función identidad. La forma natural de hacerlo
sería:
Id(−2) = −2
Id(2) = 2
Id (a2 ) = Id(a)2 ,
a ≠ −2, 2
Observar que estas ecuaciones recursivas sí definen una función puesto que, ya sea
que se calcule Id(4) como
Id(4) = Id (22 )
= Id(2)2
= 22
=4
o por medio de
Id(4) = Id ((−2)2 )
= Id(−2)2
= (−2)2
=4
se obtiene 4, que es el resultado esperado. Sin embargo, es muy fácil dar ecuaciones
recursivas siguiendo este mismo esquema que no definan una función. Por ejemplo,
f (−2) = −2
f (2) = 2
f (a2 ) = 2f (a),
a ≠ −2, 2
Ahora sí se suscita un problema al momento de computar f (4) ya que no se sabe
si ha de ser f (4) = 2f (2) = 4 o bien f (4) = 2f (−2) = −4. Y esta indeterminación
ocurre para cualquier elemento de A, ya que su imagen quedará dependiendo de
f (4) en último término.
17
4.2.
Esquema de recursión primitiva para X
Teorema 3. Sea X con una definición inductiva libre, B ≠ ∅ un conjunto arbitrario y
● bi ∈ B, ∀i = 1, . . . , r
● gj ∶ X aj × B aj → B función, ∀j = 1, . . . , t
entonces existe, y es única, una función f ∶ X → B, tal que
● f (βi ) = bi , ∀i = 1, . . . , r
● f (Fj (α1 , . . . , αaj )) = gj (α1 , . . . , αaj , f (α1 ), . . . , f (αaj )),
∀j = 1, . . . , t
Demostración. La demostración está dividida en dos partes, existencia y unicidad.
⊕ →Existencia
Definamos f como un conjunto f ∗ ⊆ X × B de pares ordenados, de la siguiente
manera:
i
ii
(βi , bi ) ∈ f ∗ , ∀i = 1, . . . , r
Si (α1 , c1 ), . . . , (αaj , caj ) ∈ f ∗ entonces
(Fj (α1 , . . . , αaj ), gj (α1 , . . . , αaj , c1 , . . . , caj )) ∈ f ∗ ,
∀j = 1, . . . , t
Probemos ahora, por inducción 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 podríamos llamar existencia de la imagen de x, y por otro
(∀b, b′ ∈ B)((x, b) ∈ f ∗ ∧ (x, b′ ) ∈ f ∗ ⇒ b = b′ )
que podríamos 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 definición 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 definición 2, cualesquiera sean α1 , . . . , αaj ∈ X se tiene que
βi ≠ Fj (α1 , . . . , αaj ), ∀j luego (βi , b) y (βi , b′ ) sólo pueden resultar de
una regla base. Como hay una única regla base que introduce un par
con β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 que
probar P (Fj (α1 , . . . , αaj )).
3 Existencia de la imagen:
(∃b ∈ B) ((Fj (α1 , . . . , αaj ), b) ∈ f ∗ )
Por hipótesis inductiva, sabemos que
(∃c1 ∈ B)((α1 , c1 ) ∈ f ∗ )
(∃c2 ∈ B)((α2 , c2 ) ∈ f ∗ )
⋮
(∃caj ∈ B)((αaj , caj ) ∈ f ∗ )
luego por definición de f ∗ ,
(Fj (α1 , . . . , αaj ), gj (α1 , . . . , αaj , c1 , . . . , caj )) ∈ f ∗
En 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 posibilidades:
a. γ = βi para algún i
b. γ = Fk (α1′ , . . . , αa′ k ), k ∈ {1, . . . , t} para ciertos α1′ , . . . , αa′ k ∈ X
El caso a) no puede ocurrir por [3] de la definición 2.
En cuanto al caso b), si k ≠ j imposible, pues se tendría entonces que
γ ∈ Fj (X aj )∩Fk (X ak ), pero Fj (X aj )∩Fk (X ak ) = ∅ por la condición [2]
de la definición 2. Ahora bien, si k = j la condición [1] de la definición 2
implica α1 = α1′ , . . . , αaj = αa′ j .
19
Esto muestra que (γ, b), (γ, b′ ) fueron obtenidos a partir de pares que
tenían a α1 , . . . , αaj como primeras componentes.
Supongamos que (γ, b) fue obtenido a partir de (α1 , c1 ), . . . , (αaj , caj ) y
que (γ, b′ ) fue obtenido a partir de (α1 , c′1 ), . . . , (αaj , c′aj ). Por hipótesis
de inducción,
(αi , ci ) ∈ f ∗ ∧ (αi , c′i ) ∈ f ∗
⇒
ci = c′i
y esto para todo i = 1, . . . , aj . Luego,
b = b′ = gj (α1 , . . . , αaj , c1 , . . . , caj )
⊕ →Unicidad
Supóngase que existen dos funciones, f y fˆ, satisfaciendo las ecuaciones recursivas.
Se deja como ejercicio probar, por inducción en X, la siguiente propiedad:
P (x) ∶= (f (x) = fˆ(x))
4.3.
Ejemplo de aplicación
Al igual que hicimos con el PIP, enunciaremos el ERP para el caso particular en
que X = N con la definición inductiva del ejemplo 2.1.
Corolario 4.1 (Esquema de recursión primitiva para N). Sea B ≠ ∅ un
conjunto arbitrario y
● f0 ∈ B
● fs ∶ N × B → B una función
entonces existe, y es única, una función F ∶ N → B, tal que3
● F (0) = f0
● F (S(n)) = fs (n, F (n))
¿Cuál es el sentido de este teorema? Simplemente nos dice que, para definir una
función en los naturales, es suficiente especificar su comportamiento en 0 y para
n ≥ 1, dar una regla que nos permita deducir el valor de la función en S(n) a
partir de su valor en el antecesor n. El Teorema de Recursión Primitiva para N
asegura que cualesquiera sean el elemento f0 y la función fs , existe una única F
definida por recursión primitiva a partir de ellos.
3
S(n) es la función sucesor que dado n devuelve (n + 1).
20
Ejemplo 4.4. Supongamos que queremos definir una función exp2 ∶ N → N tal que
0
⋰1⋅2
(n−1)⋅2
n⋅2
exp2 (n) = 2
Para fijar ideas, calculemos exp2 (n) para valores bajos de n:
exp2 (0) = 20 = 1
0
exp2 (1) = 21⋅2 = 21⋅1 = 2
1⋅20
exp2 (2) = 22⋅2
1⋅20
3⋅22⋅2
exp2 (3) = 2
= 22⋅2 = 16
= 23⋅16 = 281474976710656
⋮
Si pretendemos ser formales, dar una fórmula para esta función en el lenguaje de la
aritmética con suma, producto y exponenciación, puede ser una tarea compleja.
Ahora bien, si tomamos f0 = 1 y fs ∶ N × N → N dada por fs (n, m) = 2S(n)⋅m
planteando
exp2 (0) = f0
exp2 (S(n)) = fs (n, exp2 (n))
el teorema nos dice que existe una función exp2 definida a partir de estas ecuaciones por recursión primitiva, y es fácil ver que exp2 ≡ exp2 . Así sabemos que exp2
es una función que existe, y tiene sentido definirla.
4.4.
Ejercicio 1 del Examen de Lógica de Julio de 2013
Para cerrar estas notas, veamos un ejercicio que requiera poner en práctica todos
los conocimientos que hemos adquirido.
Ejemplo 4.5. Considere el alfabeto Σ = {0, 1}, el lenguaje Σ∗ , y la función #0 ∶
Σ∗ → N tal que
#0 (ϵ) ∶= 0
#0 (0w) ∶= 1 + #0 (w)
#0 (1w) ∶= #0 (w)
a. Defina la función QUITA1 ∶ Σ∗ → Σ∗ que elimina todos los unos con
los 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) es
la misma.
c. Defina la función COMPACTA ∶ Σ∗ → Σ∗ que sustituye las apariciones de
unos adyacentes por un único uno. Por ejemplo,
COMPACTA(1110111110001) = 1010001
Use la función QUITA1 .
d. Demuestre que la cantidad de ceros que aparecen en w y en COMPACTA(w)
es la misma.
Resolución. Antes de pasar a la resolución de cada uno de los apartados, enunciemos el PIP y el ERP para Σ∗ , el cual implícitamente, aparece definido en el
ejercicio como:
i
ϵ ∈ Σ∗
ii Si w ∈ Σ∗ entonces 0w ∈ Σ∗
iii Si w ∈ Σ∗ entonces 1w ∈ Σ∗
⊕ →Principio de inducción primitiva para Σ∗
Sea P (w) una propiedad referida a una cadena w ∈ Σ∗ . Si
i. P (ϵ) se cumple
ii. Si P (w) se cumple, P (0w) se cumple
iii. Si P (w) se cumple, P (1w) se cumple
entonces se cumple P (w) para todo w ∈ Σ∗ .
⊕ →Esquema de recursión primitiva para Σ∗
Sea B ≠ ∅ un conjunto arbitrario y
● fϵ ∈ B
● f0 ∶ Σ∗ × B → B
● f1 ∶ Σ∗ × B → B
entonces existe, y es única, una función 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 que
f0 (w1 , w2 ) = 0w1 y f1 (w1 , w2 ) = w2 , obtenemos
QU IT A1 (ϵ) ∶= ϵ
QU IT A1 (0w) ∶= 0w
QU IT A1 (1w) ∶= QU IT A1 (w)
b. Consideramos como propiedad
P (w)
∶=
#0 (w) = #0 (QU IT A1 (w))
P (ϵ) es verdadera pues QU IT A1 (ϵ) = ϵ (por definición de QU IT A1 ).
Supongamos P (w) y probemos P (0w). De nuevo, por definición de
QU IT A1 , se tiene que QU IT A1 (0w) = 0w luego aplicando #0 a ambos
miembros,
#0 (QU IT A1 (0w)) = #0 (0w)
Notar que en este paso no fue necesario hacer uso de la hipóteis inductiva.
Supongamos P (w) y probemos P (1w). Se tiene que:
#0 (QU IT A1 (1w)) = #0 (QU IT A1 (w))
definición de QU IT A1
= #0 (w)
hipótesis inductiva
= #0 (1w)
definición de #0
c. Aplicando el ERP para Σ∗ con fϵ = ϵ y f0 , f1 ∶ Σ∗ × Σ∗ → Σ∗ tales que
f0 (w1 , w2 ) = 0w2 y f1 (w1 , w2 ) = 1QU IT A1 (w2 ), resulta
COM P ACT A(ϵ) ∶= ϵ
COM P ACT A(0w) ∶= 0COM P ACT A(w)
COM P ACT A(1w) ∶= 1QU IT A1 (COM P ACT A(w))
d. Elegimos como propiedad
P (w)
∶=
#0 (w) = #0 (COM P ACT A(w))
P (ϵ) es verdadera pues COM P ACT A(ϵ) = ϵ (por definición de COM P ACT A).
Supongamos P (w) y probemos P (0w). Se tiene que:
#0 (COM P ACT A(0w)) = #0 (0COM P ACT A(w))
definición de COM P ACT A
= 1 + #0 (COM P ACT A(w)) definición de #0
= 1 + #0 (w)
hipótesis inductiva
= #0 (0w)
definición de #0
23
Supongamos P (w) y probemos P (1w). Se tiene que:
#0 (COM P ACT A(1w)) = #0 (1QU IT A1 (COM P ACT A(w))) definición de
COM P ACT A
= #0 (QU IT A1 (COM P ACT A(w)))
definición de #0
= #0 (COM P ACT A(w))
apartado b.
= #0 (w)
hipótesis inductiva
= #0 (1w)
definición de #0
Por último, y aunque no lo pida el ejercicio, computemos (sólo para ver cómo
“funciona” la recursión) COM P ACT A(111010), usando la definición recursiva
del apartado c.
COM P ACT A(111010) = 1QU IT A1 (COM P ACT A(11010))
= 1QU IT A1 (1QU IT A1 (COM P ACT A(1010)))
= 1QU IT A1 (1QU IT A1 (1QU IT A1 (COM P ACT A(010))))
= 1QU IT A1 (1QU IT A1 (1QU IT A1 (0COM P ACT A(10))))
= 1QU IT A1 (1QU IT A1 (1QU IT A1 (01QU IT A1 (COM P ACT A(0)))))
= 1QU IT A1 (1QU IT A1 (1QU IT A1 (01QU IT A1 (0COM P ACT A(ϵ)))))
= 1QU IT A1 (1QU IT A1 (1QU IT A1 (01QU IT A1 (0))))
= 1QU IT A1 (1QU IT A1 (1QU IT A1 (010)))
= 1QU IT A1 (1QU IT A1 (1010))
= 1QU IT A1 (1010)
= 1010
24
Descargar