コンピュータ ソフトウェア
Print ISSN : 0289-6540
Monadic equational reasoning for while loops
KAWAKAMI RyujiGARRIGUE JacquesSAIKAWA TakafumiAFFELDT Reynald
著者情報
ジャーナル フリー

2026 年 43 巻 2 号 p. 2_42-2_55

詳細
抄録

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.

著者関連情報
© 2026, 日本ソフトウェア科学会
前の記事 次の記事
feedback
Top