The Simply Typed Lambda Calculus
(In Agda) Jonathan Prieto-Cubides
Master in Applied Mathematics Logic and Computation Group Universidad EAFIT Medellín, Colombia
The Simply Typed Lambda Calculus Jonathan Prieto-Cubides Master in - - PowerPoint PPT Presentation
The Simply Typed Lambda Calculus Jonathan Prieto-Cubides Master in Applied Mathematics Logic and Computation Group Universidad EAFIT Medelln, Colombia 1th June 2017 (In Agda ) Contents Lambda Calculus Typed Lambda Calculus Syntax
Master in Applied Mathematics Logic and Computation Group Universidad EAFIT Medellín, Colombia
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 2/24
▶ The Agda source code of this talk is available in the repository
▶ Tested with Agda v2.5.2 and Agda Standard Library v0.13
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 3/24
▶ The set of 𝜇-terms denoted by Λ is built up from a set of variables 𝑊
▶ A simple syntax definition for lambda terms
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 4/24
▶ The set of types is noted with 𝕌 = Type(𝜇 →).
▶ A statement is of the form 𝑁 ∶ 𝜏 with 𝑁 ∈ Λ and 𝜏 ∈ 𝕌 ▶ Derivation inference rules
(1)
▶ A statement 𝑁 ∶ 𝜏 is derivable form a basis Γ denoted by
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 5/24
▶ Typing syntax: 𝕌 = 𝕎 | | 𝕌 ↣ 𝕌,
▶ A syntax definition including type annotations
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 6/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 7/24
▶ It is decidable whether a term is typable in 𝜇 →. ▶ If a term 𝑁 is typable in 𝜇 →, then M has a principal type scheme, i.e.
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 8/24
▶ The indexes are natural numbers that represent the occurrences of
▶ The natural number denotes the number of binders that are in scope
▶ Check for 𝛽-equivalence is the same as that for syntactic equality ▶ A syntax definition using De Bruijn indexes
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 9/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 10/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 11/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 12/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 13/24
▶ Introduction
▶ Abstraction
▶ Application
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 14/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 15/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 16/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 17/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 18/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 19/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 20/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 21/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 22/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 23/24
The Simply Typed Lambda Calculus | Jonathan Prieto-Cubides 24/24