Mathematica spitting code back when using Resolve over a large range of interest

I’ve just started using Mathematica and have encountered my first issue. Below are two commands which only differ in the range of values I am asking Mathematica to check. The first works fine, but the second just immediately gives me the code back; no error message. What is causing this? Am I asking it to do too much? If so, why does it not signal a problem?




Please post code whenever possible instead of images
– Dr. belisarius
Sep 21 ’14 at 18:51


1 Answer


Mathematica is using an exhaustive search for your first example, testing each value of n from 2 to 2^10. By default it won’t use this method if the number of test cases exceeds 10000. So in your second example it cannot resolve the Exists expression and returns it unchanged.

You can increase the maximum number of points for the exhaustive search using

SetSystemOptions[“ReduceOptions” -> {“ExhaustiveSearchMaxPoints” -> {1000, 2^21}}]

then you get

Resolve[Exists[n, n ∈ Integers && 2^20 > n > 1, HarmonicNumber[n] > 10]]