Skip to Main content Skip to Navigation

Principles of Program Verification for Arbitrary Monadic Effects

Abstract : Computational monads are a convenient algebraic gadget to uniformly represent side-effects in programming languages, such as mutable state, divergence, exceptions, or non-determinism. Various frameworks for specifying programs and proving that they meet their specification have been proposed that are specific to a particular combination of side-effects. For instance, one can use Hoare logic to verify the functional correctness of programs with mutable state with respect to pre/post-conditions specifications, which are predicates on states. The goal of this thesis is to devise a principled semantic framework for verifying programs with arbitrary monadic effects in a generic way with respect to such rich specifications. One additional challenge is supporting various interpretations of effects, for instance total vs partial correctness, or angelic vs demonic nondeterminism. Finally, the framework should also accommodate relational verification, for properties such as program equivalence.
Document type :
Complete list of metadatas

Cited literature [194 references]  Display  Hide  Download
Contributor : Kenji Maillard <>
Submitted on : Tuesday, December 17, 2019 - 7:16:11 PM
Last modification on : Thursday, October 29, 2020 - 3:01:46 PM
Long-term archiving on: : Wednesday, March 18, 2020 - 8:31:16 PM


Files produced by the author(s)


  • HAL Id : tel-02416788, version 1



Kenji Maillard. Principles of Program Verification for Arbitrary Monadic Effects. Computer Science [cs]. ENS Paris - Ecole Normale Supérieure de Paris, 2019. English. ⟨tel-02416788⟩



Record views


Files downloads