Propositional logic theorem prover in Haskell