Type-Based Termination for Futures
Siva Somayyajula, Frank Pfenning

TL;DR
This paper introduces a novel sized type scheme for futures-based concurrent functional languages, enabling precise termination analysis of recursive programs with complex, potentially infinite, recursive structures.
Contribution
It adapts sized types to the concurrent setting, extending the semi-axiomatic sequent calculus with recursion and arithmetic, and develops a new logical relations proof for termination.
Findings
Type recursive programs with infinitely deep derivations.
Derivations can be infinitely wide but finitely deep.
Termination can be proven using the new logical relations approach.
Abstract
In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the concurrent setting. We extend the semi-axiomatic sequent calculus, a subsuming paradigm for futures-based functional concurrency, and its underlying operational semantics with recursion and arithmetic refinements. The latter enables a new and highly general sized type scheme we call sized type refinements. As a widely applicable technical device, we type recursive programs with infinitely deep typing derivations that unfold all recursive calls. Then, we observe that certain such derivations can be made infinitely wide but finitely deep. The resulting trees serve as the induction target of our termination result, which we develop via a novel logical…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
