Computer Software
Print ISSN : 0289-6540
Monadic equational reasoning for while loops
Ryuji KAWAKAMI, Jacques GARRIGUE, Takafumi SAIKAWA, Reynald AFFELDT
Author information
JOURNAL FREE ACCESS

2026 Volume 43 Issue 2 Pages 2_42-2_55

Details
Abstract

Rocq's Monae library allows for the verification of computational effects in programs using monadic equational reasoning. Monae can currently handle various effects by supporting different monads, such as the state monad and the probability monad. However, it does not yet support non-structurally recursive functions. On the other hand, the Delay monad, which is defined coinductively, is known to be able to express general recursive functions. In this paper, we define an interface presenting the Delay monad as a complete Elgot monad and formally prove its soundness. This allows to verify programs containing while loops using Monae. Moreover, by combining it with other monads using monad transformers, it is also possible to verify programs that contain some additional computational effects in Monae.

Content from these authors
© 2026, Japan Society for Software Science and Technology
Previous article Next article
feedback
Top