-
Notifications
You must be signed in to change notification settings - Fork 6
Abstracts.2020.STLCCC
Andreas Abel edited this page Nov 12, 2020
·
27 revisions
by Andreas Abel and Sandro Stucki
Two-part lecture series scheduled for Nov 5 and 12, 2020. Previously held in three parts.
- Recapitulation of simply-typed λ-calculus (STLC) with named
bound variables, judgements
Γ ⊢
,⊢ A
,Γ ⊢ t : A
,Γ ⊢ t = u : A
, and function typesA → B
- Internalization of substitutions as terms by adding judgements
Δ ⊢ σ : Γ
,Δ ⊢ σ = τ : Γ
and explicit substitutionsΔ ⊢ t ∘ σ : A
- Nameless representation of bound variables (de Bruijn style)
- Reduction of de Bruijn indices
n
to weakenings0 ∘ pⁿ
of the first de Bruijn index0
by adding substitutionsΓ, A ⊢ p : Γ
- Internalization of contexts as types by adding unit and product
types
1
andA × B
-
Categories: Basic definition of the algebra of functions
-
Cartesian closed categories (CCCs)
𝒞
with a choice of- Terminal object
1 : 1 → 𝒞
- Binary products
-×- : 𝒞 × 𝒞 → 𝒞
- Exponential/internal hom objects
A→- : 𝒞 → 𝒞
for eachA : 𝒞
Note that each of these three categorical structures can be defined as "the" right adjoint to a previously defined functor, and thus both by a universal property but also purely equationally.
- Terminal object
-
The internal language of a CCC
-
Implementing the internal language of a CCC in STLC with product and unit types
- Slides
- Lecture notes and exercises: Part 1: STLC to CCC Part 2: CCCs
- Agda code
Reading on this lecture:
- Wikipedia, Curry-Howard-Lambek-Correspondence
- Andreas Abel, Lambda-Kalkül, Kapitel 7 (7.0, 7.3, 7.4) und 9 (9.0, 9.1, 9.3, 9.4) (in German)
- Jonathan Prieto-Cubides, The Simply Typed Lambda Calculus, slides: From named terms to de Bruijn terms; type-checking. Based on Agda code by gergoerdi
- Steve Awodey, Category theory, Section 6.6
- Joachim Lambek and Philip J. Scott, Introduction to higher order categorical logic
Further reading on categorical logic of typed λ-calculus:
- Simon Castellan and Pierre Clairambault and Peter Dybjer, Categories with Families: Unityped, Simply Typed, and Dependently Typed, see Section 4 for the simply-typed case
- nLab, Closed Cartesian multicategories
Further reading on λ-calculus:
- Peter Selinger, Lecture Notes on the Lambda Calculus
- Ralph Loader, Notes on Simply Typed Lambda Calculus
Related talks:
- Nachi, Categorical Combinators