Processing math: 100%

4 votos

Ayudar a entender la beta de reducción de ejemplo

Actualmente estoy leyendo un libro de texto en sistemas de computación distribuida que incluye una breve introducción a λ-cálculo. Hay un ejemplo de la evaluación de la secuencia de (((if  true)  4)  5) que está escrito a continuación.

  1.   (((λb.λt.λe.((b t) e) λx.λy.x) 4) 5)

  2.   ((λt.λe((λx.λy.x  t) e) 4) 5)

  3.   (λe((λx.λy.x  4)  e)  5)

  4.   ((λx.λy.x  4)  5)

  5.   (λy.4  5)

  6.   4

El autor ha utilizado βde reducción en cada línea y puedo seguir hasta la segunda a la última reducción. Podría alguien explicar cómo los obtenemos a partir de la línea 4 a la línea 6?

2voto

Kevin Puntos 385

Cuando se va de la línea 4 a la línea 5, se sustituye x=4 a λy.x, debido a que el interior argumento está vinculado a la λx. El 5 se pasa a continuación el resultado y vinculadas a la λy, por lo que sustituimos y=5 a λy.4. Desde y no aparece libre en 4, esto no altera la expresión, así que terminamos con 4.

2voto

Taroccoesbrocco Puntos 427

En la línea 4. hay un β-redex (λxλy.x 4), donde λxλy.x se aplica a 4. Esto significa que (λxλy.x 4) reescribea través de una βpasoa (λy.x){4/x} (que es (λy.x) donde la libre aparición de x es reemplazado por 4), es decir, λy.4.

Desde la β-redex (λxλy.x 4) está dentro de un contexto (es decir, es un sub-término de un mayor plazo), a continuación de la línea 4., si ponemos el sub-plazo (λxλy.x 4) en su contexto, tenemos: ((λxλy.x 4) 5)β(λy.x 5){4/x}=(λy.4 5)β4 {5/y}=5 donde, de nuevo, (λy.4 5) es β-redex y, a continuación, vuelve a escribira través de una βpasoa 4 {5/y} (que es 4 donde las apariciones libres de y son reemplazados por 5), es decir, 4 porque no hay apariciones libres de y en 4.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X