English
Related papers

Related papers: Type safety of rewrite rules in dependent types

200 papers

We present a new model of Guarded Dependent Type Theory (GDTT), a type theory with guarded recursion and multiple clocks in which one can program with, and reason about coinductive types. Productivity of recursively defined coinductive…

Logic in Computer Science · Computer Science 2020-04-14 Aleš Bizjak , Rasmus Ejlers Møgelberg

State of the art optimisation passes for dependently typed languages can help erase the redundant information typical of invariant-rich data structures and programs. These automated processes do not dramatically change the structure of the…

Programming Languages · Computer Science 2023-01-06 Guillaume Allais

It is shown how to use a small finite state automaton in two variables in order to carry out the Knuth-Bendix process for rewriting words in a group in shortlex order. The two-variable automaton can be used to store an infinite set of rules…

Group Theory · Mathematics 2007-05-23 D. B. A. Epstein , P. J. Sanders

Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. We present a system of refinement types for LF in the style of recent formulations where only canonical…

Programming Languages · Computer Science 2015-07-01 William Lovas , Frank Pfenning

Within a component-based approach allowing dynamic reconfigurations, sequences of successive reconfiguration operations are expressed by means of reconfiguration paths, possibly infinite. We show that a subclass of such paths can be…

Software Engineering · Computer Science 2015-03-18 Jean-Michel Hufflen

We present a type system that combines, in a controlled way, first-order polymorphism with intersectiontypes, union types, and subtyping, and prove its safety. We then define a type reconstruction algorithm that issound and terminating.…

Programming Languages · Computer Science 2023-11-20 Giuseppe Castagna , Mickaël Laurent , Kim Nguyen

Type theory plays an important role in foundations of mathematics as a framework for formalizing mathematics and a base for proof assistants providing semi-automatic proof checking and construction. Derivation of each theorem in type theory…

Logic · Mathematics 2021-02-23 Farida Kachapova

We present $\lambda_B$, a quantum-control $\lambda$-calculus that refines previous basis-sensitive systems by allowing abstractions to be expressed with respect to arbitrary -- possibly entangled -- bases. Each abstraction and let construct…

Logic in Computer Science · Computer Science 2025-10-24 Alejandro Díaz-Caro , Octavio Malherbe , Rafael Romero

Coverage Types provide a suitable type mechanism that integrates under-approximation logic to support Property-Based Testing. They are used to type the return value of a function that represents an input test generator. This allows us to…

Logic in Computer Science · Computer Science 2025-02-25 Angelo Passarelli , Gian-Luigi Ferrari

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

In this contribution we revisit regular model checking, a powerful framework that has been successfully applied for the verification of infinite-state systems, especially parameterized systems (concurrent systems with an arbitrary number of…

Logic in Computer Science · Computer Science 2021-11-23 Anthony W. Lin , Philipp Rümmer

Targeting to use contract-based design for the specification and refinement of extra-functional properties, this research abstract suggests to use type constraints and dependent types to ensure correct and consistent top-down decomposition…

Programming Languages · Computer Science 2019-06-28 Gregor Nitsche

When we want to answer/certify whether a given equation is entailed by an equational system we face the following problems: (1) It is hard to find a conversion (but easy to certify a given one). (2) Under the assumption that Knuth-Bendix…

Logic in Computer Science · Computer Science 2012-08-09 Thomas Sternagel , René Thiemann , Harald Zankl , Christian Sternagel

Relational type systems have been designed for several applications including information flow, differential privacy, and cost analysis. In order to achieve the best results, these systems often use relational refinements and relational…

Programming Languages · Computer Science 2020-11-18 Ezgi Çiçek , Weihao Qu , Gilles Barthe , Marco Gaboardi , Deepak Garg

While model checking has often been considered as a practical alternative to building formal proofs, we argue here that the theory of sequent calculus proofs can be used to provide an appealing foundation for model checking. Since the…

Logic in Computer Science · Computer Science 2017-01-19 Quentin Heath , Dale Miller

We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic…

Programming Languages · Computer Science 2009-09-29 Francois Fages , Emmanuel Coquery

Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey , Patricia Johann , Neil Ghani

Clocked Type Theory (CloTT) is a type theory for guarded recursion useful for programming with coinductive types, allowing productivity to be encoded in types, and for reasoning about advanced programming language features using an abstract…

Logic in Computer Science · Computer Science 2023-06-22 Bassel Mannaa , Rasmus Ejlers Møgelberg , Niccolò Veltri

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Logic in Computer Science · Computer Science 2019-03-14 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

This article describes the *Confluence Framework*, a novel framework for proving and disproving confluence using a divide-and-conquer modular strategy, and its implementation in CONFident. Using this approach, we are able to automatically…

Logic in Computer Science · Computer Science 2026-04-08 Raúl Gutiérrez , Salvador Lucas , Miguel Vítores