Sikkel: Multimode Simple Type Theory as an Agda Library

by   Joris Ceulemans, et al.

Many variants of type theory extend a basic theory with additional primitives or properties like univalence, guarded recursion or parametricity, to enable constructions or proofs that would be harder or impossible to do in the original theory. However, implementing such extended type theories (either from scratch or by modifying an existing implementation) is a big hurdle for their wider adoption. In this paper we present Sikkel, a library in the dependently typed programming language Agda that allows users to program in extended type theories. It uses a deeply embedded language that can be easily extended with additional type and term constructors, thus supporting a wide variety of type theories. Moreover, Sikkel has a type checker that is sound by construction in the sense that all well-typed programs are automatically translated to their semantics in a shallow embedding based on presheaf models. Additionally, our model supports combining different base categories by using modalities to transport definitions between them. This enables in particular a general approach for extracting definitions to the meta-level, so that we can use the extended type theories to define regular Agda functions and prove properties of them. In this paper, we demonstrate Sikkel theories with guarded recursion and parametricity, but other extensions can be easily plugged in. For now, Sikkel supports only simple type theories but its model already anticipates the future addition of dependent types and a universe.


page 1

page 2

page 3

page 4


A General Framework for the Semantics of Type Theory

We propose an abstract notion of a type theory to unify the semantics of...

Indexed type theories

In this paper, we define indexed type theories which are related to inde...

Sound Atomicity Inference for Data-Centric Synchronization

Data-Centric Concurrency Control (DCCC) shifts the reasoning about concu...

Hybrid dynamical type theories for navigation

We present a hybrid dynamical type theory equipped with useful primitive...

Introducing Type Properties

In type theory, we can express many practical ideas by attributing some ...

A Generalized Modality for Recursion

Nakano's later modality allows types to express that the output of a fun...

Type theories in category theory

We introduce basic notions in category theory to type theorists, includi...

Please sign up or login with your details

Forgot password? Click here to reset