On Model-Checking Higher-Order Effectful Programs (Long Version)
Ugo Dal Lago, Alexis Ghyselen

TL;DR
This paper investigates the model-checking problem for higher-order effectful programs, revealing decidability boundaries and proposing a natural scheme to view such programs as recursion schemes, with implications for verification techniques.
Contribution
It introduces a novel perspective by viewing effectful higher-order programs as recursion schemes and analyzes the decidability of model checking with effect handlers.
Findings
Model checking is decidable for effectful programs with simple handlers.
General effect handlers lead to undecidability in model checking.
A framework for a potential specification language is proposed.
Abstract
Model-checking is one of the most powerful techniques for verifying systems and programs, which since the pioneering results by Knapik et al., Ong, and Kobayashi, is known to be applicable to functional programs with higher-order types against properties expressed by formulas of monadic second-order logic. What happens when the program in question, in addition to higher-order functions, also exhibits algebraic effects such as probabilistic choice or global store? The results in the literature range from those, mostly positive, about nondeterministic effects, to those about probabilistic effects, in the presence of which even mere reachability becomes undecidable. This work takes a fresh and general look at the problem, first of all showing that there is an elegant and natural way of viewing higher-order programs producing algebraic effects as ordinary higher-order recursion schemes. We…
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.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Logic, Reasoning, and Knowledge
