2 research outputs found
The Clocks They Are Adjunctions: 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 enjoy a
number of syntactic properties including strong normalisation, canonicity and
decidability of type checking. 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 used in CloTT for coinductive reasoning about coinductive types. We build
on a category previously used to model guarded recursion, but in this category
there is no object of ticks, so tick-assumptions in a context can not be
modelled using standard tools. Instead we show how ticks can be modelled using
adjoint functors, and how to model the tick constant using a semantic
substitution