Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory

Clocked Type Theory (CloTT) is a type theory for guarded recursion useful for programming with coinductive types, allowing productivity to be encoded in types, and for reasoning about advanced programming language features using an abstract form of step-indexing. CloTT has previously been shown to e...

Full description

Bibliographic Details
Main Authors: Bassel Mannaa, Rasmus Ejlers Møgelberg, Niccolò Veltri
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2020-12-01
Series:Logical Methods in Computer Science
Subjects:
Online Access:https://lmcs.episciences.org/6278/pdf
_version_ 1797268580668014592
author Bassel Mannaa
Rasmus Ejlers Møgelberg
Niccolò Veltri
author_facet Bassel Mannaa
Rasmus Ejlers Møgelberg
Niccolò Veltri
author_sort Bassel Mannaa
collection DOAJ
description Clocked Type Theory (CloTT) is a type theory for guarded recursion useful for programming with coinductive types, allowing productivity to be encoded in types, and for reasoning about advanced programming language features using an abstract form of step-indexing. CloTT has previously been shown to enjoy a number of syntactic properties including strong normalisation, canonicity and decidability of the equational theory. In this paper we present a denotational semantics for CloTT useful, e.g., for studying future extensions of CloTT with constructions such as path types. The main challenge for constructing this model is to model the notion of ticks on a clock used in CloTT for coinductive reasoning about coinductive types. We build on a category previously used to model guarded recursion with multiple clocks. In this category there is an object of clocks but no object of ticks, and so tick-assumptions in a context can not be modelled using standard tools. Instead we model ticks using dependent right adjoint functors, a generalisation of the category theoretic notion of adjunction to the setting of categories with families. Dependent right adjoints are known to model Fitch-style modal types, but in the case of CloTT, the modal operators constitute a family indexed internally in the type theory by clocks. We model this family using a dependent right adjoint on the slice category over the object of clocks. Finally we show how to model the tick constant of CloTT using a semantic substitution. This work improves on a previous model by the first two named authors which not only had a flaw but was also considerably more complicated.
first_indexed 2024-04-25T01:34:45Z
format Article
id doaj.art-a9a7e1a274d04aefbeb9d0be60936b9a
institution Directory Open Access Journal
issn 1860-5974
language English
last_indexed 2024-04-25T01:34:45Z
publishDate 2020-12-01
publisher Logical Methods in Computer Science e.V.
record_format Article
series Logical Methods in Computer Science
spelling doaj.art-a9a7e1a274d04aefbeb9d0be60936b9a2024-03-08T10:32:05ZengLogical Methods in Computer Science e.V.Logical Methods in Computer Science1860-59742020-12-01Volume 16, Issue 410.23638/LMCS-16(4:17)20206278Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theoryBassel MannaaRasmus Ejlers MøgelbergNiccolò VeltriClocked Type Theory (CloTT) is a type theory for guarded recursion useful for programming with coinductive types, allowing productivity to be encoded in types, and for reasoning about advanced programming language features using an abstract form of step-indexing. CloTT has previously been shown to enjoy a number of syntactic properties including strong normalisation, canonicity and decidability of the equational theory. In this paper we present a denotational semantics for CloTT useful, e.g., for studying future extensions of CloTT with constructions such as path types. The main challenge for constructing this model is to model the notion of ticks on a clock used in CloTT for coinductive reasoning about coinductive types. We build on a category previously used to model guarded recursion with multiple clocks. In this category there is an object of clocks but no object of ticks, and so tick-assumptions in a context can not be modelled using standard tools. Instead we model ticks using dependent right adjoint functors, a generalisation of the category theoretic notion of adjunction to the setting of categories with families. Dependent right adjoints are known to model Fitch-style modal types, but in the case of CloTT, the modal operators constitute a family indexed internally in the type theory by clocks. We model this family using a dependent right adjoint on the slice category over the object of clocks. Finally we show how to model the tick constant of CloTT using a semantic substitution. This work improves on a previous model by the first two named authors which not only had a flaw but was also considerably more complicated.https://lmcs.episciences.org/6278/pdfcomputer science - logic in computer science
spellingShingle Bassel Mannaa
Rasmus Ejlers Møgelberg
Niccolò Veltri
Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory
Logical Methods in Computer Science
computer science - logic in computer science
title Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory
title_full Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory
title_fullStr Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory
title_full_unstemmed Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory
title_short Ticking clocks as dependent right adjoints: Denotational semantics for clocked type theory
title_sort ticking clocks as dependent right adjoints denotational semantics for clocked type theory
topic computer science - logic in computer science
url https://lmcs.episciences.org/6278/pdf
work_keys_str_mv AT basselmannaa tickingclocksasdependentrightadjointsdenotationalsemanticsforclockedtypetheory
AT rasmusejlersmøgelberg tickingclocksasdependentrightadjointsdenotationalsemanticsforclockedtypetheory
AT niccoloveltri tickingclocksasdependentrightadjointsdenotationalsemanticsforclockedtypetheory