Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using Mathematica 8

I've been searching the net without luck for this specific solutions:

Suppose I have an inequality f(x;M,m)>0 where I KNOW that M>4m and m>0. How can I let Mathematica know this so that when solving the inequality using Reduce I don't get twenty irrelevant solutions, but instead only solutions where 0<4m

I've used assumptions and so on but without luck, for instance:

Assuming[m > 0, Reduce[(x + m)*(x - m) < 0]]


x \[Element] Reals && (m < -Sqrt[x^2] || m > Sqrt[x^2])

m<-Sqrt is unnecessary here, so why does Mathematica write it out? How can we stop it?

share|improve this question
Like Reduce[{(x + m)*(x - m) < 0, m > 0}]? – J. M. Apr 11 '13 at 18:24
Hey thanks for the works. Also it seems that one can have several constraints by using a simple comma. Thanks man! – Ker Apr 11 '13 at 18:27
Just fit everything into a list: Reduce[{equation, inequality1, inequality2, ...}] – J. M. Apr 11 '13 at 18:28
up vote 9 down vote accepted

Although the comments already solved the problem, here is an answer with slight additions:

Assumptions and the command Assuming (which makes assumptions locally), don't affect Reduce. A good way to check whether a given command (say Solve) is affected by Assuming is to look through the Options for that function and see if Assumptions is among them. If not, then Assuming won't work either (at least to my knowledge).

So if you want to use Reduce inside Assuming and make sure that Reduce obeys the assumptions, you could include them in the list of expressions as follows:

Assuming[m > 0, Reduce[{$Assumptions, (x + m)*(x - m) < 0}]]

(* ==> m > 0 && -Sqrt[m^2] < x < Sqrt[m^2] *)

Here I'm invoking the variable $Assumptions in a list together with the inequality that I want Reduce to work with.

share|improve this answer
I cannot recall seeing that method before. +1 – Mr.Wizard Apr 13 '13 at 3:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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