Escolar Documentos
Profissional Documentos
Cultura Documentos
Definiciones Recursivas
Instituto de Computacin
Lgica
Recursin
Dado un conjunto inductivo, sabemos exactamente cmo se construyen sus elementos. Esta informacin sirve para:
Probar propiedades de sus elementos (induccin) Definir funciones sobre sus elementos (recursin)
Instituto de Computacin
Lgica
Qu es una funcin?
Una funcin es una relacin que:
Asocia efectivamente un nico elemento del codominio a cada elemento del dominio.
Efectivamente significa:
Para cualquier elemento del dominio hay una imagen.
El cmputo termina para cualquier elemento del dominio.
Recursin
Ejemplo: definir una funcin f que calcula la cantidad de smbolos de una palabra de {a,b}* Para asegurarse de cubrir todo el dominio se puede explotar conocimiento de cmo se generan los objetos de {a,b}*:
i. f()=0 ii. f(aw)= 1+ f(w) iii.f(bw) = 1+ f(w)
Instituto de Computacin
Lgica
f: Z N
Aplicaciones:
Instituto de Computacin
Instituto de Computacin
Instituto de Computacin
Lgica
Instituto de Computacin
Lgica
Esquema de Recursin Primitiva -FormalizacinEjemplo: fact(0) = 1 fact(S(n)) = S(n) x fact(n) f0 = 1 ( B) fs(n,r) = S(n) x r (N x BB)
Instituto de Computacin
Lgica
Esquema de Recursin Primitiva -FormalizacinEsquema de Recursin Primitiva para * Sea B un conjunto y sean f B f1: x * x BB
Entonces existe una nica funcin F: * B tal que: i. F() = f ii. F(xw) = f1(x,w,F(w)) Ejemplo: espejo() = f = 1 ( *) espejo(xw) = x espejo(w) x f1(x,w,r) = xrx ( x *x * *)
Instituto de Computacin
Lgica
Instituto de Computacin
Lgica
Para que estas ecuaciones definan una funcin hay que probar que:
son exahustivas no hay superposicin de casos la definicin termina
Instituto de Computacin Lgica
Exhaustividad: ver que todo natural es 0, 1 o de la forma n+2 Superposicin: ver que 0 1 n+2 Terminacin: 1) ver que para todo nN: n < n+2 y
n + 1 < n+2
2) en N toda cadena decreciente segn la relacin < tiene mnimo (el orden < de N es bien fundado).
Instituto de Computacin Lgica
si n < m si m n
m se cumple
Superposicin: ver que para todos n, m no puede pasar que n < m y m n. Terminacin: ver que para todos n, m , si 0 < m n entonces n-m < n y ver que < es bien fundado en N
Instituto de Computacin Lgica
Definicin inductiva de NxN i. (0,0) NxN ii. Si (n,0) NxN entonces (n+1,0) NxN iii. Si (n, m) NxN entonces (n,m+1) NxN Principio de induccin primitiva para NxN Sea P una propiedad que cumple:
P(0,0) Si P(n,0) entonces P(n+1,0) Si P(n, m) entonces P(n,m+1)
10
11
f (0) = 1
f (n+1) = 2 + f (n) f (n -1) = 3 + f (n)
No hay problemas con el principio de induccin (salvo que probamos ms de una vez la misma cosa)
Instituto de Computacin Lgica
12
13