Nivel 1 · El cálculo lambda

Confluencia: Church–Rosser

Un término puede tener múltiples rutas de reducción. Esto sería un problema potencial para cualquier sistema de cálculo: si se toman dos caminos diferentes, ¿podría llegarse a dos resultados finales distintos e incompatibles? Si la respuesta fuera sí, el cálculo lambda sería impredecible y poco confiable como modelo de computación. Afortunadamente, la respuesta es no, debido a la siguiente propiedad.

El teorema

Teorema 7.37 (Church-Rosser o Confluencia)

Si un término MM se β-reduce en cero o más pasos a N1N_1 y también a N2N_2, entonces existe un término común LL al que tanto N1N_1 como N2N_2 pueden reducirse. Formalmente:

si MβN1 y MβN2, entonces existe un L tal que N1βL y N2βL.\text{si } M \twoheadrightarrow_\beta N_1 \text{ y } M \twoheadrightarrow_\beta N_2, \text{ entonces existe un } L \text{ tal que } N_1 \twoheadrightarrow_\beta L \text{ y } N_2 \twoheadrightarrow_\beta L.

Esta propiedad se conoce como la propiedad del diamante, porque el enunciado se dibuja como un rombo. En el vértice superior está MM; los dos lados superiores son las dos reducciones dadas por hipótesis, que divergen hacia N1N_1 y N2N_2; los dos lados inferiores son las reducciones cuya existencia garantiza el teorema, que vuelven a converger en LL:

MN1N2L\begin{array}{ccccc} & & M & & \\ & \swarrow & & \searrow & \\ N_1 & & & & N_2 \\ & \searrow & & \swarrow & \\ & & L & & \end{array}

Las cuatro flechas del diagrama representan reducciones en cero o más pasos, β\twoheadrightarrow_\beta; en la tesis, las dos inferiores se dibujan punteadas para señalar que son las que el teorema construye.

Nota 7.38 (Dónde está la demostración completa)

La demostración de este teorema se puede encontrar en Barendregt (1984) , Teorema 3.2.8; allí la demostración se basa en la Definición 3.2.3 y los Lemas 3.2.4 y 3.2.6.

El esbozo de Tait y Martin-Löf

La demostración directa del Teorema de Church-Rosser es notablemente compleja. La estrategia moderna y más intuitiva, debida a Tait y Martin-Löf, consiste en introducir una relación de reducción auxiliar, más fuerte, llamada reducción paralela, denotada por \Rightarrow. Para un tratamiento exhaustivo del cálculo lambda y sus propiedades, la obra de Barendregt (1984) sigue siendo la referencia más completa. El esbozo consta de tres pasos.

Paso 1: definir la reducción paralela

La relación MNM \Rightarrow N formaliza la idea de reducir simultáneamente cero o más redexes. Se define inductivamente sobre la estructura de los términos.

Definición 7.39 (Reducción paralela, ⇒)

La relación MNM \Rightarrow N se define por las siguientes reglas:

  1. (Variable) xxx \Rightarrow x.
  2. (Abstracción) Si MMM \Rightarrow M', entonces (λx.M)(λx.M)(\lambda x .\, M) \Rightarrow (\lambda x .\, M').
  3. (Aplicación) Si MMM \Rightarrow M' y NNN \Rightarrow N', entonces (MN)(MN)(M N) \Rightarrow (M' N').
  4. (Contracción paralela) Si MMM \Rightarrow M' y NNN \Rightarrow N', el redex principal también puede contraerse: (λx.M)NM[x:=N](\lambda x .\, M)\, N \Rightarrow M'[x := N'].

De las cláusulas 1 a 3 se sigue, por inducción estructural, que MMM \Rightarrow M para todo MM; la cláusula 4 permite además contraer un redex mientras, en paralelo, se reducen su cuerpo y su argumento.

Paso 2: los lemas fundamentales para ⇒

Esta nueva relación tiene propiedades muy convenientes, que se enuncian aquí sin demostración; las pruebas pueden consultarse en Barendregt (1984) .

Lema 7.40 (Lema de sustitución para ⇒)

Si MMM \Rightarrow M' y NNN \Rightarrow N', entonces M[x:=N]M[x:=N]M[x := N] \Rightarrow M'[x := N'].

Lema 7.41 (Lema del diamante para ⇒)

La relación \Rightarrow satisface la propiedad del diamante. Es decir, si MN1M \Rightarrow N_1 y MN2M \Rightarrow N_2, entonces existe un término LL tal que N1LN_1 \Rightarrow L y N2LN_2 \Rightarrow L.

Paso 3: conclusión

La demostración finaliza conectando \Rightarrow con la reducción β estándar, mostrando que sus clausuras transitivas son equivalentes. Un resultado general de la teoría de reescritura afirma que si una relación (\Rightarrow) satisface la propiedad del diamante, su clausura transitiva (β\twoheadrightarrow_\beta) también la satisface, probando así la confluencia.

Ejemplo 7.42 (Ilustración de la confluencia)

Considérese de nuevo el término M(λx.(λy.yx)z)vM \equiv (\lambda x .\, (\lambda y .\, y\, x)\, z)\, v. Este término tiene dos redexes, lo que da lugar a dos rutas de reducción iniciales:

  • Ruta 1 (reduciendo el redex externo (λx.)v(\lambda x .\, \dots)\, v): Mβ(λy.yv)z=:N1.M \rightarrow_\beta (\lambda y .\, y\, v)\, z =: N_1.
  • Ruta 2 (reduciendo el redex interno (λy.)z(\lambda y .\, \dots)\, z): Mβ(λx.zx)v=:N2.M \rightarrow_\beta (\lambda x .\, z\, x)\, v =: N_2.

El Teorema de Church-Rosser asegura que N1N_1 y N2N_2 deben converger. Efectivamente, ambos se reducen a un término común LL:

  • a partir de N1N_1: (λy.yv)zβzv(\lambda y .\, y\, v)\, z \rightarrow_\beta z\, v;
  • a partir de N2N_2: (λx.zx)vβzv(\lambda x .\, z\, x)\, v \rightarrow_\beta z\, v.

De la reducción a la conversión

Una primera consecuencia del Teorema de Church-Rosser extiende la confluencia de la reducción a la conversión =β=_\beta (Definición 7.28). Es este puente el que se necesita para la unicidad de las formas normales, pues «forma normal de MM» se definió mediante M=βNM =_\beta N, no mediante MβNM \twoheadrightarrow_\beta N (Definición 7.33).

Corolario 7.43 (Church–Rosser para la conversión)

Si M=βNM =_\beta N, entonces existe un término LL tal que MβLM \twoheadrightarrow_\beta L y NβLN \twoheadrightarrow_\beta L.

Demostración.

Por inducción sobre la longitud de la cadena de conversión MM0βM1ββMkNM \equiv M_0 \leftrightarrow_\beta M_1 \leftrightarrow_\beta \cdots \leftrightarrow_\beta M_k \equiv N. Si k=0k = 0, basta LML \equiv M. Para el paso inductivo, la hipótesis de inducción da LL' con MβLM \twoheadrightarrow_\beta L' y Mk1βLM_{k-1} \twoheadrightarrow_\beta L'. Si MkβMk1M_k \rightarrow_\beta M_{k-1}, entonces MkβLM_k \twoheadrightarrow_\beta L' y se toma LLL \equiv L'. Si Mk1βMkM_{k-1} \rightarrow_\beta M_k, el Teorema 7.37 aplicado a Mk1M_{k-1} (que se reduce a LL' y a MkM_k) da un LL con LβLL' \twoheadrightarrow_\beta L y MkβLM_k \twoheadrightarrow_\beta L; componiendo, MβLβLM \twoheadrightarrow_\beta L' \twoheadrightarrow_\beta L.

Corolario 7.44 (Unicidad de la forma normal)

Un λ-término tiene como máximo una forma normal β.

Demostración.

Sean N1,N2N_1, N_2 formas normales β de MM, es decir, M=βN1M =_\beta N_1 y M=βN2M =_\beta N_2 con N1,N2β-fnN_1, N_2 \in \beta\text{-fn}. Por simetría y transitividad, N1=βN2N_1 =_\beta N_2, y por el Corolario 7.43 existe un término LL tal que N1βLyN2βL.N_1 \twoheadrightarrow_\beta L \quad\text{y}\quad N_2 \twoheadrightarrow_\beta L. Como una forma normal carece de redexes, solo se reduce (en cero pasos) a sí misma:

N1βL    N1L,N2βL    N2L.N_1 \twoheadrightarrow_\beta L \implies N_1 \equiv L, \qquad N_2 \twoheadrightarrow_\beta L \implies N_2 \equiv L.

De N1LN2N_1 \equiv L \equiv N_2 se concluye N1N2N_1 \equiv N_2. Por lo tanto, un λ-término tiene como máximo una forma normal β.

La unicidad justifica el artículo definido: cuando un término es normalizable puede hablarse de la forma normal, el resultado del cómputo, independiente del orden en que se contraigan los redexes. Con la sintaxis, la sustitución, la reducción y la confluencia en su lugar, el cálculo lambda no tipado está completo como modelo de computación. La última página del módulo examina qué le falta para servir de fundamento a la lógica y a las matemáticas: los tipos.