Reduce[
a >= 0 && b >= 0 && c >= 0 && d >= 0 &&
a + b + c > 0 &&
a >= d,
{a, b, c, d}]
Returns the following solutions
(a == 0 && ((b == 0 && c > 0 && d == 0) || (b > 0 && c >= 0 && d == 0)))
|| (a > 0 && b >= 0 && c >= 0 && 0 <= d <= a)
I have no problems with the solution on the second line, the first line have spawned two questions.
Why isn't
d == 0
extracted from the OR statement, like so :(a == 0 && d == 0 && ((b == 0 && c > 0) || (b > 0 && c >= 0))
Now, let's simplify the problem to address the second question:
Reduce[ a >= 0 && b >= 0 && a + b > 0, {a, b}]
Returns the following solutions
(a == 0 && b > 0) (a > 0 && b >= 0)
But not these two:
(a > 0 && b == 0) (a >= 0 && b > 0)
Why?
Thanks!