  Using the programming language Haskell, we introduce an implementation of
propositional calculus, number theory, and a simple imperative language that
can evaluate arithmetic and boolean expressions. Finally, we provide an
implementation of Hoare's logic which will allow us to deduce facts about
programs without the need for a full evaluation.
