This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)


performs a sequence of algebraic and other transformations on expr, and returns the simplest form it finds.
does simplification using assumptions.
  • Simplify tries expanding, factoring, and doing many other transformations on expressions, keeping track of the simplest form obtained.
  • The following options can be given:
Assumptions$Assumptionsdefault assumptions to append to assum
ComplexityFunctionAutomatichow to assess the complexity of each form generated
TimeConstraint300how many seconds to try doing any particular transformation
TransformationFunctionsAutomaticfunctions to try in transforming the expression
TrigTruewhether to do trigonometric as well as algebraic transformations
  • Assumptions can consist of equations, inequalities, domain specifications such as xIntegers, and logical combinations of these.
  • Simplify can be used on equations, inequalities, and domain specifications.
  • Quantities that appear algebraically in inequalities are always assumed to be real.
Simplify can get further if assumptions are made about :
Click for copyable input
Click for copyable input
Click for copyable input
Simplify can get further if assumptions are made about :
Click for copyable input
Click for copyable input
Click for copyable input
Simplify a polynomial:
Simplify a rational expression:
Simplify a trigonometric expression:
Simplify an exponential expression:
Simplify an equation:
Simplify expressions using assumptions:
Use assumptions to prove inequalities:
Assumptions can be given both as an argument and as an option value:
The default value of the Assumptions option is $Assumptions:
When assumptions are given as an argument, $Assumptions is used as well:
Specifying assumptions as an option value prevents Simplify from using $Assumptions:
The default ComplexityFunction counts the subexpressions and digits of integers:
LeafCount counts only the number of subexpressions:
With the default ComplexityFunction, Abs[x] is simpler than the FullForm of -x:
This complexity function makes Abs more expensive than Times:
This gives no simplification:
Excluding transformations of allows Simplify to expand the remaining terms:
This takes a long time, due to trigonometric expansion, but does not yield a simplification:
Use TimeConstraint to limit the time spent on any single transformation:
A similar example, where the transformation yields a simplification:
In this case, setting TimeConstraint prevents some simplification:
Here Simplify uses t as the only transformation:
Here Simplify uses both t and all built-in transformations:
By default, Simplify uses trigonometric identities:
With Trig->False, Simplify does not use trigonometric identities:
Prove that a solution satisfies its equations:
Show that the arithmetic mean is larger than the geometric one:
This applies Fermat's little theorem:
Prove commutativity from Wolfram's minimal axiom for Boolean algebra:
Use Assuming to propagate assumptions:
Use FullSimplify to simplify expressions involving special functions:
Mathematica evaluates zero times a symbolic expression to zero:
This happens even if the symbolic expression is always infinite:
Because of this, results of simplification of expressions with singularities are uncertain:
In this case, FullSimplify recognizes the zero:
New in 1 | Last modified in 5