English
Related papers

Related papers: Decidability of Type-checking in the Calculus of A…

200 papers

In this paper, we present a general realizability semantics for the simply typed $\lambda\mu$-calculus. Then, based on this semantics, we derive both weak and strong normalization results for two versions of the $\lambda\mu$-calculus…

Logic · Mathematics 2025-05-14 Peter Battyanyi , Karim Nour

Type annotations are essential when printing terms in a way that preserves their meaning under reparsing and type inference. We study the problem of complete and minimal type annotations for rank-one polymorphic $\lambda$-calculus terms, as…

Logic in Computer Science · Computer Science 2026-04-20 Kevin Kappelmann , Maximilian Schäffeler , Lukas Stevens , Mohammad Abdulaziz , Andrei Popescu , Dmitriy Traytel

In this paper, we define a new realizability semantics for the simply typed lambda-mu-calculus. We show that if a term is typable, then it inhabits the interpretation of its type. We also prove a completeness result of our realizability…

Logic · Mathematics 2023-06-22 Karim Nour , Mohamad Ziadeh

The Algebraic lambda-calculus and the Linear-Algebraic lambda-calculus extend the lambda-calculus with the possibility of making arbitrary linear combinations of terms. In this paper we provide a fine-grained, System F-like type system for…

Logic in Computer Science · Computer Science 2015-07-01 Pablo Arrighi , Alejandro Diaz-Caro

In a previous work, we proved that an important part of the Calculus of Inductive Constructions (CIC), the basis of the Coq proof assistant, can be seen as a Calculus of Algebraic Constructions (CAC), an extension of the Calculus of…

Logic in Computer Science · Computer Science 2016-08-16 Frédéric Blanqui

Dependent Object Types (DOT) is a calculus with path dependent types, intersection types, and object self-references, which serves as the core calculus of Scala 3. Although the calculus has been proven sound, it remains open whether type…

Programming Languages · Computer Science 2020-05-15 Jason Hu , Ondřej Lhoták

We investigate the relationship between two independently developed termination techniques. On the one hand, sized-types based termination (SBT) uses types annotated with size expressions and Girard's reducibility candidates, and applies on…

Logic in Computer Science · Computer Science 2009-06-24 Frédéric Blanqui , Cody Roux

The higher order matching problem is the problem of determining whether a term is an instance of another in the simply typed $\lambda$-calculus, i.e. to solve the equation a = b where a and b are simply typed $\lambda$-terms and b is…

Logic in Computer Science · Computer Science 2023-06-05 Gilles Dowek

The lambda-calculus with de Bruijn indices assembles each alpha-class of lambda-terms in a unique term, using indices instead of variable names. Intersection types provide finitary type polymorphism and can characterise normalisable…

Logic in Computer Science · Computer Science 2010-01-26 Daniel Ventura , Mauricio Ayala-Rincón , Fairouz Kamareddine

Dependently typed lambda calculi such as the Logical Framework (LF) are capable of representing relationships between terms through types. By exploiting the "formulas-as-types" notion, such calculi can also encode the correspondence between…

Logic in Computer Science · Computer Science 2010-07-07 Zachary Snow , David Baelde , Gopalan Nadathur

This article presents a bidirectional type system for the Calculus of Inductive Constructions (CIC). It introduces a new judgement intermediate between the usual inference and checking, dubbed constrained inference, to handle the presence…

Programming Languages · Computer Science 2021-04-20 Meven Lennon-Bertrand

We develop a class of algebraic interpretations for many-sorted and higher-order term rewriting systems that takes type information into account. Specifically, base-type terms are mapped to \emph{tuples} of natural numbers and higher-order…

Symbolic Computation · Computer Science 2021-05-05 Deivid Vale , Cynthia Kop

We advocate the use of de Bruijn's universal abstraction $\lambda^\infty$ for the quantification of schematic variables in the predicative setting and we present a typed $\lambda$-calculus featuring the quantifier $\lambda^\infty$…

Logic in Computer Science · Computer Science 2021-05-11 Ferruccio Guidi

The expressiveness of dependent type theory can be extended by identifying types modulo some additional computation rules. But, for preserving the decidability of type-checking or the logical consistency of the system, one must make sure…

Logic in Computer Science · Computer Science 2020-11-02 Frédéric Blanqui

This paper shows how a recently developed view of typing as small-step abstract reduction, due to Kuan, MacQueen, and Findler, can be used to recast the development of simple type theory from a rewriting perspective. We show how standard…

Programming Languages · Computer Science 2015-07-01 Aaron Stump , Garrin Kimmell , Hans Zantema , Ruba El Haj Omar

In this paper, we define a realizability semantics for the simply typed $\lambda\mu$-calculus. We show that if a term is typable, then it inhabits the interpretation of its type. This result serves to give characterizations of the…

Logic · Mathematics 2009-05-05 Karim Nour , Khelifa Saber

Hereditary substitution is a form of type-bounded iterated substitution, first made explicit by Watkins et al. and Adams in order to show normalization of proof terms for various constructive logics. This paper is the first to apply…

Logic in Computer Science · Computer Science 2013-09-06 Harley Eades , Aaron Stump

In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables. The literature usually presents the unification algorithm as a standalone component, however the need to…

Programming Languages · Computer Science 2016-10-03 Francesco Mazzoli , Andreas Abel

The Dependent Object Types (DOT) calculus formalizes key features of Scala. The D$_{<: }$ calculus is the core of DOT. To date, presentations of D$_{<: }$ have used declarative typing and subtyping rules, as opposed to algorithmic.…

Programming Languages · Computer Science 2017-09-29 Abel Nieto

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following…

Programming Languages · Computer Science 2020-09-22 Jana Dunfield , Neelakantan R. Krishnaswami