Documentos de Académico
Documentos de Profesional
Documentos de Cultura
008 - Calculo Lambda PDF
008 - Calculo Lambda PDF
2006
CALCULO LAMBDA
CALCULO LAMBDA
El clculo lambda fue desarrollado por Alonso Church en la
dcada del 30 con el objeto de dar una teora general de las
funciones.
O<variable> . <trmino> |
( <trmino> <trmino> )
En esta sintaxis no existe el concepto de
<nombre> o <constante>
Qu implica esto?
El formalismo no tendr primitivas, no nos permitir emplear
funciones con el concepto de mdulos abstractos.
Lista de
argumentos
La sintaxis propuesta utiliza la representacin de
Funciones con un slo argumento.
REGLAS DEFINIDAS EN EL CL
De acuerdo a la sintaxis propuesta, una aplicacin
funcional tendr el siguiente formato
(M N)
la cual producir un resultado, como consecuencia de la
correspondiente regla del clculo,
R (resultado)
La consistencia del sistema requiere que
la aplicacin funcional y el resultado
puedan ser interpretadas como
expresiones equivalentes
(M N) | R
es decir, que representan el mismo valor.
El clculo del resultado de una aplicacin funcional ser
obtenido mediante la generacin de expresiones equivalentes
por aplicacin de las reglas del clculo O que definiremos a
continuacin.
1 La regla Beta
especifica los
( (x) exp(2 * x + y) (4) ) pasos 1 y 2
2
argumento nominal argumento efectivo
Esta idea es recogida por la Regla Beta expresada de la
siguiente forma
(Ox .M N) = [N/x] M
OCURRENCIA DE UN TERMINO
Definicin. Ocurrencia de P en Q
Clausura
P ocurre en P
Induccin
Si P ocurre en M o N P ocurre en (M N)
Si P ocurre en M o P es igual a x P ocurre en Ox.M
Por ejemplo, dado en el siguiente trmino:
( (x y) Ox.(x y) )
(x y) ocurre dos veces
x ocurre tres veces
y ocurre dos veces
Los conceptos que necesitamos a continuacin son los de
ocurrencia libre y ligada de un variable.
n ocurre libre
m ocurre libre
[N/x] M
En el caso en que M sea la variable a sustituir, la
misma se realiza de la siguiente forma:
1- [N/x] x :=: N
Ejemplos:
[Oy.(m n) / y] y :=: Oy.(m n)
[(m n) / t] t :=: (m n)
DEFINICIN DE SUSTITUCIN
[N/x] M
En el caso en que M sea una variable, pero diferente
de la sustituida, la misma se realiza de la siguiente
forma:
2- [N/x] y :=: y ; yzx
Ejemplos:
[Oy.(m n) / y] l :=: l
[(m n) / t] r :=: r
DEFINICIN DE SUSTITUCIN
[N/x] M
En el caso en que M sea una aplicacin funcional, la
misma se realiza de la siguiente forma:
Ejemplos:
[N/x] M
En el caso en que M sea una abstraccin funcional, la
misma se realiza de la siguiente forma:
Ejemplos:
DEFINICIN DE SUSTITUCIN
En el caso en que M sea una abstraccin funcional, la
misma se realiza de la siguiente forma:
( (Ox. Oy. (y x) y) x)
Por regla Beta
( [y / x] Oy. (y x) x)
Por defs.
5, 3, 2 y 1
( Oy. (y y) x)
ocurrencia ligada de y
DEFINICIN DE SUSTITUCIN
En el caso en que M sea una abstraccin funcional, la
misma se realiza de la siguiente forma:
5 - [N/x] Oy.M :=: Oy. [N/x]M
si y "no ocurre libre" en N
o
si x "no ocurre libre" en M
Ejemplos:
No ocurre libre
(Ox . M N)
Redex 1 Redex 1
M = (Oy.( y x) z)
(Ox. (Oy.( y x) z) v) N=v
Redex 2
Redex 2 M =( y x)
N=z
Definicin:
Una FORMA NORMAL es un trmino que no contiene
ningn REDEX
ESTRATEGIAS DE REDUCCIN
Redex 2
1. Reduzco Redex 1 1. Reduzco Redex 2
Redex 1
1. Reduzco Redex 1
Orden Aplicativo
M N
Redex 3
Reeemplazo II en la aplicacin original
(Ou.v ((Ox.((x x) y) Ox.((x x) y)) y)) III
Redex 3
reduzco