# What exactly does GenerateConditions do?

Consider for example this strange behavior:

Integrate[1/x, {x, 0, Infinity}, GenerateConditions -> False]
(*0*)


I'd also like to know the difference between GenerateConditions -> Automatic and GenerateConditions -> True.

• Seems to be a bug; I suspect an examination of the mess produced by TracePrint[Integrate[1/x, {x, 0, Infinity}, GenerateConditions -> False], TraceInternal -> True] might give a few clues. – J. M.'s technical difficulties Oct 18 '12 at 22:35

## 1 Answer

Here is a quick description.

GenerateConditions -> False will both skip some code for checking parameter regions of validity for an integral, and also a regularized integral might be computed. This interface should probably be improved but I've no idea if or when that might happen.

GenerateConditions -> Automatic behaves like True for single definite integrals. In the multiple case it behaves like False for all inner integrals, and True for the final integration step. The reason is that the ability to spawn conditions is more powerful than the code required to sort through them, so defaulting to True at all levels might keep many inputs from running to completion.

There are probably exceptions to this general categorization.