🤖 AI Summary
This work addresses the automated verification of linear-time temporal properties (e.g., safety) for higher-order programs featuring probabilistic and angelic nondeterministic effects. Methodologically, it establishes the first denotational semantics framework based on category theory—specifically, a generic product model—that reduces verification to weakest precondition computation over product programs. It identifies strong monad morphism preservation and fiber lifting existence as sufficient conditions for semantic reduction, enabling uniform modeling across diverse effect types. Contributions include: (1) the first fully automated linear-time temporal verification for probabilistic, higher-order recursive programs; (2) a scalable, categorical verification paradigm that accommodates complex computational effects; and (3) KuraVerif—an open-source verification tool built upon the Kura/Unno solver, the first to support such programs. The framework bridges theoretical semantics and practical automation, advancing both foundational verification methodology and tool-supported analysis of effectful higher-order recursion.
📝 Abstract
We propose a categorical framework for linear-time temporal verification of effectful higher-order programs, including probabilistic higher-order programs. Our framework provides a generic denotational reduction -- namely, a denotational product construction -- from linear-time safety verification of effectful higher-order programs to computation of weakest pre-conditions of product programs. This reduction enables us to apply existing algorithms for such well-studied computations of weakest pre-conditions, some of which are available as off-the-shelf solvers. We show the correctness of our denotational product construction by proving a preservation theorem under strong monad morphisms and an existence of suitable liftings along a fibration. We instantiate our framework with both probabilistic and angelic nondeterministic higher-order programs, and implement an automated solver for the probabilistic case based on the existing solver developed by Kura and Unno. To the best of our knowledge, this is the first automated verifier for linear-time temporal verification of probabilistic higher-order programs with recursion.