0
$\begingroup$

I have an example where Reduce outputted

re = (R1 > R3 && R3 > 1 && mu0 < (mu1*mu3 (R1 - R3))/((-1 + R1) s0 *eta) && R2 < R1) || (R1 > 1 && R1 > R2 && mu1*mu3 (-R1 + R3) + mu0*(-1 + R1) s0*eta < 0 && R3 <= 1); 

I apologize to the responders for having forgotten to mention all parameters are positive, and in addition we know that R1>1 from a previous computation. So, for future experiments, me must add all the time these two assumptions:

cond=mu0 > 0 && mu1 > 0 && mu2 > 0 && mu3 > 0 && R1 > 0 && R2 > 0 && R3 > 0 && s0 > 0 && eta > 0&&R1>1; 

I perform again the simplification, using

re1 = FullSimplify[re, cond]; 

The answer re1 is much simpler than re, it is

mu1 mu3 (-R1 + R3) + mu0 (-1 + R1) s0 eta< 0 && R1 > R2 && (R1 > R3 || R3 <= 1) 

so using FullSimplify with conditions allowed Mathematica to realize that R1 > R2 and the complicated expression (CE), (written in re in two different ways) may be taken as common factors. The remaining || reveals that my previous hand analysis was wrong, there are two cases!

$\endgroup$
9
  • 1
    $\begingroup$ Note that the two versions of CE are not equivalent for all values of the variables: {mu0 < (mu1*mu3 (R1 - R3))/((-1 + R1) s0*eta), mu1*mu3 (-R1 + R3) + mu0*(-1 + R1) s0*eta < 0} /. {mu0 -> 1, mu1 -> 1, mu3 -> 1, R1 -> 3, R2 -> 2, R3 -> 1, s0 -> 1, eta -> -1} --> {False, True}. You might need to add appropriate assumptions. $\endgroup$ Commented Oct 1 at 10:25
  • 1
    $\begingroup$ @florin Can you write down the whole expression after assumed simplification? $\endgroup$ Commented Oct 1 at 10:31
  • 1
    $\begingroup$ @MichaelE2 Perhaps it is assumed s0 * eta > 0 then they would be equivalent I think. $\endgroup$ Commented Oct 1 at 10:49
  • 1
    $\begingroup$ @azerbajdzan I think they're still not equivalent unless some of the other conditions are assumed to be true. In other words, there remains some work to get from one form of CE to the other, and the extra conditions make it less likely that simplification will get it done. OTOH, there's this approach: R1 > 1 && FullSimplify[re, R1 > 1 && eta > 0 && s0 > 0]. One could include eta > 0 && s0 > 0 && outside FullSimplify[] to give a more accurate result. $\endgroup$ Commented Oct 1 at 11:28
  • 2
    $\begingroup$ If R1 - 1 is negative, they are not equivalent. R1 > 1 is a condition in one part of re and can be deduced in the other part of re -- that is the extra work I am talking about. Aside from any computational differences between a condition that may be True or False and an assumption that is taken to be True only, simplification mainly tries to eliminate complexity efficiently and probably does not pursue all possible deductions from the conditions in an expression. Assuming R1 > 1 to be True, allows FullSimplify[] to reduce complexity from the start and get things moving. $\endgroup$ Commented Oct 1 at 11:46

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.