The Calc Library

The Calc library defines the Limit, Derivative, and Integral objects along with variations on these objects and several supporting objects. It extends commands like Simplify, Expand, etc. to act on the new objects. Integrals and derivatives are calculated using the Execute command.

The Calc library introduces three main objects, the Limit, the Derivative and the Integral. The Derivative and Integral object are created as operators and are used with the On object.


The Execute command is used to evaluate derivatives. Examples include expressions like:

Note that some basic simplification is done on derivatives but they are not necessarily simplified all the way to their simplest form.

The Expand command can be used to evaluate derivatives one step at a time. For example, you get the right-hand side of this expression by applying the Expand command to the left-hand side:

which is just an application of the general rule for derivatives of products:

Basic Integrals

The Execute command is also used to evaluate integrals. Examples include expressions like:

Constants and numeric values can be pull out in front of an integral using the Simplify command.

Integration by Parts

The Execute command on an integral will test to see if the integral has a form that allows evaluation using integration by parts. In addition, you can control how integration by parts is applied to an integral by moving terms into the differential before using the Execute command. For example, if you have the integral:

you can highlight the e^x term, press Shift + Right arrow to also highlight the dx term and then use the Equivalence command to get:

Now you can use the Execute command to get:

The Equivalence command can also be used on

It just does a direct application of:

Integration using u-Substitution

Integrals involving u-substitution can be evaluated by highlighting two expressions and applying the Execute command. For example, highlighting these two expressions:

and applying the Execute command results in:

BETA RELEASE NOTE: The u-substitution functionality is still only partially implemented in the beta version, so there are a relatively limited range of integrals where this approach will work.


Constants (for purposes of integration and differentiation) are signified by moving the object to the Constants namespace.

When a derivative or integral is evaluated using the Execute command, it's understood that any term in the Constants namespace should be assumed to be a constant. These terms have a derivative of zero and can be pulled out of integral objects.

In Standard notation, objects in the Constants namespace are rendered in a different color.


The range of integrals that can be evaluated in the current beta version is still fairly limited.