Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Que ningún término de lambda-valor se quede atrás - Dr. Pablo Nogueira Iglesias

119 views

Published on

El cálculo lambda es bien conocido por su importancia en la teoría de la computabilidad así como en el estudio de los lenguajes de programación y sistemas de demostración asistida. Un concepto fundamental del cálculo lambda puro es la de término resoluble. Un término resoluble es aquel cuya reducción o bien termina (tiene forma normal) o bien aunque la reducción del mismo no termina, su aplicación a argumentos termina (es decir, el término es operacionalmente relevante al usarse como función). Los términos irresolubles son operacionalmente irrelevantes y pueden igualarse manteniendo la consistencia de la teorías lógicas de reducción y conversión del cálculo (lo que no ocurre con los términos sin forma normal). El cálculo lambda-valor fue introducido para dar fundamento teórico a los lenguajes funcionales con paso de parámetro por valor. Existe una definición de resolubilidad para dicho cálculo que es problemática entre otras cosas porque hay términos en forma normal que son irresolubles, y las teorías lógicas resultantes no son "del todo" consistentes. En esta charla dirigida a no expertos introduciré el cálculo lambda, la resolubilidad, el cálculo lambda-valor, y la definición de resolubilidad existente para este último. Después mostraré una definición alternativa de resolubilidad para lambda-valor que, entre otros resultados, permite dar una teoría lógica consistente igualando los irresolubles según un orden. El trabajo aparecerá publicado en la revista Logical Methods in Computer Science.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Que ningún término de lambda-valor se quede atrás - Dr. Pablo Nogueira Iglesias

  1. 1. Que ning´un t´ermino resoluble de λV se quede atr´as ((No solvable lambda-value term left behind)) Logical Methods in Computer Science 12(2:12) 2016 Alvaro Garc´ıa P´erez and Pablo Nogueira Facultad de Inform´atica UCM, 5 de julio de 2016 1 / 20
  2. 2. Computar funciones sobre n´umeros naturales f ∈ N → N f = { (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), . . . } 2 / 20
  3. 3. Computar funciones sobre n´umeros naturales f ∈ N → N f = { (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), . . . } f (x) = 2 ∗ x 2 / 20
  4. 4. Computar funciones sobre n´umeros naturales f ∈ N → N f = { (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), . . . } f (x) = 2 ∗ x λx. mult (2, x) λy. mult (2, y) λx. add (x, x) λx. sub (mult (3, x), x) 2 / 20
  5. 5. Computar funciones sobre n´umeros naturales f ∈ N → N f = { (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), . . . } f (x) = 2 ∗ x λx. mult (2, x) λy. mult (2, y) λx. add (x, x) λx. sub (mult (3, x), x) λx. sub (mult3x) x 2 / 20
  6. 6. Computar funciones sobre n´umeros naturales f ∈ N → N f = { (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), . . . } f (x) = 2 ∗ x λx. mult (2, x) λy. mult (2, y) λx. add (x, x) λx. sub (mult (3, x), x) λx. s ( m t x) x 2 / 20
  7. 7. Computar funciones sobre n´umeros naturales f ∈ N → N f = { (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), . . . } f (x) = 2 ∗ x λx. mult (2, x) λy. mult (2, y) λx. add (x, x) λx. sub (mult (3, x), x) λx. s ( m t x) x λx. (s ((m t) x)) x 2 / 20
  8. 8. Las funciones son valores, todo es una funci´on (λx.λy. a x y) M λy. a M y λy. a M y (λy.λx. a x y) M λx. a x M λx. a x M 3 / 20
  9. 9. T´erminos x ∈ V x ∈ Λ M ∈ Λ N ∈ Λ M N ∈ Λ x ∈ V B ∈ Λ λx.B ∈ Λ x y . . . x x x y y y . . . λx.x λy.x λx.y λy.y λx.λx.x . . . x(λx.x) y(λx.x) (x x)(λy.y) (λy.y)(x x) . . . (λx.x)(λx.λy.y) ((λx.y)(x y))(λx.x) . . . 4 / 20
  10. 10. α-equivalencia de t´erminos λx.x ≡ λy.y λx.y ≡ λx.x λx.y ≡ λy.x λx.λy.x y ≡ λy.λx.y x 5 / 20
  11. 11. Combinadores y auto-aplicaci´on I es λx. x K es λx. λy. x ∆ es λx. x x Ω es ∆ ∆ es (λx. x x)(λx. x x) Y es λf .(λx.f (x x))(λx.f (x x)) 6 / 20
  12. 12. Combinadores y auto-aplicaci´on I es λx. x K es λx. λy. x ∆ es λx. x x Ω es ∆ ∆ es (λx. x x)(λx. x x) Y es λf .(λx.f (x x))(λx.f (x x)) K M N −→ (λy.M) N −→ M 6 / 20
  13. 13. Combinadores y auto-aplicaci´on I es λx. x K es λx. λy. x ∆ es λx. x x Ω es ∆ ∆ es (λx. x x)(λx. x x) Y es λf .(λx.f (x x))(λx.f (x x)) K M N −→ (λy.M) N −→ M Ω −→ Ω −→ Ω −→ . . . 6 / 20
  14. 14. Combinadores y auto-aplicaci´on I es λx. x K es λx. λy. x ∆ es λx. x x Ω es ∆ ∆ es (λx. x x)(λx. x x) Y es λf .(λx.f (x x))(λx.f (x x)) K M N −→ (λy.M) N −→ M Ω −→ Ω −→ Ω −→ . . . Y n −→ (λx.n (x x))(λx.n (x x)) −→ n ((λx.n (x x))(λx.n (x x))) −→ n (n (λx.n (x x))(λx.n (x x))) −→ n (n (n (. . . 6 / 20
  15. 15. Reducci´on en λK (λx.B) N −→ [N/x](B) (β) M −→ M M N −→ M N N −→ N M N −→ M N B −→ B λx.B −→ λx.B M −→ M M −→ N N −→ P M −→ P 7 / 20
  16. 16. Reducci´on en λK (λx. . . . x . . . (λx.x) . . . x . . .)N −→ . . . N . . . (λx.x) . . . N . . . (β) M −→ M M N −→ M N N −→ N M N −→ M N B −→ B λx.B −→ λx.B M −→ M M −→ N N −→ P M −→ P 7 / 20
  17. 17. Reducci´on en λK (λx.B) N −→ [N/x](B) (β) M −→ M M N −→ M N N −→ N M N −→ M N B −→ B λx.B −→ λx.B M −→ M M −→ N N −→ P M −→ P M es forma normal : no tiene subt´ermino (λx.B)N M tiene forma normal : M −→ Z y Z es forma normal Z es ´unico : teor´ıa l´ogica consistente 7 / 20
  18. 18. Conversi´on en λK (λx.B) N = [N/x](B) (β) M = M M N = M N N = N M N = M N B = B λx.B = λx.B M = M M = N N = P M = P M = N N = M M es forma normal : no tiene subt´ermino (λx.B)N M tiene forma normal : M = Z y Z es forma normal Z es ´unico : teor´ıa l´ogica consistente 7 / 20
  19. 19. ¿Son todos los t´erminos sin forma normal iguales? Ω = λx.x Ω sii Ω (K I) = (λx.x Ω)(K I) sii Ω (λy.I) = K I Ω sii Ω (λy.I) = I 8 / 20
  20. 20. ¿Son todos los t´erminos sin forma normal iguales? Ω = λx.x Ω sii Ω (K I) = (λx.x Ω)(K I) sii Ω (λy.I) = K I Ω sii Ω (λy.I) = I A˜nadimos axiomas M = N donde M y N no tienen forma normal: ¡inconsistencia! 8 / 20
  21. 21. Resolubilidad (((solvability))) Definici´on (Barendregt ’71, Wadsworth ’78) Un t´ermino cerrado M es resoluble sii existen operandos N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn tiene forma normal. Ecuacionalmente M N1 · · · Nn = Z (usar´e Z para forma normal) 9 / 20
  22. 22. Resolubilidad (((solvability))) Definici´on (Barendregt ’71, Wadsworth ’78) Un t´ermino cerrado M es resoluble sii existen operandos N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn tiene forma normal. Ecuacionalmente M N1 · · · Nn = Z (usar´e Z para forma normal) formal normales ⊂ resolubles Ω es irresoluble λx.x Ω es resoluble A˜nadimos M = N donde M y N irresolubles: ¡consistencia! 9 / 20
  23. 23. Ex´egesis sobre resolubilidad Definiciones equivalentes Definici´on (Barendregt ’71, Wadsworth ’78) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. 10 / 20
  24. 24. Ex´egesis sobre resolubilidad Definiciones equivalentes Definici´on (Barendregt ’72 & ’84) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = I. 10 / 20
  25. 25. Ex´egesis sobre resolubilidad Definiciones equivalentes Definici´on (Barendregt ’72 & ’84) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = I. Definici´on (Barendregt ’84) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = X para cualquier t´ermino X. 10 / 20
  26. 26. Ex´egesis sobre resolubilidad Definiciones equivalentes Definici´on (Barendregt ’72 & ’84) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = I. Definici´on (Barendregt ’84) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = X para cualquier t´ermino X. Lema (Wadsworth ’78, Barendregt ’84) Si T tiene forma normal entonces existen X1, . . . , Xk t.q. T X1 · · · Xk = X para cualquier t´ermino X. (Pieza adicional: I X = X para todo X.) (((Forma)) de forma normal: λx1 . . . λxn. x Z1 · · · Zn.) 10 / 20
  27. 27. Ex´egesis sobre resolubilidad T´erminos abiertos y cerrados Definici´on (Barendregt ’71, Wadsworth ’78) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. 11 / 20
  28. 28. Ex´egesis sobre resolubilidad T´erminos abiertos y cerrados Definici´on (Barendregt ’71, Wadsworth ’78) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. x Ω 11 / 20
  29. 29. Ex´egesis sobre resolubilidad T´erminos abiertos y cerrados Definici´on (Barendregt ’71, Wadsworth ’78) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. KI Ω 11 / 20
  30. 30. Ex´egesis sobre resolubilidad T´erminos abiertos y cerrados Definici´on (Barendregt ’71, Wadsworth ’78) M cerrado resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. x Ω Definici´on (Wadsworth ’78) M arbitrario resoluble sii existe contexto H[ ] que cierra M y lo pone en posici´on de funci´on aplicado a n ≥ 0 operandos cerrados t.q. H[M] = Z. H[ ] ≡ (λx.[ ])(KI) 11 / 20
  31. 31. Ex´egesis sobre resolubilidad T´erminos abiertos y uso efectivo Lema de Genericidad (Barendregt ’71, ’72, ’84) M irresoluble sii ∀C[ ]. C[M] = Z ⇒ ∀X. C[X] = Z 12 / 20
  32. 32. Ex´egesis sobre resolubilidad T´erminos abiertos y uso efectivo Lema de Genericidad (Barendregt ’71, ’72, ’84) M irresoluble sii ∀C[ ]. C[M] = Z ⇒ ∀X. C[X] = Z Definici´on (Garc´ıa-P´erez & Nogueira) M resoluble sii ∃C[ ]. C[M] = Z ∧ ¬(∀X. C[X] = Z) C arbitrario eventualmente usa M como funci´on. S´olo es necesario cerrar variables libres que impiden convertir a forma normal. 12 / 20
  33. 33. Conversi´on en λV Plotkin ’75 N ≡ (M N ) (λx.B) N = [N/x](B) (βV ) M = M M N = M N N = N M N = M N B = B λx.B = λx.B M = M M = N N = P M = P M = N N = M 13 / 20
  34. 34. Conversi´on en λV Plotkin ’75 N ∈ Val ::= V | λV.B (λx.B) N = [N/x](B) (βV ) M = M M N = M N N = N M N = M N B = B λx.B = λx.B M = M M = N N = P M = P M = N N = M Forma normal no tiene (λx.B)N con N ∈ Val 13 / 20
  35. 35. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ 14 / 20
  36. 36. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ 14 / 20
  37. 37. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ 14 / 20
  38. 38. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ 14 / 20
  39. 39. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I 14 / 20
  40. 40. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ 14 / 20
  41. 41. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ −→ (λy.I)(∆ ∆) 14 / 20
  42. 42. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ −→ (λy.I)Ω 14 / 20
  43. 43. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ −→ (λy.I)Ω −→ . . . 14 / 20
  44. 44. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ −→ (λy.I)Ω −→ . . . 14 / 20
  45. 45. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ −→ (λy.I)Ω −→ . . . (λy.I)(x ∆) es una forma normal 14 / 20
  46. 46. ¿Por qu´e valores? Para mantener la consistencia manteniendo la divergencia potencial (λx.(λy.I)(x ∆))∆ −→ (λx.I)∆ −→ I (λx.(λy.I)(x ∆))∆ −→ (λy.I)Ω −→ . . . (λy.I)(x ∆) es una forma normal (x M) (y N) (λz.z (y N)) (x M) (λz.(x M) z) (y N) 14 / 20
  47. 47. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. 15 / 20
  48. 48. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! 15 / 20
  49. 49. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! Ejemplo: λy.(λx.∆)(y I)∆ 15 / 20
  50. 50. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! Ejemplo: (λy.(λx.∆)(y I)∆)V1 15 / 20
  51. 51. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! Ejemplo: (λy.(λx.∆)(y I)∆)V1 −→ (λx.∆)(V1 I)∆ 15 / 20
  52. 52. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! Ejemplo: (λy.(λx.∆)(y I)∆)V1 −→ (λx.∆)(V1 I)∆ −→ ∆∆ 15 / 20
  53. 53. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! Ejemplo: (λy.(λx.∆)(y I)∆)V1 −→ (λx.∆)(V1 I)∆ −→ Ω 15 / 20
  54. 54. v-resolubilidad Definici´on (Paolini & Ronchi della Rocca ’99) M cerrado resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. ¡Algunas formal normales son irresolubles! ¡Inconsistencia al igualar todos los irresolubles! Ejemplo: (λy.(λx.∆)(y I)∆)V1 −→ (λx.∆)(V1 I)∆ −→ Ω Misma def. hasta 2016 y por otros autores. (Paso-por-valor como en la m´aquina SECD.) 15 / 20
  55. 55. ¿Por qu´e? Definici´on M cerrado resoluble sii existen V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = X para cualquier t´ermino X. Lema Si T tiene forma normal entonces existen X1, . . . , Xk t.q. T X1 · · · Xk = X para cualquier t´ermino X. I X = X sii X ∈ Val. 16 / 20
  56. 56. Volver al empezar Definici´on (Garc´ıa-P´erez & Nogueira 2016) M resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. 17 / 20
  57. 57. Volver al empezar Definici´on (Garc´ıa-P´erez & Nogueira 2016) M resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. Definici´on (Paolini & Ronchi della Rocca ’99) M resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. 17 / 20
  58. 58. Volver al empezar Definici´on (Garc´ıa-P´erez & Nogueira 2016) M resoluble sii existen N1, . . . , Nn con n ≥ 0 t.q. M N1 · · · Nn = Z. Definici´on (Paolini & Ronchi della Rocca ’99) M resoluble sii existen valores V1, . . . , Vn con n ≥ 0 t.q. M V1 · · · Vn = I. Intuiciones fundamentales Transformable: convertible a un valor cualquiera. Congelable: convertible a forma normal, pero no cualquiera. Resoluble = transformable + congelable 17 / 20
  59. 59. Transformable vs congelable λy.(λx.∆)(y I)∆ 18 / 20
  60. 60. Transformable vs congelable (λy.(λx.∆)(y I)∆)I 18 / 20
  61. 61. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ 18 / 20
  62. 62. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ −→ (λx.∆) I ∆ 18 / 20
  63. 63. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ −→ (λx.∆) I ∆ −→ ∆ ∆ −→ Ω 18 / 20
  64. 64. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ −→ (λx.∆) I ∆ −→ ∆ ∆ −→ Ω λy.(λx.∆)(y I)∆ 18 / 20
  65. 65. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ −→ (λx.∆) I ∆ −→ ∆ ∆ −→ Ω (λy.(λx.∆)(y I)∆)(λx.z I) 18 / 20
  66. 66. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ −→ (λx.∆) I ∆ −→ ∆ ∆ −→ Ω (λy.(λx.∆)(y I)∆)(λx.z I) −→ (λx.∆)((λx.z I) I)∆ 18 / 20
  67. 67. Transformable vs congelable (λy.(λx.∆)(y I)∆)I −→ (λx.∆)(I I)∆ −→ (λx.∆) I ∆ −→ ∆ ∆ −→ Ω (λy.(λx.∆)(y I)∆)(λx.z I) −→ (λx.∆)((λx.z I) I)∆ −→ (λx.∆)(z I)∆ 18 / 20
  68. 68. Resumen contribuciones Todas las formas normales son resolubles. Noci´on de orden apropiada. ¡Consistencia! Contextos abiertos que no cierran todo. Resolubilidad y uso efectivo. Lema de Genericidad Parcial. Value-normal-order, chest-reduction, ribcage-reduction. ¡Hay estrategias completas que no son ((est´andar))! Caracterizaci´on operacional de la resolubilidad (?) Modelos secuenciales (?) 19 / 20
  69. 69. FIN (No contestar´e preguntas, gracias) 20 / 20

×