Propositional Equality for Gradual Dependently Typed Programming
Joseph Eremondi, Ronald Garcia, \'Eric Tanter

TL;DR
This paper introduces a gradual dependently typed language with propositional equality, enabling precise equality proofs and preserving key type-theoretic properties while supporting incremental typing and proof development.
Contribution
It proposes a novel equality type where proofs carry partial information, allowing extensionally equal functions to behave indistinguishably at runtime, addressing prior limitations.
Findings
Supports propositional equality in gradual dependent types
Ensures extensionally equal functions are indistinguishable at runtime
Proves type-safety, canonicity, and gradual guarantees
Abstract
Gradual dependent types can help with the incremental adoption of dependently typed code by providing a principled semantics for imprecise types and proofs, where some parts have been omitted. Current theories of gradual dependent types, though, lack a central feature of type theory: propositional equality. Lennon-Bertrand et al. show that, when the reflexive proof is the only closed value of an equality type, a gradual extension of CIC with propositional equality violates static observational equivalences. Extensionally-equal functions should be indistinguishable at run time, but the combination of equality and type imprecision allows for contexts that distinguish extensionally-equal but syntactically-different functions. This work presents a gradually typed language that supports propositional equality. We avoid the above issues by devising an equality type where…
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 · Software Engineering Research · Computability, Logic, AI Algorithms
