[Agda] Operational and Denotational, Typed and Untyped Lambda Calculus

Martin Escardo m.escardo at cs.bham.ac.uk
Fri Mar 30 21:35:13 CEST 2018


> No favourites from anyone else? That doesn't seem much like this list!

(1) Of course, you can consider the type-theoretic incarnation of the 
"set-theoretic model" of Goedel's system T (simply typed lambda calculus 
with a base type for natural numbers, as you know).

http://www.cs.bham.ac.uk/~mhe/dialogue/dialogue.pdf

This also considers a "dialogue" "forcing" model of system T, and then a 
logical relation between this and the set-theoretical model to prove (in 
Agda) that all system T definable functions (N->N)->N of the 
set-theoretical model are continuous.

The paper quoted above works with the SKI-combinatory version of system 
T, for simplicity of presentation. However, further accompanying Agda 
files consider the lambda-calculus version, and more: 
http://www.cs.bham.ac.uk/~mhe/dialogue/

(2) Again with system T, we can consider models in which all functions 
(of all types) are continuous (rather than just the definable ones of 
type (N->N)->N.)

This is done by my former PhD student Chuangjie Xu. https://cj-xu.github.io/

(3) Following from (2), this is actually a manifestation of the 
Kleene-Kreisel continuous functionals from the 1950's, used at that time 
(and to this day) to model computation with higher types. This is in the 
above Agda code (2) and also in the paper

http://www.cs.bham.ac.uk/~mhe/papers/kleene-kreisel.pdf

(4) This hasn't been implemented in Agda yet, but it should:
http://www.cs.bham.ac.uk/~mhe/papers/partial-elements-and-recursion.pdf

And actually it needs a univalent extension of type theory, such as 
cubical Agda: https://agda.readthedocs.io/en/latest/language/cubical.html

This last (4) is more in the vein of Dana Scott's ideas, but 
constructively performed (following the lead of many people, including 
Rosolini, Hyland, among others).

Best wishes,
Martin



More information about the Agda mailing list