normalization by evaluation for
play

Normalization by evaluation for Thorsten Altenkirch Tarmo Uustalu - PowerPoint PPT Presentation

Normalization by evaluation for Thorsten Altenkirch Tarmo Uustalu University of Nottingham Tallinn Technical University Normalization by evaluationfor p.1/21 Motivation Normalization by evaluationfor


  1. ✁ � ✂ ✄ Normalization by evaluation for Thorsten Altenkirch Tarmo Uustalu University of Nottingham Tallinn Technical University Normalization by evaluationfor – p.1/21

  2. ✁ ✂ ✄ Motivation Normalization by evaluationfor – p.2/21

  3. � ✁ ✂ ✄ Motivation Implementations of typed -calculi to support type-directed construction of certified, correct programs . Normalization by evaluationfor – p.2/21

  4. ✁ � ✂ ✄ Motivation Implementations of typed -calculi to support type-directed construction of certified, correct programs . Normalisation of evaluation (NbE) used in the actual implementation of recent tools such as Epigram . Normalization by evaluationfor – p.2/21

  5. ✁ � ✂ ✄ Motivation Implementations of typed -calculi to support type-directed construction of certified, correct programs . Normalisation of evaluation (NbE) used in the actual implementation of recent tools such as Epigram . Offers efficent implementations and straightforward correctness arguments. Normalization by evaluationfor – p.2/21

  6. � ✁ � ✁ ✂ ✁ ✂ ✄ More motivation Goal: make equality more extensional . From to . Normalization by evaluationfor – p.3/21

  7. � � ✄ � ✁ ✂ � ✁ ✂ ✁ � � � ✁ More motivation Goal: make equality more extensional . From to . Study simple calculi first - here = simple types ( ) + booleans ( ). Normalization by evaluationfor – p.3/21

  8. ✁ � ✄ � ✁ ✂ � ✁ ✂ ✁ � � � � More motivation Goal: make equality more extensional . From to . Study simple calculi first - here = simple types ( ) + booleans ( ). Discuss extensions to more interesting systems. Normalization by evaluationfor – p.3/21

  9. ✂ � � � ✁ ✄ � ✁ ✂ � ✁ � � ✁ More motivation Goal: make equality more extensional . From to . Study simple calculi first - here = simple types ( ) + booleans ( ). Discuss extensions to more interesting systems. Use type-theoretic methodology (on paper). Normalization by evaluationfor – p.3/21

  10. ✂ � � � ✁ ✄ � ✁ ✂ � ✁ � � ✁ More motivation Goal: make equality more extensional . From to . Study simple calculi first - here = simple types ( ) + booleans ( ). Discuss extensions to more interesting systems. Use type-theoretic methodology (on paper). Here: Haskell as a poor man’s type theory. Normalization by evaluationfor – p.3/21

  11. � � ✄ � ✁ ✂ � ✁ ✂ ✁ � � � ✁ More motivation Goal: make equality more extensional . From to . Study simple calculi first - here = simple types ( ) + booleans ( ). Discuss extensions to more interesting systems. Use type-theoretic methodology (on paper). Here: Haskell as a poor man’s type theory. In future: implementation within epigram. Normalization by evaluationfor – p.3/21

  12. ✁ ✂ ✄ The simplest typed -calculus? Normalization by evaluationfor – p.4/21

  13. � � ✁ ✂ ✄ The simplest typed -calculus? needs type-variables Normalization by evaluationfor – p.4/21

  14. � � ✁ ✂ ✄ The simplest typed -calculus? needs type-variables not as simple as it looks! Normalization by evaluationfor – p.4/21

  15. ✁ � � � � � � � ✁ ✄ ✂ The simplest typed -calculus? needs type-variables not as simple as it looks! , without type-variables Normalization by evaluationfor – p.4/21

  16. � � � � ✄ ✂ � � � ✁ ✁ The simplest typed -calculus? needs type-variables not as simple as it looks! , without type-variables are equationally inconsistent. Normalization by evaluationfor – p.4/21

  17. ✁ � � � ✄ ✂ � � � ✁ � � ✁ � The simplest typed -calculus? needs type-variables not as simple as it looks! , without type-variables are equationally inconsistent. without type-variables Normalization by evaluationfor – p.4/21

  18. ✁ � ✂ ✁ � � ✄ ✁ � � � � � � � The simplest typed -calculus? needs type-variables not as simple as it looks! , without type-variables are equationally inconsistent. without type-variables the simplest (interesting) typed -calculus! Normalization by evaluationfor – p.4/21

  19. � ✁ ✂ ✄ in a nutshell Normalization by evaluationfor – p.5/21

  20. � ✏ ✁ ☞ ✑ ✒ ✓ ✎ � ✆ ✏ ✁ ☞ ✑ ✁ ✂ ✄ ✏ � ✄ ✡ ✍ ✍ ✌ ☞ ✎ ✡ ✍ ✏ ☞ ☎ in a nutshell �✂✁ ✞✠✟ ✡✠☛ ✌✠✍ ☎✝✆ Normalization by evaluationfor – p.5/21

  21. – p.5/21 ✞ ✁ ✂ � ✎ ✂ ✁ � ☎ ☛ ✡ ✟ ☎ ✒ ✄ ✎ ✓ ✒ ✁ � ✁ ✏ ✂ ✁ � � ✓ � � ✄ ✂ ✁ ✁ ✄ � ✁ ✁ ✏ � ✁ ✏ ✎ � ✎ ✓ ✒ ✂ ✁ � ✁ ✁ ✏ � ✏ ✁ � ✏ ✏ ✏ ✎ ✓ ✒ ✑ ☞ ✁ ✏ ✆ � ✡ ✁ ✍ ✍ ✌ ☞ ✎ ✡ ✍ ☞ ☎ ✄ ✏ � ☞ ✁ ☎ ☛ ✡ ✓ ✒ ✁ � � ✑ ✂ ✏ � ☎ ✒ ✓ ✄ ✏ ✏ � ✏ ✁ Normalization by evaluationfor in a nutshell ✌✠✍ ✡✠☛ ✞✠✟ ☎✝✆ �✂✁ �✂✁ ✞✠✟ �✂✁

  22. – p.5/21 ✏ ✏ � ✁ � ✏ � ✎ ✓ ✒ ✂ ✁ � ✁ ✁ � ✁ ✎ ✡ ☛ ☎ � ✁ ✂ � ✏ ✂ ✁ � ✒ ✓ ✎ ✁ � ✞ � ✆ ✑ ✁ ✄ � ✁ ✂ � ✆ ✑ ✁ ✁ ✂ ✄ ✂ ✁ ✄ ☎ ✁ � ✁ � ✂ ✄ � � � ✆ ✆ ✑ ✁ ✝ ✟ � ✄ ✁ ✄ ✒ ✑ ☞ ✁ ✏ � ✏ ✎ ✓ ✒ ✑ ☞ ✏ ✏ ✆ � ✏ ✡ ✍ ✍ ✌ ☞ ✎ ✡ ✍ ☞ ☎ ✄ ☎ ✓ � ☎ ✎ ✓ ✒ ✁ � ✁ ✏ ✂ ✁ � ✁ ✏ ✏ ✏ � ☛ ✏ ✁ ✡ ✁ ✂ � � ✓ � ☎ ✒ ✁ Normalization by evaluationfor in a nutshell ✌✠✍ ✡✠☛ Categorically: ✞✠✟ ☎✝✆ �✂✁ �✂✁ ✞✠✟ �✂✁

  23. – p.6/21 ✒ ✂ ✁ � ✓ ✓ ☞ ✝ ✒ ✝ ✝ � ✡ ✟ ✡ ✟ � ☛ ✡ ✟ ✓ ✜ ✑ ✆ ✜ � � ✢ ✓ ✜ � � ✚ ✢ � ✂✄ � ✚ ✙ ✄ ✂ ✑ � ✍ ✗ ✢ ✝ ☎ ✡ ☎ ✂✄ ✑ ✂ ☞ ✝ ✡ ✟ ✟ ✝ ☛ ✡ ✟ ✄ ✝ ✆ ☎ ✂✄ ✁ ✄ ✆ ✁ ✟ ✂ ✑ ✍ ✓ ☞ ✝ ✒ ✝ ✡ ✡ ✡ ☛ ✟ ✜ ✟ Normalization by evaluationfor ✒✛✚ ✞✠✟ ✞✠✟ ✞✠✟ ✆✌☞ ✆✌☞ ✆✌☞ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✒✛✚ ✔✖✕ Example ✔✖✕ ✍✏✎ ✍✏✎ ✄✘✗

  24. – p.6/21 ✂✄ ✚ ✢ ✜ � � ✙ ✄ ✂ ✑ ✍ ✗ ✑ � ✂ ✁ � ✓ ✓ ☞ ✝ ✒ ✝ ✒ ✝ � ✜ ✟ ✂ ✄ ✂ ✁ ✄ ✂ ✑ ✂ ✁ ☎ � ✄ ✁ ✓ � ✓ ✜ � � ✚ ✢ ✜ � � ✢ � ✡ ✡ ✝ ✡ ✟ ✡ ✟ ☛ ✡ ✟ ✡ ✆ ✒ ☎ ✂✄ ✑ ☛ ☞ ✝ ✡ ✟ ✡ ✝ ✟ ✝ ✂ ✟ ✁ ☛ ✡ ✟ ✂✄ ✝ ✆ ☎ ✝ ✄ ✑ ☎ ✆ ✍ ✓ ☞ ✟ Normalization by evaluationfor ✒✛✚ ✞✠✟ ✞✠✟ ✞✠✟ ✆✌☞ ✆✌☞ ✆✌☞ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✒✛✚ ✔✖✕ Example ✔✖✕ ✍✏✎ ✍✏✎ ✍✏✎ ✄✘✗

  25. – p.6/21 ✙ � � ✢ ✓ ✜ � � ✚ ✢ ✜ � � ✄ ✢ ✂ ✑ ✍ ✗ ✂✄ ✑ ✂ ✁ � ✓ ✓ � ✝ ✜ ✚ ✝ � ✄ ✂ ✁ ✂✄ ✑ ✍ ✂ ✁ ☎ ✄ ✂ ✁ ✄ � ✂ ✑ ✂ ✁ ☎ � ✄ ✂ ✁ � ✓ ✜ � ✒ ☞ ✒ ☞ ✟ ✝ ✟ ☛ ✡ ✟ ✝ ✆ ☎ ✂✄ ✑ ✝ ✝ ✡ ✟ ✡ ✟ ☛ ✡ ✟ ✝ ✆ ☎ ✂✄ ✁ ✡ ✡ ✒ ✂ ✟ ✡ ✟ ✡ ✝ ✝ ✆ ☎ ☛ ✄ ✓ ✑ ✡ ☞ ✍ ✟ Normalization by evaluationfor ✒✛✚ ✞✠✟ ✞✠✟ ✞✠✟ ✆✌☞ ✆✌☞ ✆✌☞ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✞✠✟ ✒✛✚ ✔✖✕ Example ✔✖✕ ✍✏✎ ✔✖✕ ✍✏✎ ✍✏✎ ✄✘✗

  26. ✁ ✂ ✄ Why ? Normalization by evaluationfor – p.7/21

Recommend


More recommend