A Two-Level Linear Dependent Type Theory
Qiancheng Fu, Hongwei Xi

TL;DR
This paper introduces a two-level dependent type theory that integrates linearity and dependency, enabling resource-safe programming and formal verification within a unified framework.
Contribution
It proposes a novel stratification of typing rules into logic and program levels, decoupling semantics and ensuring resource bounds and proof irrelevancy.
Findings
Programs always make computational progress
Programs run memory cleanly
Proofs can be embedded into programs for verification
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Software Engineering Research
