Denotational semantics of recursive types in synthetic guarded domain theory

被引:7
作者
Mogelberg, Rasmus E. [1 ]
Paviotti, Marco [2 ]
机构
[1] IT Univ Copenhagen, Copenhagen, Denmark
[2] Univ Kent, Canterbury, Kent, England
基金
英国工程与自然科学研究理事会;
关键词
MODEL;
D O I
10.1017/S0960129518000087
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Just like any other branch of mathematics, denotational semantics of programming languages should be formalised in type theory, but adapting traditional domain theoretic semantics, as originally formulated in classical set theory to type theory has proven challenging. This paper is part of a project on formulating denotational semantics in type theories with guarded recursion. This should have the benefit of not only giving simpler semantics and proofs of properties such as adequacy, but also hopefully in the future to scale to languages with advanced features, such as general references, outside the reach of traditional domain theoretic techniques. Working in Guarded Dependent Type Theory (GDTT), we develop denotational semantics for Fixed Point Calculus (FPC), the simply typed lambda calculus extended with recursive types, modelling the recursive types of FPC using the guarded recursive types of GDTT. We prove soundness and computational adequacy of the model in GDTT using a logical relation between syntax and semantics constructed also using guarded recursive types. The denotational semantics is intensional in the sense that it counts the number of unfold-fold reductions needed to compute the value of a term, but we construct a relation relating the denotations of extensionally equal terms, i.e., pairs of terms that compute the same value in a different number of steps. Finally, we show how the denotational semantics of terms can be executed inside type theory and prove that executing the denotation of a boolean term computes the same value as the operational semantics of FPC.
引用
收藏
页码:465 / 510
页数:46
相关论文
共 34 条
[1]   Quotient Inductive-Inductive Types [J].
Altenkirch, Thorsten ;
Capriotti, Paolo ;
Dijkstra, Gabe ;
Kraus, Nicolai ;
Forsberg, Fredrik Nordvall .
FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES, FOSSACS 2018, 2018, 10803 :293-310
[2]   An indexed model of recursive types for foundational proof-carrying code [J].
Appel, AW ;
McAllester, D .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2001, 23 (05) :657-683
[3]  
Atkey R, 2013, ACM SIGPLAN NOTICES, V48, P197, DOI [10.1145/2500365.2500597, 10.1145/2544174.2500597]
[4]  
Bahrebar P., 2017, P INT C COMP COMM NE, P1
[5]  
Benton N., 2009, P THEOR PROV HIGH OR
[6]  
Benton N., 2010, UNPUB
[7]  
Birkedal L., 2016, P 25 EACSL ANN C COM
[8]  
Birkedal L., 2012, P LOG METH COMP SCI
[9]   Intensional Type Theory with Guarded Recursive Types qua Fixed Points on Universes [J].
Birkedal, Lars ;
Mogelberg, Rasmus Ejlers .
2013 28TH ANNUAL IEEE/ACM SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS), 2013, :213-222
[10]  
Bizjak Ales, 2014, Rewriting and Typed Lambda Calculi. Joint International Conference, RTA-TLCA 2014, Held as Part of the Vienna Summer of Logic, VSL 2014. Proceedings: LNCS 8560, P108, DOI 10.1007/978-3-319-08918-8_8