English
Related papers

Related papers: Sikkel: Multimode Simple Type Theory as an Agda Li…

200 papers

We present a novel approach to generic programming over extensible data types. Row types capture the structure of records and variants, and can be used to express record and variant subtyping, record extension, and modular composition of…

Programming Languages · Computer Science 2023-07-21 Alex Hubers , J. Garrett Morris

Following the types-as-sets paradigm, we present a mechanized embedding of dependent function types with a hierarchy of universes into schematic first-order logic with equality, with axiom schemas of Tarski-Grothendieck set theory. We carry…

Logic in Computer Science · Computer Science 2026-03-16 Yunsong Yang , Simon Guilloud , Viktor Kunčak

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é

GADTs were introduced in Haskell's eco-system more than a decade ago, but their interaction with several mainstream features such as type classes and functional dependencies has a lot of room for improvement. More specifically, for some…

Programming Languages · Computer Science 2019-07-02 Koen Pauwels , Georgios Karachalias , Michiel Derhaeg , Tom Schrijvers

This paper presents \tdl, a typed feature-based representation language and inference system. Type definitions in \tdl\ consist of type and feature constraints over the boolean connectives. \tdl\ supports open- and closed-world reasoning…

cmp-lg · Computer Science 2019-08-15 Hans-Ulrich Krieger , Ulrich Schäfer

Dependent types provide a lightweight and modular means to integrate programming and formal program verification. In particular, the types of programs written in dependently typed programming languages (Agda, Idris, F*, etc.) can be used to…

Logic in Computer Science · Computer Science 2017-10-10 Danel Ahman

In recent years, languages like Haskell have seen a dramatic surge of new features that significantly extends the expressive power of their type systems. With these features, the challenge of kind inference for datatype declarations has…

Programming Languages · Computer Science 2019-11-15 Ningning Xie , Richard A. Eisenberg , Bruno C. d. S. Oliveira

Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging.…

Programming Languages · Computer Science 2021-07-13 Joseph Eremondi , Ronald Garcia , Éric Tanter

Dependently-typed proof assistants furnish expressive foundations for mechanised mathematics and verified software. However, automation for these systems has been either modest in scope or complex in implementation. We aim to improve the…

Logic in Computer Science · Computer Science 2026-02-24 Artjoms Šinkarovs , Michael Rawson

Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is…

Programming Languages · Computer Science 2024-10-25 Philipp Jan Andries Stassen , Rasmus Ejlers Møgelberg , Maaike Zwart , Alejandro Aguirre , Lars Birkedal

We introduce Voevodsky's univalent foundations and univalent mathematics, and explain how to develop them with the computer system Agda, which is based on Martin-L\"of type theory. Agda allows us to write mathematical definitions,…

Logic in Computer Science · Computer Science 2022-09-05 Martín Hötzel Escardó

This paper improves the treatment of equality in guarded dependent type theory (GDTT), by combining it with cubical type theory (CTT). GDTT is an extensional type theory with guarded recursive types, which are useful for building models of…

Logic in Computer Science · Computer Science 2017-10-09 Lars Birkedal , Aleš Bizjak , Ranald Clouston , Hans Bugge Grathwohl , Bas Spitters , Andrea Vezzosi

We present a general and user-extensible equality checking algorithm that is applicable to a large class of type theories. The algorithm has a type-directed phase for applying extensionality rules and a normalization phase based on…

Logic in Computer Science · Computer Science 2023-06-22 Andrej Bauer , Anja Petković Komel

The R programming language is widely used in large-scale data analyses. It contains especially rich built-in support for dealing with vectors, arrays, and matrices. These operations feature prominently in the applications that form R's…

Programming Languages · Computer Science 2023-04-11 John Wrenn , Anjali Pal , Alexa VanHattum , Shriram Krishnamurthi

Type theories with multi-clocked guarded recursion provide a flexible framework for programming with coinductive types encoding productivity in types. Combining this with solutions to general guarded domain equations one can also construct…

Logic in Computer Science · Computer Science 2025-12-15 Rasmus Ejlers Møgelberg

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

Programming Languages · Computer Science 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt

This work introduces the novel concept of kind refinement, which we develop in the context of an explicitly polymorphic ML-like language with type-level computation. Just as type refinements embed rich specifications by means of…

Programming Languages · Computer Science 2019-08-02 Luís Caires , Bernardo Toninho

We present a graded modal type theory, a dependent type theory with grades that can be used to enforce various properties of the code. The theory has $\Pi$-types, weak and strong $\Sigma$-types, natural numbers, an empty type, and a…

Logic in Computer Science · Computer Science 2026-05-01 Andreas Abel , Nils Anders Danielsson , Oskar Eriksson

In functional programming languages, generalized algebraic data types (GADTs) are very useful as the unnecessary pattern matching over them can be ruled out by the failure of unification of type arguments. In dependent type systems, this is…

Programming Languages · Computer Science 2021-07-07 Tesla Zhang

Terms are a concise representation of tree structures. Since they can be naturally defined by an inductive type, they offer data structures in functional programming and mechanised reasoning with useful principles such as structural…

Logic in Computer Science · Computer Science 2015-07-01 Makoto Hamana