DeepAI
Log In Sign Up

Gradualizing the Calculus of Inductive Constructions

11/20/2020
by   Meven Lennon-Bertrand, et al.
0

Acknowledging the ordeal of a fully formal development in a proof assistant such as Coq, we investigate gradual variations on the Calculus of Inductive Construction (CIC) for swifter prototyping with imprecise types and terms. We observe, with a no-go theorem, a crucial tradeoff between graduality and the key properties of normalization and closure of universes under dependent product that CIC enjoys. Beyond this Fire Triangle of Graduality, we explore the gradualization of CIC with three different compromises, each relaxing one edge of the Fire Triangle. We develop a parametrized presentation of Gradual CIC that encompasses all three variations, and develop their metatheory. We first present a bidirectional elaboration of Gradual CIC to a dependently-typed cast calculus, which elucidates the interrelation between typing, conversion, and the gradual guarantees. We use a syntactic model into CIC to inform the design of a safe, confluent reduction, and establish, when applicable, normalization. We also study the stronger notion of graduality as embedding-projection pairs formulated by New and Ahmed, using appropriate semantic model constructions. This work informs and paves the way towards the development of malleable proof assistants and dependently-typed programming languages.

READ FULL TEXT
10/11/2017

Consistency of the Predicative Calculus of Cumulative Inductive Constructions (pCuIC)

In order to avoid well-know paradoxes associated with self-referential d...
02/19/2020

Functional Pearl: The Distributive λ-Calculus

We introduce a simple extension of the λ-calculus with pairs—called the ...
02/12/2021

Complete Bidirectional Typing for the Calculus of Inductive Constructions

This article presents a bidirectional type system for the Calculus of In...
09/02/2022

A Reasonably Gradual Type Theory

Gradualizing the Calculus of Inductive Constructions (CIC) involves deal...
10/07/2022

Strong Normalization for the Calculus of Constructions

The calculus of constructions (CC) is a core theory for dependently type...
08/24/2019

Dependent Pearl: Normalization by realizability

For those of us who generally live in the world of syntax, semantic proo...
09/08/2020

On principal types and well-foundedness of terms in ECC

When we investigate a type system, it is helpful if we can establish the...