Table of Contents
Fetching ...

Dependent Multiplicities in Dependent Linear Type Theory

Maximilian Doré

TL;DR

The paper addresses the need for precise resource annotations in higher-order, dependently-typed programming by building a dependent linear type theory where multiplicities can depend on other variables. It achieves this by embedding linear logic into Martin-Löf style dependent type theory, inspired by the Dialectica translation, and introducing a host of constructs (Supply, LType, linear judgments Δ ⊩ A) that formalize resource usage within dependent types. The approach yields a principled framework for dependent multiplicities and linear dependent function types, with an Agda implementation and a pathway to extension to other dependently-typed languages. The work advances the interaction between linear logic and dependent type theory and provides a practical route to typing complex higher-order resource-aware programs.

Abstract

We present a novel dependent linear type theory in which the multiplicity of some variable - i.e., the number of times the variable can be used in a program - can depend on other variables. This allows us to give precise resource annotations to many higher-order functions that cannot be adequately typed in any other system. Inspired by the Dialectica translation, our typing discipline is obtained by embedding linear logic into dependent type theory and specifying how the embedded logic interacts with the host theory. We can then use a standard natural numbers type to obtain a quantitative typing system with dependent multiplicities. We characterise the semantics for our theory as a combination of standard models of dependent type theory and linear logic. Our system can be added to any dependently typed language, which we demonstrate with an implementation in Agda.

Dependent Multiplicities in Dependent Linear Type Theory

TL;DR

The paper addresses the need for precise resource annotations in higher-order, dependently-typed programming by building a dependent linear type theory where multiplicities can depend on other variables. It achieves this by embedding linear logic into Martin-Löf style dependent type theory, inspired by the Dialectica translation, and introducing a host of constructs (Supply, LType, linear judgments Δ ⊩ A) that formalize resource usage within dependent types. The approach yields a principled framework for dependent multiplicities and linear dependent function types, with an Agda implementation and a pathway to extension to other dependently-typed languages. The work advances the interaction between linear logic and dependent type theory and provides a practical route to typing complex higher-order resource-aware programs.

Abstract

We present a novel dependent linear type theory in which the multiplicity of some variable - i.e., the number of times the variable can be used in a program - can depend on other variables. This allows us to give precise resource annotations to many higher-order functions that cannot be adequately typed in any other system. Inspired by the Dialectica translation, our typing discipline is obtained by embedding linear logic into dependent type theory and specifying how the embedded logic interacts with the host theory. We can then use a standard natural numbers type to obtain a quantitative typing system with dependent multiplicities. We characterise the semantics for our theory as a combination of standard models of dependent type theory and linear logic. Our system can be added to any dependently typed language, which we demonstrate with an implementation in Agda.

Paper Structure

This paper contains 3 sections, 1 figure.

Figures (1)

  • Figure 1: Basic rules for supplies and productions.