At its simplest, a property is a function which returns a Bool
.
prop_reverseDoesNotChangeLength xs = length (reverse xs) == length xs
A property declares a high-level invariant of a program. The QuickCheck test runner will evaluate the function with 100 random inputs and check that the result is always True
.
By convention, functions that are properties have names which start with prop_
.