Improvements to inequality solving

fixes #8206 (please feel free to any others that are related that also work with these changes)
fixes #8518
Unfortunately, this was made a public function and no such requirement is stated. IMO only `reduce_inequalities` should be made public.