# How could I know if this function is strictly decreasing in m?

I have the following function:

((-2 b m - 2 w1 - 5 w2 + 3 m w2 + 7 w3 - 3 m w3 + Sqrt[
4 b^2 m^2 + (-2 w1 + w2 - 3 m w2 + w3 + 3 m w3)^2 +
4 b m (2 w1 + (5 - 3 m) w2 + (-7 + 3 m) w3)])/(6 (-1 + m) (w2 - w3)))


Subject to the following parameters restrictions:

w2 > w3 && w1 > 2 w2 - w3 && 0 < m < 1 && w3 > b > 0


I am trying to show that the previous function is strictly decreasing in m, given the range of the parameters. I tried to derivate the function, but the result is a very long expression. All the plots I did of the function gave me a strictly decreasing function.

Does anyone have an idea of how to solve this problem?

Pau

Is this what you're looking for?

expr = ((-2 b m - 2 w1 - 5 w2 + 3 m w2 + 7 w3 - 3 m w3 +
Sqrt[4 b^2 m^2 + (-2 w1 + w2 - 3 m w2 + w3 + 3 m w3)^2 +
4 b m (2 w1 + (5 - 3 m) w2 + (-7 + 3 m) w3)])/(6 (-1 + m) (w2 -
w3)));
assumptions = w2 > w3 && w1 > 2 w2 - w3 && 0 < m < 1 && w3 > b > 0;
Reduce[
D[expr, m] < 0
&&
assumptions
]


w2 > 0 && 0 < w3 < w2 && w1 > 2 w2 - w3 && 0 < b < w3 && 0 < m < 1

Simplify[%, Assumptions -> assumptions]


True

# Edit

I modified the answer after I noticed that 0 < m < 1 is part of your assumptions.

• Thank you for your comment! However, I dont understand why the answer of your code is the assumptions of the parameters? Is not clear to me, why 0 < m < 1 should tell me that the function is not universally decreasing in m. Aug 13, 2020 at 8:55
• @pau1996 Reduce simply finds the a simpler way to state the same thing as you put in, so the assumptions you put in have to come back out again in some way. See, for example, Reduce[x^2 + y^2 < 1 && x > 0, {x, y}]. The fact that 0 < m < 1 is part of the output tells you that this is a requirement for D[expr, m] < 0. In other words, for other values of m is isn't true. Try adding m > 1 to the assumptions: Reduce will return False then. Aug 13, 2020 at 9:19
• @pau1996 Oh, wait. I didn't catch that 0 < m < 1 is part of your assumptions. In that case, the fact that the assumptions come back tells you that D[expr, m] < 0 is indeed true. Aug 13, 2020 at 9:22
• Ok, thank you! I did not make it sufficiently clear. Aug 13, 2020 at 9:35
• @pau1996 The line with Simplify takes the previous output (%) and, well, simplifies it using the assumptions given. Unlike Reduce, Simplify will not return the given assumptions but only reduce the target expression under the assumptions provided. You can also use FullSimplify for more complicated expressions. Reduce, on the other hand, is generally the most powerful. I recommend searching around in the documentation and on SE if you want to learn more. If you have a specific question about these functions, please post a new question. Aug 13, 2020 at 10:17