Author:
VYTINIOTIS DIMITRIOS,WEIRICH STEPHANIE
Abstract
AbstractPropositions that express type equality are a frequent ingredient of modern functional programming – they can encode generic functions, dynamic types, and GADTs. Via the Curry–Howard correspondence, these propositions are ordinary types inhabited by proof terms, computed using runtime type representations. In this paper we show that two examples of type equality propositions actually do reflect type equality; they are only inhabited when their arguments are equal and their proofs are unique (up to equivalence.) We show this result in the context of a strongly normalizing language with higher-order polymorphism and primitive recursion over runtime-type representations by proving Reynolds's abstraction theorem. We then use this theorem to derive “free” theorems about equality types.
Publisher
Cambridge University Press (CUP)
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. GADTs are not (Even partial) functors;Mathematical Structures in Computer Science;2024-08-27
2. The Essence of Generalized Algebraic Data Types;Proceedings of the ACM on Programming Languages;2024-01-05
3. GADTs, Functoriality, Parametricity: Pick Two;Electronic Proceedings in Theoretical Computer Science;2022-04-08
4. (Deep) induction rules for GADTs;Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs;2022-01-11
5. Type-Based Declassification for Free;Formal Methods and Software Engineering;2020