More properties of double
double_compare_to_input x
| x > 0 = double x > x
| x < 0 = double x < x
| x == 0 = True
double_minus_input x = double x - x == x
-- splitting an empty list results in an empty list
split char [] = []
split char str
| null after = before : []
| otherwise = before : split char (tail after)
where
before = takeWhile (/=char) str
after = dropWhile (/=char) str