The call-by-push-value λ-calculus allows for syntactically specifying the order of evaluation as part of the term language. Hence, it serves as a unifying language for embedding various evaluation strategies including call-by-value and call-by-name. Given the impact of call-by-push-value, it is remarkable that its adequacy as a model for computational complexity theory has not yet been studied. In this paper, we show that the call-by-push-value λ-calculus is reasonable for both time and space complexity. A reasonable cost model can encode other reasonable cost models with polynomial overhead in time and constant factor overhead in space. We achieve this by encoding call-by-push-value λ-calculus into Turing machines, following a simulation strategy by Forster et al.; for the converse direction, we prove that Levy’s encoding of the call-by-value λ-calculus has reasonable complexity bounds. The main results have been formalised in the HOL4 theorem prover.
@InProceedings{chen_et_al:LIPIcs.ITP.2025.7, author = {Chen, Zhuo Zoey and \r{A}man Pohjola, Johannes and Rizkallah, Christine}, title = {{A Verified Cost Model for Call-By-Push-Value}}, booktitle = {16th International Conference on Interactive Theorem Proving (ITP 2025)}, pages = {7:1--7:19}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-396-6}, ISSN = {1868-8969}, year = {2025}, volume = {352}, editor = {Forster, Yannick and Keller, Chantal}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2025.7}, URN = {urn:nbn:de:0030-drops-246067}, doi = {10.4230/LIPIcs.ITP.2025.7}, annote = {Keywords: lambda calculus, formalizations of computational models, computability theory, HOL, call-by-push-value reduction, time and space complexity, abstract machines} }
Feedback for Dagstuhl Publishing