In this blog post, I propose to make you discover how we deal with internal errors
and show that they do not occur while running the protocol! I will first give you
a glimpse of the so-called error monad (but without going into the details of
the notion of monad ๐). You actually don't need to have any knowledge of monads in computer programming or elsewhere to read this article: we will take them step by step. But
if you are already familiar on them, you can skim through the first parts of this post and have a look at the monadic let ... in
s we use and how we articulate them with validity predicates. We conclude by giving a first glimpse at how we use these validity predicates to manually specify information which is lost during the automatic translation
from OCaml to Coq.
The error monad, internal errors and validity predicates, step-by-step
ยท 10 min read