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

Can someone explain to me why the following does not simplify to True (as all constituents are positive)?


Most special cases including e=0 or a=b,... do simplify correctly.

What I eventually want to do is to simplify expressions of the kind


which should evaluate to a+b/(c+(d-e)^2) under given assumptions.

Any workarounds?

What I ended up doing for larger expressions was this:


It's not particularly pretty, but it works. Thanks to ssch for the idea!

share|improve this question
up vote 6 down vote accepted

One workaround is to use Reduce instead, and simplify that with FullSimplify:

assum=And @@ Thread[{a, b, c, d, e} > 0];
Reduce[assum && a + b/(c + (d - e)^2) > 0]
(* Out: e > 0 && d > 0 && c > 0 && b > 0 && a > 0 *)
FullSimplify[%, assum]
(* Out: True *)
share|improve this answer
Good idea! Should have thought of that... – sebhofer Jul 9 '12 at 18:10
I just realized that this actually doesn't help me. What I would like is Mathematica to simplify Abs[a + b/(c + (d - e)^2)] for given assumptions. – sebhofer Jul 9 '12 at 18:25

Either of the below logical formulations will handle this. Generic simplifiers might or might not react well to logical expressions.

In[21]:= Resolve[
 ForAll[{a, b, c, d, e}, 
  Implies[And @@ Thread[{a, b, c, d, e} > 0], 
   a + b/(c + (d - e)^2) > 0]]]

Out[21]= True

In[20]:= Resolve[
 ForAll[{a, b, c, d, e}, And @@ Thread[{a, b, c, d, e} > 0], 
  a + b/(c + (d - e)^2) > 0]]

Out[20]= True
share|improve this answer
That's very interesting to know! I didn't even know Resolve existed. But is there also a way to simplify Abs[...]? Of course I could do a replacement and apply your trick (or ssch's) but that's not very elegant. – sebhofer Jul 9 '12 at 19:24
Might be a straightforward way but none is coming to mind right now. – Daniel Lichtblau Jul 9 '12 at 19:43

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.