• Corpus ID: 32604736

On type-based termination and dependent pattern matching in the calculus of inductive constructions. (Terminaison basée sur les types et filtrage dépendant pour le calcul des constructions inductives)

  title={On type-based termination and dependent pattern matching in the calculus of inductive constructions. (Terminaison bas{\'e}e sur les types et filtrage d{\'e}pendant pour le calcul des constructions inductives)},
  author={Jorge Luis Sacchini},
Proof assistants based on dependent type theory are gaining adoption as a tool to develop certified programs. A successful example is the Coq proof assistant, an implementation of a dependent type theory called the Calculus of Inductive Constructions (CIC). Coq is a functional programming language with an expressive type system that allows to specify and prove properties of programs in a higher-order predicate logic. Motivated by the success of Coq and the desire of improving its usability, in… 

Type-Based Methods for Termination and Productivity in Coq

The implementation of the guard predicate implementation in Coq is large and difficult to maintain, making the termination checker one of the weakest point in the Coq kernel.

Well-Founded Sized Types in the Calculus of ( Co ) Inductive Constructions ∗

This work considers an extension of CIC with a notion of well-founded sized types, inspired by F ω, that solves both issues in the case of coinductive types.

Is Sized Typing for Coq Practical?

CIC∗̂, a sized type theory based on CIC, which extends past work on sized types in CIC with additional Coq features such as global and local definitions and concludes that using size inference as a replacement for syntactic checking is wildly impractical in terms of performance.

Deriving Proved Equality Tests in Coq-Elpi: Stronger Induction Principles for Containers in Coq

The unary parametricity translation of inductive data types turns out to be the key to both steps of the procedure to derive equality tests and their correctness proofs from inductive type declarations.

Type-Based Productivity of Stream Definitions in the Calculus of Constructions

  • J. Sacchini
  • Computer Science
    2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
  • 2013
An extension of the Calculus of Constructions-the theory underlying the Coq proof assistant-with a type-based criterion for ensuring productivity of stream definitions is proposed and strong normalization and logical consistency are proved.

Strongly bounded termination with applications to security and hardware synthesis

This paper presents the BTC and its semantics and metatheory through a Coq formalization and important examples motivating strongly-bounded termination and BTC are described as well.

Linear Sized Types in the Calculus of Constructions

This paper presents a type system with linear sized types for the Calculus of Constructions extended with one inductive type (natural numbers) and one coinductive type (streams) that satisfies desirable metatheoretical properties, including strong normalization, and gives a sound and complete size-inference algorithm.

Functional and Logic Programming

Two new types for Haskell have been proposed that combine types for type inference and type inference that were previously proposed for types for knowledge representation.

Practical Sized Typing for Coq

An implementation that extends the Coq kernel with optional support for sized types and extends the sized-type inference algorithm to support completely unannotated Gallina terms to maintain complete backward compatibility with existing Coq developments.

Size-based termination of higher-order rewriting

  • F. Blanqui
  • Computer Science
    Journal of Functional Programming
  • 2018
A general and modular criterion for the termination of simply typed λ-calculus extended with function symbols defined by user-defined rewrite rules is provided.



Subset Coercions in Coq

A new language for writing programs with dependent types on top of the COQ proof assistant allowing to write algorithms as easily as in a practical functional programming language whilst giving them as rich a specification as desired and proving that the code meets the specification using the whole COQProof apparatus.

Type-based termination of recursive definitions and constructor subtyping in typed lambda calculi

It is proved that this system encompasses in a strict way Gimenez’ λG , a system in which termination of typable expressions is ensured by a syntactical condition constraining the uses of recursive calls in the body of definitions, and sketch two ways of achieving strong normalization.

CIC[^( )]: Type-Based Termination of Recursive Definitions in the Calculus of Inductive Constructions

A variant of the Calculus of Inductive Constructions with sized types is introduced and its meta theoretical properties are studied: subject reduction, normalization, and thus consistency and decidability of type-checking and of size-inference.

Dependently typed functional programs and their proofs

This thesis shows that the adoption of this uniqueness as axiomatic is sufficient to make pattern matching admissible, and develops technology for programming with dependent inductive families of datatypes and proving those programs correct.

Types for Proofs and Programs: International Workshop TYPES '93, Nijmegen, The Netherlands, May 24 - 28, 1993. Selected Papers

Proving strong normalization of CC by modifying realizability semantics and developing certified programs in the system Coq the program tactic.

Constructions, inductive types and strong normalization

An extension of the core calculus by inductive types is investigated and it is shown how the realizability semantics and the strong normalization argument can be extended to non-algebraic inductive type types.

Types for proofs and programs : International Workshop TYPES '95, Torino, Italy, June 5-8, 1995 : selected papers

A two-level approach towards lean proof-checking and an algorithm for checking incomplete proof objects in type theory with localization and unification are described.

A New Elimination Rule for the Calculus of Inductive Constructions

A new rule is provided that permits the omission of impossible cases, handles the propagation of inversion constraints, and allows to derive Streicher's K axiom, and it is shown that subject reduction holds, and sketch a proof of relative consistency.

Pattern matching coverage checking with dependent types using set approximations

This work introduces a new method to detect useless cases based on the computation of over-approximations of the inhabitants of inductive data types and contexts, and can produce - in a systematic way - a complete matching in Coq, ensuring that the logical power of the sysem remains unchanged.

Dependent Type Theory with Parameterized First-Order Data Types and Well-Founded Recursion

A variation of Martin-Lof's logical framework with "beta-iota-equality", extended with first-order parameterized algebraic data types and recursive pattern-matching definitions, from which a proof of normalization for the proposed system is obtained, and decidable type-correctness is obtained.