Quantitative polynomial functors

Abstract

Data types are the basic building blocks of modern type theories and programming languages. Having more powerful data types around can increase the proof-theoretic strength of the theory, i.e., allow more programs to be written, and can also make existing proofs/programs more convenient to write. Recent advances in type theories such as cubical type theory have also been accompanied by advances in data type theory, such as quotient and higher inductive types. In this paper, we explore what a corresponding notion of (non-higher, so far) inductive types for the also recently introduced type theory Quantitative Type Theory (QTT) might be. QTT combines dependent types and linear types, in the sense of linear logic. By using linearity to track variable (and hence resource) usage of programs, QTT thus promises to enable formal reasoning about both functional and non-functional correctness of programs. A variant of QTT is implemented in the Idris 2 programming language, and we hope that our work can be used as a foundational justification for the implementation of data types there. Conversely, we have used Idris 2 to mechanically verify parts of our development

    Similar works