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 (GCIC) that encompasses all three variations, and develop their metatheory. We first present a bidirectional elaboration of GCIC to a dependently-typed cast calculus, CastCIC, which elucidates the interrelation between typing, conversion, and the gradual guarantees. We use a syntactic model of CastCIC to inform the design of a safe, confluent reduction, and establish, when applicable, normalization. We study the static and dynamic gradual guarantees as well as the stronger notion of graduality with 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.
翻译:承认Coq 等校对助理的全面正式发展的考验,我们调查进化建筑(CIC)的微积分的逐渐变异,以便以不精确的类型和术语更迅速的原型。我们用不切实际的理论观察,逐渐地与CIC所依赖的产品下的宇宙正常化和封闭的关键特性之间的重要权衡。除了这个渐变的火三角外,我们探索CIC的逐渐化,采用三种不同的妥协,每个妥协都放松了火三角的边缘。我们开发一种渐进式CIC(GCIC)的均衡化演示,包括所有三种变异,并发展其元理论。我们首先用一种依赖性的刻变形微积分(CastCIC)进行双向的阐述,以说明CastCIC所享受的成成正统和封闭的产物。我们使用CastCIC的合成模型来指导安全、相容的减少,并在适用时建立正常化。我们研究静态和动态的逐步保证,以此作为更牢固的渐进式模型,同时使用嵌入式和铺路的模。