Cost-Aware Type Theory

11/07/2020
by   Yue Niu, et al.
0

Although computational complexity is a fundamental aspect of program behavior, it is often at odds with common type theoretic principles such as function extensionality, which identifies all functions with the same input-output behavior. We present a computational type theory called 𝐂𝐀𝐓𝐓 that has a primitive notion of cost (the number of evaluation steps). We introduce a new dependent function type "funtime" whose semantics can be viewed as a cost-aware version of function extensionality. We prove a collection of lemmas for 𝐂𝐀𝐓𝐓, including a novel introduction rule for the new funtime type. 𝐂𝐀𝐓𝐓 can be simultaneously viewed as a framework for analyzing computational complexity of programs and as the beginnings of a semantic foundation for characterizing feasible mathematical proofs.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset