Reference. Substructural Parametricity

Ordered, linear, and other substructural type systems allow us to expose deep properties of programs at the syntactic level of types. In this paper, we develop a family of unary logical relations that allow us to prove consequences of parametricity for a range of substructural type systems. A key idea is to parameterize the relation by an algebra, which we exemplify with a monoid and commutative monoid to interpret ordered and linear type systems, respectively. We prove the fundamental theorem of logical relations and apply it to deduce extensional properties of inhabitants of certain types. Examples include demonstrating that the ordered types for list append and reversal are inhabited by exactly one function, as are types of some tree traversals. Similarly, the linear type of the identity function on lists is inhabited only by permutations of the input. Our most advanced example shows that the ordered type of the list fold function is inhabited only by the fold function.

Cite

Cite as @aberle-2025-substructural (helia, typst) · \cite{aberle-2025-substructural} (LaTeX)
BibTeX
bibtex · 14 lines
@inproceedings{aberle-2025-substructural,
  doi = {10.4230/LIPICS.FSCD.2025.4},
  url = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.FSCD.2025.4},
  author = {Aberlé, C. B. and Crary, Karl and Martens, Chris and Pfenning, Frank},
  keywords = {Substructural type systems, logical relations, ordered logic, Theory of computation → Type structures},
  language = {en},
  title = {Substructural Parametricity},
  volume = {337},
  pages = {4:1-4:21},
  publisher = {Schloss Dagstuhl – Leibniz-Zentrum für Informatik},
  year = {2025},
  copyright = {Creative Commons Attribution 4.0 International license},
  booktitle = {10th International Conference on Formal Structures for Computation and Deduction (FSCD 2025)}
}
hayagriva YAML (typst)
yaml · 18 lines
aberle-2025-substructural:
  type: article
  title: Substructural Parametricity
  author:
  - Aberlé, C. B.
  - Crary, Karl
  - Martens, Chris
  - Pfenning, Frank
  date: 2025
  page-range: 4:1-4:21
  url: https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.FSCD.2025.4
  serial-number:
    doi: 10.4230/LIPICS.FSCD.2025.4
  parent:
    type: proceedings
    title: 10th International Conference on Formal Structures for Computation and Deduction (FSCD 2025)
    publisher: Schloss Dagstuhl – Leibniz-Zentrum für Informatik
    volume: 337
Cited by (1)

Ordered Adjoint Logic roshal-2026-ordered

Ordered logics and type systems have been used in a variety of applications including computational linguistics, memory allocation, stream processing, logical frameworks, parametricity, and enforcing security protocols. In most formulations, ordered types are also linear, requiring each resource to be used exactly once. Prior work by Kanovich et al. has investigated calculi that relax this constraint through subexponentials within a linear ordered logic. We generalize their work by using adjoint modalities to combine logics with varying fine-grained structural properties, including weakening, left contraction, right contraction, left mobility, and right mobility. We show that the resulting sequent calculus admits cut elimination. We further provide a natural deduction formulation in which structural rules are implicit, and show that proof checking for this system is decidable. This makes it a suitable foundation for an expressive adjoint programming language or logical framework.
DOI
Cites 47 works (9 here)
With notes (9)

Adjoint Natural Deduction jang-2024-adjoint

Adjoint logic is a general approach to combining multiple logics with different structural properties, including linear, affine, strict, and (ordinary) intuitionistic logics, where each proposition has an intrinsic mode of truth. It has been defined in the form of a sequent calculus because the central concept of independence is most clearly understood in this form, and because it permits a proof of cut elimination following standard techniques. In this paper we present a natural deduction formulation of adjoint logic and show how it is related to the sequent calculus. As a consequence, every provable proposition has a verification (sometimes called a long normal form). We also give a computational interpretation of adjoint logic in the form of a functional language and prove properties of computations that derive from the structure of modes, including freedom from garbage (for modes without weakening and contraction), strictness (for modes disallowing weakening), and erasure (based on a preorder between modes). Finally, we present a surprisingly subtle algorithm for type checking.
DOI · arXiv

Verus: Verifying Rust Programs using Linear Ghost Types lattuada-2023-verus

The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems. For such systems, formal verification can be useful to prove functional correctness properties beyond type safety. This paper presents Verus, an SMT-based tool for formally verifying Rust programs. With Verus, programmers express proofs and specifications using the Rust language, allowing proofs to take advantage of Rust’s linear types and borrow checking. We show how this allows proofs to manipulate linearly typed permissions that let Rust code safely manipulate memory, pointers, and concurrent resources. Verus organizes proofs and specifications using a novel mode system that distinguishes specifications, which are not checked for linearity and borrowing, from executable code and proofs, which are checked for linearity and borrowing. We formalize Verus’ linearity, borrowing, and modes in a small lambda calculus, for which we prove type safety and termination of specifications and proofs. We demonstrate Verus on a series of examples, including pointer-manipulating code (an xor-based doubly linked list), code with interior mutability, and concurrent code.
PDF · DOI · arXiv · pldb

Relating Message Passing and Shared Memory, Proof-Theoretically pfenning-2023-relating

DOI

Syntax and Semantics of Quantitative Type Theory atkey-2018-syntax

DOI

Iris from the ground up: A modular foundation for higher-order concurrent separation logic jung_etal_iris_ground_up_2018

Iris is a framework for higher-order concurrent separation logic, which has been implemented in the Coq proof assistant and deployed very effectively in a wide variety of verification projects. Iris was designed with the express goal of simplifying and consolidating the foundations of modern separation logics, but it has evolved over time, and the design and semantic foundations of Iris itself have yet to be fully written down and explained together properly in one place. Here, we attempt to fill this gap, presenting a reasonably complete picture of the latest version of Iris (version 3.1), from first principles and in one coherent narrative.
PDF · DOI · pldb

Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning jung-2015-iris

PDF · DOI · pldb

Session Types as Intuitionistic Linear Propositions caires-2010-session

DOI

The logic of bunched implications ohearn_pym_bi_1999

We introduce a logic BI in which a multiplicative (or linear) and an additive (or intuitionistic) implication live side-by-side. The propositional version of BI arises from an analysis of the proof-theoretic relationship between conjunction and implication; it can be viewed as a merging of intuitionistic logic and multiplicative intuitionistic linear logic. The naturality of BI can be seen categorically: models of propositional BI’s proofs are given by bicartesian doubly closed categories, i.e., categories which freely combine the semantics of propositional intuitionistic logic and propositional multiplicative intuitionistic linear logic. The predicate version of BI includes, in addition to standard additive quantifiers, multiplicative (or intensional) quantifiers [inline image] and [inline image] which arise from observing restrictions on structural rules on the level of terms as well as propositions. We discuss computational interpretations, based on sharing, at both the propositional and predicate levels.

The mathematics of sentence structure lambek58

DOI
External (38)
aberle-2025-substructural reference entries/refs/aberle-2025-substructural/aberle-2025-substructural.hel