# Simplify doesn't simplify some simple inequalities

I have an pair of inequalities joined by Or that I can't get Simplify or FullSimplify to simplify:

Simplify[x > y || x > y + z, Assumptions -> {x > 0, y > 0, z > 0}]
(* x > y || x > y + z *)


when I expected

(* x > y *)


since x > y + z seems to imply x > y when z > 0.

Any ideas on how to get this result? (unless I'm making a boneheaded logical error myself :)

• Perhaps, you should advise Wolfram, Inc of this problem. Oct 14, 2016 at 19:27
• I hadn't considered it an actual bug, but that may be worth a shot. Oct 14, 2016 at 20:45

Use Reduce instead.

Reduce[(x > y || x > y + z) && x > 0 && y > 0 && z > 0]
(* y > 0 && x > y && z > 0 *)


Edit: As suggested by Julien Kluge, using Refine as well produces a cleaner answer.

Refine[Reduce[(x > y || x > y + z), (x | y | z) ∈ Reals] , x > 0 && y > 0 && z > 0]
(* y < x *)

• This could be further shortened if we use Refine with the same Assumptions as above. Oct 13, 2016 at 21:26
• No no. Reduce is nessecary. Refine would only be useful to shorten your output to the expected x>y. Oct 13, 2016 at 21:32
• Both of these functions are unfamiliar to me, so thanks! Unfortunately I won't know what the variables are in my application, so Reduce isn't so great for that application. Oct 14, 2016 at 2:14