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


tries a wide range of transformations on expr involving elementary and special functions, and returns the simplest form it finds.
does simplification using assumptions.
  • FullSimplify will always yield at least as simple a form as Simplify, but may take substantially longer.
  • The following options can be given:
Assumptions$Assumptionsdefault assumptions to append to assum
ComplexityFunctionAutomatichow to assess the complexity of each form generated
ExcludedForms{}patterns specifying forms of subexpression that should not be touched
TimeConstraintInfinityfor how many seconds to try doing any particular transformation
TransformationFunctionsAutomaticfunctions to try in transforming the expression
  • FullSimplify does transformations on most kinds of special functions.
  • With assumptions of the form ForAll, FullSimplify can simplify expressions and equations involving symbolic functions. »
Simplify an expression involving special functions:
Simplify using assumptions:
Prove a simple theorem from the assumption of associativity:
Simplify an expression involving special functions:
Click for copyable input
Simplify using assumptions:
Click for copyable input
Prove a simple theorem from the assumption of associativity:
Click for copyable input
Simplify polynomials:
Simplify a hyperbolic expression to an exponential form:
Simplify an exponential expression to a trigonometric form:
Simplify an algebraic number:
Simplify transcendental numbers:
Simplify expressions involving special functions:
Simplify expressions using assumptions:
Prove theorems based on axiom systems:
Any expression can be used as a variable:
Variables not quantified in the axioms are treated as constants:
Prove existence of right inverses assuming left identity and left inverses exist:
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 are used as well:
Specifying assumptions as an option value prevents FullSimplify from using $Assumptions:
By default this expression is not simplified:
This complexity function makes ChebyshevT more expensive than other functions:
This gives a result in terms of Arg[x]:
This specifies that Log should not be transformed:
This takes a long time due to expansion of trigonometric functions:
The most time-consuming transformation is not the one that does the simplification:
With transformations restricted to 100 ms the simplification does not happen:
By default FullSimplify does not use Reduce:
This makes FullSimplify use Reduce with respect to x over the real domain:
By default FullSimplify uses trigonometric identities:
With Trig->False, FullSimplify does not use trigonometric identities:
Prove that a solution satisfies its equations:
Simplify expressions involving Mod:
Prove that an operation with associativity, left neutral element and left inverse defines a group:
Prove commutativity from Wolfram's minimal axiom for Boolean algebra:
Prove that a fixed point combinator exists:
Prove a theorem about meet () and join ():
The output is generically equivalent to the input:
FullSimplify uses a wider range of transformations than Simplify:
FullSimplify uses several expansion transformations, including Expand:
PowerExpand makes special assumptions on input and is not used by FullSimplify:
ComplexExpand assumes variables to be real and is also not used by FullSimplify:
FullSimplify uses several factoring transformations, including Factor:
For algebraic numbers, RootReduce and ToRadicals are used:
For rational functions, Together and Apart are used:
Some of the transformations used by FullSimplify are only generically correct:
Results of simplification of singular expressions are uncertain:
This result is caused by automatic evaluation:
FullSimplify knows about Fermat's last theorem:
New in 3 | Last modified in 6