# LNL-FPC: The Linear/Non-linear Fixpoint Calculus

**Authors:** Bert Lindenhovius, Michael Mislove, Vladimir Zamdzhiev

arXiv: 1906.09503 · 2023-06-22

## TL;DR

LNL-FPC introduces a type system combining linear and non-linear recursive types, supporting enhanced safety and convenience, with categorical models and applications in quantum and circuit programming.

## Contribution

It presents a novel mixed linear/non-linear recursive type system with categorical semantics and solutions for recursive domain equations, applicable to emerging programming paradigms.

## Key findings

- Supports type-level and term-level recursion.
- Provides sound categorical models for the type system.
- Applicable to quantum and circuit programming languages.

## Abstract

We describe a type system with mixed linear and non-linear recursive types called LNL-FPC (the linear/non-linear fixpoint calculus). The type system supports linear typing, which enhances the safety properties of programs, but also supports non-linear typing as well, which makes the type system more convenient for programming. Just as in FPC, we show that LNL-FPC supports type-level recursion, which in turn induces term-level recursion. We also provide sound and computationally adequate categorical models for LNL-FPC that describe the categorical structure of the substructural operations of Intuitionistic Linear Logic at all non-linear types, including the recursive ones. In order to do so, we describe a new technique for solving recursive domain equations within cartesian categories by constructing the solutions over pre-embeddings. The type system also enjoys implicit weakening and contraction rules that we are able to model by identifying the canonical comonoid structure of all non-linear types. We also show that the requirements of our abstract model are reasonable by constructing a large class of concrete models that have found applications not only in classical functional programming, but also in emerging programming paradigms that incorporate linear types, such as quantum programming and circuit description programming languages.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1906.09503/full.md

## Figures

34 figures with captions in the complete paper: https://tomesphere.com/paper/1906.09503/full.md

## References

38 references — full list in the complete paper: https://tomesphere.com/paper/1906.09503/full.md

---
Source: https://tomesphere.com/paper/1906.09503