Haskell library for writing proofs