English
Related papers

Related papers: A Framework for Dependent Types and Effects

200 papers

We introduce two extensions of the $\lambda$-calculus with a probabilistic choice operator, $\Lambda_\oplus^{cbv}$ and $\Lambda_\oplus^{cbn}$, modeling respectively call-by-value and call-by-name probabilistic computation. We prove that…

Logic in Computer Science · Computer Science 2019-05-13 Claudia Faggian , Simona Ronchi della Rocca

Over twenty years ago, Abadi et al. established the Dependency Core Calculus (DCC) as a general purpose framework for analyzing dependency in typed programming languages. Since then, dependency analysis has shown many practical benefits to…

Programming Languages · Computer Science 2022-02-03 Pritam Choudhury , Harley Eades , Stephanie Weirich

We introduce a probabilistic extension of Levy's Call-By-Push-Value. This extension consists simply in adding a " flipping coin " boolean closed atomic expression. This language can be understood as a major generalization of Scott's PCF…

Logic in Computer Science · Computer Science 2023-06-22 Thomas Ehrhard , Christine Tasson

This paper presents preliminary work on a general system for integrating dependent types into substructural type systems such as linear logic and linear type theory. Prior work on this front has generally managed to deliver type systems…

Logic in Computer Science · Computer Science 2024-01-30 C. B. Aberlé

For those of us who generally live in the world of syntax, semantic proof techniques such as reducibility, realizability or logical relations seem somewhat magical despite -- or perhaps due to -- their seemingly unreasonable effectiveness.…

Programming Languages · Computer Science 2020-07-28 Pierre-Évariste Dagand , Lionel Rieg , Gabriel Scherer

Real world programming languages crucially depend on the availability of computational effects to achieve programming convenience and expressive power as well as program efficiency. Logical frameworks rely on predicates, or dependent types,…

Logic in Computer Science · Computer Science 2017-12-07 Matthijs Vákár

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…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

We study a dependently typed extension of a multi-stage programming language \`a la MetaOCaml, which supports quasi-quotation and cross-stage persistence for manipulation of code fragments as first-class values and an evaluation construct…

Programming Languages · Computer Science 2021-08-18 Akira Kawata , Atsushi Igarashi

Gradually typed languages are designed to support both dynamically typed and statically typed programming styles while preserving the benefits of each. While existing gradual type soundness theorems for these languages aim to show that…

Programming Languages · Computer Science 2018-11-07 Max S. New , Daniel R. Licata , Amal Ahmed

A system of linear dependent types for the lambda calculus with full higher-order recursion, called dlPCF, is introduced and proved sound and relatively complete. Completeness holds in a strong sense: dlPCF is not only able to precisely…

Logic in Computer Science · Computer Science 2015-07-01 Ugo Dal Lago , Marco Gaboardi

The purpose of this text is to prove all technical aspects of our model for dependent type theory with parametric quantifiers [Nuyts, Vezzosi and Devriese, 2017]. It is well-known that any presheaf category constitutes a model of dependent…

Logic in Computer Science · Computer Science 2017-11-10 Andreas Nuyts

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…

Programming Languages · Computer Science 2026-05-20 Maximilian Doré

In the Calculus of Dependent Lambda Eliminations (CDLE), a pure Curry-style type theory, it is possible to generically {\lambda}-encode inductive datatypes which support course-of-values (CoV) induction. We present a datatype subsystem for…

Programming Languages · Computer Science 2019-11-05 Christopher Jenkins , Colin McDonald , Aaron Stump

In this report we define an encoding of Levys call-by-push-value lambda-calculus (CBPV) in the pi-calculus, and prove that our encoding is both sound and complete. We present informal (by-hand) proofs of soundness, completeness, and all…

Logic in Computer Science · Computer Science 2025-06-13 Benjamin Bennetzen , Nikolaj Rossander Kristensen , Peter Buus Steffensen

The ability to cast values between related types is a leitmotiv of many flavors of dependent type theory, such as observational type theories, subtyping, or cast calculi for gradual typing. These casts all exhibit a common structural…

Programming Languages · Computer Science 2025-12-09 Arthur Adjedj , Meven Lennon-Bertrand , Thibaut Benjamin , Kenji Maillard

The good properties of Plotkin's call-by-value lambda-calculus crucially rely on the restriction to weak evaluation and closed terms. Open call-by-value is the more general setting where evaluation is weak but terms may be open. Such an…

Logic in Computer Science · Computer Science 2018-10-30 Beniamino Accattoli , Giulio Guerrieri

Large language model (LLM) agents are increasingly capable of orchestrating complex tasks in low-code environments. However, these agents often exhibit hallucinations and logical inconsistencies because their inherent reasoning mechanisms…

Artificial Intelligence · Computer Science 2025-10-09 Jiexi Xu , Jiaqi Liu , Lanruo Wang , Su Liu

In dependent type theory, being able to refer to a type universe as a term itself increases its expressive power, but requires mechanisms in place to prevent Girard's paradox from introducing logical inconsistency in the presence of…

Programming Languages · Computer Science 2025-03-03 Jonathan Chan , Stephanie Weirich

We adapt Fiore, Plotkin, and Turi's treatment of abstract syntax with binding, substitution, and holes to account for languages with second-class sorts. These situations include programming calculi such as the Call-by-Value lambda-calculus…

Programming Languages · Computer Science 2026-03-03 Marcelo P. Fiore , Ohad Kammar , Georg Moser , Sam Staton

In their usual form, representation independence metatheorems provide an external guarantee that two implementations of an abstract interface are interchangeable when they are related by an operation-preserving correspondence. If our…

Programming Languages · Computer Science 2025-06-11 Carlo Angiuli , Evan Cavallo , Anders Mörtberg , Max Zeuner