This post is a general introduction to model checking, and is written in the style of a hands-on tutorial. The intended audience of this article are programmers of functional languages, such as Haskell, not afraid of monads, yet unfamiliar with model checking or bisimulation. (Since this is a tutorial, “you” is the reader, and “we” are the reader and the author.) We explore only the most basic con
![Model Checking: an Introduction to Bisimulation – Hans-Dieter Hiep](https://cdn-ak-scissors.b.st-hatena.com/image/square/ef0688d635cbf900d7de63de9f01a21fb8907516/height=288;version=1;width=512/http%3A%2F%2Fwww.hansdieterhiep.nl%2Fwp-content%2Fuploads%2F2017%2F02%2F022617_0345_ModelChecki7.png)