Data.Ord includes these methods:
compare :: a -> a -> Ordering
(<) :: a -> a -> Bool
(<=) :: a -> a -> Bool
(>) :: a -> a -> Bool
(>=) :: a -> a -> Bool
max :: a -> a -> a
min :: a -> a -> a
The minimal complete definition is compare | (<=).
I understand how the other methods can be determined from either of these two methods.
I don't understand why (>) (for example) can't also be used as a minimal complete definition. not (a > b) is equivalent to a <= b.
Was the decision for (>) to be excluded as a minimal complete definition arbitrary, or am I missing something?