Reference. A two-level linear dependent type theory
We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system to assume tight resource bounds. A natural notion of irrelevancy is established where all proofs and types occurring inside programs are fully erasable without compromising their operational behavior. Through a heap-based operational semantics, we show that extracted programs always make computational progress and run memory clean. Additionally, programs can be freely reflected into the logical level for conducting deep proofs in the style of standard dependent type theories. This enables one to write resource safe programs and verify their correctness using a unified language.
Cite
Cites 26 works (5 here)
With notes (5)
Syntax and Semantics of Quantitative Type Theory atkey-2018-syntax
I Got Plenty o’ Nuttin’ mcbride-2016-i
Integrating Linear and Dependent Types krishnaswami_integrating_2015
A mixed linear and non-linear logic: Proofs, terms and models: Extended abstract bentonMixedLinearNonlinear1995
Intuitionistic linear logic regains the expressive power of intuitionistic logic through the ! (‘of course’) modality. Benton, Bierman, Hyland and de Paiva have given a term assignment system for ILL and an associated notion of categorical model in which the ! modality is modelled by a comonad satisfying certain extra conditions. Ordinary intuitionistic logic is then modelled in a cartesian closed category which arises as a full subcategory of the category of coalgebras for the comonad. This paper attempts to explain the connection between ILL and IL more directly and symmetrically by giving a logic, term calculus and categorical model for a system in which the linear and non-linear worlds exist on an equal footing, with operations allowing one to pass in both directions. We start from the categorical model of ILL given by Benton, Bierman, Hyland and de Paiva and show that this is equivalent to having a symmetric monoidal adjunction between a symmetric monoidal closed category and a cartesian closed category. We then derive both a sequent calculus and a natural deduction presentation of the logic corresponding to the new notion of model.
Linear logic girard_linear_1987
The familiar connective of negation is broken into two operations: linear negation which is the purely negative part of negation and the modality “of course” which has the meaning of a reaffirmation. Following this basic discovery, a completely new approach to the whole area between constructive logics and programmation is initiated.
External (21)
- A graded dependent type system with a usage-aware semantics (2020)
- The Coq Proof Assistant, version (2020)
- Linear Haskell: practical linearity in a higher-order polymorphic language (2017)
- A Linear Dependent Type Theory (2016)
- Syntax and Semantics of Linear Dependent Types (2014)
- The ATS Programming Language (2010)
- The Implicit Calculus of Constructions as a Programming Language with Dependent Types (2008)
- Dependent ML An approach to practical programming with dependent types (2007)
- A Proof of Strong Normalisation using Domain Theory (2006)
- A Linear Logical Framework (2002)
- The Implicit Calculus of Constructions Extending Pure Type Systems with an Intersection Type Binder and Subtyping (2001)
- Operational Interpretations of Linear Logic (1999)
- Computation and reasoning - a type theory for computer science (1994)
- Inductive Definitions in the system Coq - Rules and Properties (1993)
- A framework for defining logics (1993)
- Linear Types can Change the World! (1990)
- The Calculus of Constructions (1988)
- A method for obtaining digital signatures and public-key cryptosystems (1978)
- New directions in cryptography (1976)
- An Intuitionistic Theory of Types: Predicative Part (1975)
- The Rust teams