is this correct? If P(x) >= p, then P(not x) < (1 - p) because all we know is that P(x) + P(not x) = 1.

Seems like the bound is wrong here.  Seems like we need to return Option[Boolean] because sometimes we just don't know.

I think you need withProbAtMost and if `isTrue == b` you can answer at least, otherwise you can answer atMost. Right?