8
$\begingroup$

I've run into this problem a number of times. A typical example is

Simplify[Sign[k], {0 < A, 0 < B, A*Exp[2*y] < k, y > 1}]

which evaluates to $1$, as it should. However, adding the additional, irrelevant assumption $B < A$

Simplify[Sign[k], {0 < A, 0 < B, B < A, A*Exp[2*y] < k, y > 1}]

now evaluates to Sign[k] which is undesirable.

This is just the most recent example I've run into where adding irrelevant assumptions prevents Simplify from simplifying. I am considering changing my code to prune the assumption list of irrelevant symbols before attempting to simplify. Is there any other way around this?

$\endgroup$
  • $\begingroup$ Have you tried reporting this to Wolfram Support? I have been thinking about this for a few days now, and can't seem to find an obvious reason why it should behave this way. $\endgroup$ – MarcoB May 24 '16 at 0:10
  • $\begingroup$ I've done that now. Thanks. $\endgroup$ – Ray May 24 '16 at 13:28
4
$\begingroup$

I received a prompt response from Wolfram Technical Support:

"...there is an option in system setting called 'AssumptionsMaxNonlinearVariables'. This option specifies the maximal number of variables in non-linear inequality assumptions. By default, this option is set as 4. After changing it to 5, the issue is solved"

SetSystemOptions["SimplificationOptions"->"AssumptionsMaxNonlinearVariables"->5];

Simplify[Sign[k],{0<A,0<B,B<A,A*Exp[2*y]<k,y>1}]

evalutes to 1.

This completely fixes the issue.

$\endgroup$
  • $\begingroup$ A,B,y,k..5? quick response is good anyway. $\endgroup$ – george2079 May 26 '16 at 1:45
  • $\begingroup$ Interesting! Thanks for reporting back. (+1) $\endgroup$ – MarcoB May 27 '16 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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