π€ AI Summary
This work proposes a composable program verification framework grounded in dependent type theory, designed to harmonize modular development with formal verification. The approach characterizes program interfaces using polynomial functors, models implementations via Kleisli morphisms of free monads, and encodes pre- and postconditions through dependent polynomials. Wiring diagrams are employed to support compositional reasoning about correctness. The key theoretical contribution lies in uncovering a lax monoidal structure mapping specifications to interfaces, together with compatible lax monoidal natural transformations between presheaves, thereby establishing a foundation for concurrent and relational verification scenarios. The entire framework has been formalized in Agda, demonstrating both its feasibility and strong compositional properties.
π Abstract
We present a framework for compositional program verification based on polynomial functors in dependent type theory. In this framework, polynomial functors serve as program interfaces, Kleisli morphisms for the free monad monad serve as implementations, and dependent polynomials encode pre/postcondition specifications. We show that implementations and their verifications compose via wiring diagrams, and that Mealy machines provide a compositional coalgebraic operational semantics. We identify the abstract categorical structure underlying this compositionality as a monoidal functor from specifications to interfaces with a compatible monoidal natural transformation of lax monoidal presheaves; this opens the door to generalizations to other categories, monoidal products, etc., including settings for concurrency and relational verification, which we sketch. As a proof-of-concept, the entire framework has been formalized in Agda.