Suppose I have a set of assumptions assum = x ∈ Reals && y ∈ Reals and I want to test an assertion like

ineq = (-(x^2*y) + x^2*Sqrt[y*(-x^2 + y)])/(-(x^2*y) + Sqrt[-(x^2*y*(-x^2 + y))]) > 1

How do I do this functionally?

FullSimplify[assum && ineq];

Refine[assum && ineq];

Assuming[assum, Assumptions`AImpossibleIneqQ[ineq]]; 

All fail to give the correct answer (first two should give False, last one `True). What to do???

The only hack I can think of, which is not functional, and which I wish to avoid is:

$Assumptions = assum && ineq;

and look for a $Assumptoins::cas error. But I want to avoid this. What is the function Mathematica is using to resolve a set of assumptions???

  • 1
    $\begingroup$ Reduce[ineq, {x, y}] gives False even without the assumptions... Am I missing something? $\endgroup$ – Marius Ladegård Meyer Aug 5 '18 at 21:58
  • $\begingroup$ @MariusLadegårdMeyer I definitely missed that thanks! Please answer it so I can accept. Please also point out that if I want to include additional assumptions, they have to be appended with And. $\endgroup$ – QuantumDot Aug 5 '18 at 22:23
  • $\begingroup$ I'd rather you self-answer the post :) That way you know what to include, and maybe you have a nice example showing how it works as well. $\endgroup$ – Marius Ladegård Meyer Aug 5 '18 at 22:25

Your Answer

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

Browse other questions tagged or ask your own question.