Is Sized Typing for Coq Practical?
Jonathan Chan, Yufeng Li, William J. Bowman

TL;DR
This paper introduces CIC*, a sized type theory for Coq that aims to improve termination and productivity checks through type-based methods, but finds practical implementation challenges due to performance issues.
Contribution
It develops CIC*, a sized type theory based on CIC with features for Coq, and implements a size inference algorithm within Coq's kernel for backward compatibility.
Findings
Size inference causes severe performance degradation in Coq
Type-based termination checking is more robust but less practical
Backward compatibility limits the practicality of size inference
Abstract
Contemporary proof assistants such as Coq require that recursive functions be terminating and corecursive functions be productive to maintain logical consistency of their type theories, and some ensure these properties using syntactic checks. However, being syntactic, they are inherently delicate and restrictive, preventing users from easily writing obviously terminating or productive functions at their whim. Meanwhile, there exist many sized type theories that perform type-based termination and productivity checking, including theories based on the Calculus of (Co)Inductive Constructions (CIC), the core calculus underlying Coq. These theories are more robust and compositional in comparison. So why haven't they been adapted to Coq? In this paper, we venture to answer this question with CIC, a sized type theory based on CIC. It extends past work on sized types in CIC…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Computability, Logic, AI Algorithms
