English

Cost-Aware Type Theory

Programming Languages 2020-11-11 v2

Abstract

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\textit{input-output} behavior. We present a computational type theory called CATT\mathbf{CATT} 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 CATT\mathbf{CATT}, including a novel introduction rule for the new funtime type. CATT\mathbf{CATT} 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.

Keywords

Cite

@article{arxiv.2011.03660,
  title  = {Cost-Aware Type Theory},
  author = {Yue Niu and Robert Harper},
  journal= {arXiv preprint arXiv:2011.03660},
  year   = {2020}
}
R2 v1 2026-06-23T19:58:38.337Z