speculate (hackage): Speculate automatically discovers laws about Haskell functions. Give Speculate a bunch of Haskell functions and it will discover laws like:  equations, such as  id x == x ;  inequalities, such as  0 <= x * x ;  conditional equations, such as  x <= 0  ==>  x + abs x == 0 .
Keywords: bsd3|library|testing|enumerative-testing|haskell|leancheck|property-based-testing|property-discovery|property-testing|theory-exploration