λ learn

Aplicación

M:=xMMλx.M\begin{aligned} M &:= x\\ &\mid \highlight{\app{M}{M}}\\ &\mid \lam{x}{M} \end{aligned}

De la segunda parte de la gramática sabemos que, dado dos términos MM y NN, la expresión MN\app{M}{N} es un término válido. Por ejemplo, fx\app{f}{x} es un término válido.

La notación M MM\ M no indica que ambos términos deben ser iguales, sino que hay dos términos cualesquiera que se pueden combinar.

Otra forma de escribir la gramática es indicando que MM y NN son términos. Esto se puede escribir de la siguiente manera:

M,N:=xMNλx.M\begin{aligned} M, N &:= x\\ &\mid \app{M}{N}\\ &\mid \lam{x}{M} \end{aligned}

Para representar la aplicación MN\app{M}{N} en un árbol sintáctico, necesitamos un nodo que tenga dos hijos, uno para el término MM y otro para el término NN.

Por ejemplo, la expresión fx\app{f}{x} se puede representar como un nodo de aplicación con dos hijos, uno para ff y otro para xx.

f x

Creemos un árbol sintáctico para la expresión gy\app{g}{y}.