Computation and reasoning: a type theory for computer science
Computation and reasoning: a type theory for computer science
Domains for Denotational Semantics
Proceedings of the 9th Colloquium on Automata, Languages and Programming
On the Interpretation of Type Theory in Locally Cartesian Closed Categories
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
Applicative programming with effects
Journal of Functional Programming
The identity type weak factorisation system
Theoretical Computer Science
LICS '09 Proceedings of the 2009 24th Annual IEEE Symposium on Logic In Computer Science
Ultrametric Semantics of Reactive Programs
LICS '11 Proceedings of the 2011 IEEE 26th Annual Symposium on Logic in Computer Science
First Steps in Synthetic Guarded Domain Theory: Step-Indexing in the Topos of Trees
LICS '11 Proceedings of the 2011 IEEE 26th Annual Symposium on Logic in Computer Science
Hi-index | 0.00 |
Guarded recursive functions and types are useful for giving semantics to advanced programming languages and for higher-order programming with infinite data types, such as streams, e.g., for modeling reactive systems. We propose an extension of in tensional type theory with rules for forming fixed points of guarded recursive functions. Guarded recursive types can be formed simply by taking fixed points of guarded recursive functions on the universe of types. Moreover, we present a general model construction for constructing models of the in tensional type theory with guarded recursive functions and types. When applied to the groupoid model of in tensional type theory with the universe of small discrete groupoids, the construction gives a model of guarded recursion for which there is a one-to-one correspondence between fixed points of functions on the universe of types and fixed points of (suitable) operators on types. In particular, we find that the functor category ωop from the preordered set of natural numbers to the category of groupoids is a model of intensional type theory with guarded recursive types.