# DefiniteIntegrationTools(R, F)¶

DefiniteIntegrationTools provides common tools used by the definite integration of both rational and elementary functions.

checkForZero: (Polynomial R, Symbol, OrderedCompletion F, OrderedCompletion F, Boolean) -> Union(Boolean, failed)

`checkForZero(p, x, a, b, incl?)` is `true` if `p` has a zero for `x` between a and `b`, `false` otherwise, “failed” if this cannot be determined. Check for a and `b` inclusive if incl? is `true`, exclusive otherwise.

checkForZero: (SparseUnivariatePolynomial F, OrderedCompletion F, OrderedCompletion F, Boolean) -> Union(Boolean, failed)

`checkForZero(p, a, b, incl?)` is `true` if `p` has a zero between a and `b`, `false` otherwise, “failed” if this cannot be determined. Check for a and `b` inclusive if incl? is `true`, exclusive otherwise.

computeInt: (Kernel F, F, OrderedCompletion F, OrderedCompletion F, Boolean) -> Union(OrderedCompletion F, failed)

`computeInt(x, g, a, b, eval?)` returns the integral of `f` for `x` between a and `b`, assuming that `g` is an indefinite integral of `f` and `f` has no pole between a and `b`. If `eval?` is `true`, then `g` can be evaluated safely at `a` and `b`, provided that they are finite values. Otherwise, limits must be computed.

ignore?: String -> Boolean

`ignore?(s)` is `true` if `s` is the string that tells the integrator to assume that the function has no pole in the integration interval.