[Haskell-cafe] Predicate logic (FOL) reasoning in Haskell