Abstract
There is a critical tension between substitution, dependent elimination and effects in type theory. In this paper, we crystallize this tension in the form of a no-go theorem that constitutes the fire triangle of type theory. To release this tension, we propose ∂CBPV, an extension of call-by-push-value (CBPV) —a general calculus of effects—to dependent types. Then, by extending to ∂CBPV the well-known decompositions of call-by-name and call-by-value into CBPV, we show why, in presence of effects, dependent elimination must be restricted in call-by-name, and substitution must be restricted in call-by-value. To justify ∂CBPV and show that it is general enough to interpret many kinds of effects, we define various effectful syntactic translations from ∂CBPV to Martin-Löf type theory: the reader, weaning and forcing translations.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
17 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Decalf: A Directed, Effectful Cost-Aware Logical Framework;Proceedings of the ACM on Programming Languages;2024-01-05
2. Partial Gradual Dependent Type Theory;Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity;2023-10-22
3. A Metalanguage for Cost-Aware Denotational Semantics;2023 38th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS);2023-06-26
4. Review of the role of safety engineers in the prevention and mitigation of fires during oil and gas plant design;Life Cycle Reliability and Safety Engineering;2023-04-29
5. The Theoretical Basis for Materials Testing;The Society of Fire Protection Engineers Series;2023