Search code examples
wolfram-mathematicaintegral

Mathematica: Using 'Refine' with an unsolvable integral


I would like Mathematica to tell me whether an integral is positive or negative, given a list of assumptions. I'm attempting to do this using the 'Refine' command. I was not getting the result I wanted, so I simplified my assumptions to the following:

Clear[part1a, M, l, phi];
part1a = Integrate[D[M[q,P,k,phi,w,L,t,f,l,s,r,y,b,h,c],l], {phi, 1.5, Infinity}]
Refine[part1a<0, {part1a<0}]

The function M[q,P,k,phi,w,L,t,f,l,s,r,y,b,h,c] isn't specified, neither is the value of phi. I was surprised when Mathematica was still unable to tell me whether this was true or false, given the assumption.

Why would this be? Is there a way to make Refine work with an integral like this? Is there another command that's more appropriate? Eventually I want to use my original list of assumptions, but it seems that first I need to figure out why Refine[part1a<0, {part1a<0}] doesn't even work.

If you do the same process with a cleared part1a, it works just fine:

Clear[part1a];
Refine[part1a<0, {part1a<0}]

You will get

Out= True

Solution

  • I assume your real problem is that unevaluated integral appears as part of a larger expression.. (otherwise its rather trivial). Anyway first note that Simplify works:

     Simplify[ part1a < 0, Assumptions -> {part1a < 0}]
    

    True

    another trick is to first replace your expression with a symbol:

     Refine[ (part1a /. part1a -> int) < 0, {int < 0}]
    

    True