Møgelberg, Rasmus, Paviotti, Marco (2018) Denotational semantics of recursive types in synthetic guarded domain theory. Mathematical Structures in Computer Science, . ISSN 09601295. (doi:10.1017/S0960129518000087)
PDF  Author's Accepted Manuscript  
Download (542kB)
Preview



Official URL https://doi.org/10.1017/S0960129518000087 
Abstract
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 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 unfoldfold 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.
Item Type:  Article 

DOI/Identification number:  10.1017/S0960129518000087 
Uncontrolled keywords:  Denotational semantics, lambda calculus, type theory, guarded recursion, category theory 
Subjects:  Q Science > QA Mathematics (inc Computing science) > QA 9 Formal systems, logics 
Divisions:  Faculties > Sciences > School of Computing > Programming Languages and Systems Group 
Depositing User:  Marco Paviotti 
Date Deposited:  19 Oct 2018 12:33 UTC 
Last Modified:  09 Jul 2019 11:23 UTC 
Resource URI:  https://kar.kent.ac.uk/id/eprint/69685 (The current URI for this page, for reference purposes) 
Paviotti, Marco:  https://orcid.org/0000000215130807 
 Export to:
 RefWorks
 EPrints3 XML
 BibTeX
 CSV
 Depositors only (login required):