Should `predict_proba` output a valid probablities (``np.sum(probability) == 1`` and  ``np.all(probability >= 0.0)``)?

A short definition of the interface of ``decision_function`` and ``predict_proba`` would be great.