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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend