I am using the Simplify and Reduce functions to reduce inequalities, but somehow the function Simplify does not consistently give "True" when the inequality happens to be one of the assumptions. Could you help me understand this output?

Here is a simple example that works as expected:

Simplify[Reduce[x >  y /(a + b)], Assumptions -> x > y  /(a + b)]

This gives: True

But this one does not:

Simplify[Reduce[x > y z/(a + b)], Assumptions -> x > y z /( a + b)]

This gives: a + b != 0

Thank you.


1 Answer 1


This has to do with the maximum number of non-linear variables which is set to 4 by default. Changing this parameter solves my issue:

SetSystemOptions["SimplificationOptions" -> {"AssumptionsMaxNonlinearVariables" ->  10}];

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.