fix a bug of Multiplicative instance of Data.Sign
add test/TestCongruenceClosure.hs
clean up a bit