prop_monotonic :: (Ord a, Show a, Arbitrary a) => (a -> a -> a) -> PropBox
prop_monotonic f = atomProp "monotonic" prop
  where prop a b c d = f (min a c) (min b d) <= f (max a c) (max b d)
prop_monotonic :: (Ord a, Show a, Arbitrary a) => (a -> a -> a) -> PropBox
prop_monotonic f = atomProp "monotonic" prop
  where prop a b c d = f (min a c) (min b d) <= f (max a c) (max b d)
prop_monotonic f = atomProp "monotonic" prop
  where prop a b c d = f (min a c) (min b d) <= f (max a c) (max b d)