FullSimplify
tries a wide range of transformations on expr involving elementary and special functions and returns the simplest form it finds.
Details and Options

- FullSimplify will always yield at least as simple a form as Simplify, but may take substantially longer.
- FullSimplify uses RootReduce on expressions that involve Root objects.
- FullSimplify does transformations on most kinds of special functions.
- With assumptions of the form ForAll[vars,axioms], FullSimplify can simplify expressions and equations involving symbolic functions. »
- You can specify default assumptions for FullSimplify using Assuming.
- The following options can be given:
-
Assumptions $Assumptions default assumptions to append to assum ComplexityFunction Automatic how to assess the complexity of each form generated ExcludedForms {} patterns specifying forms of subexpression that should not be touched TimeConstraint Infinity for how many seconds to try doing any particular transformation TransformationFunctions Automatic functions to try in transforming the expression Trig True whether to do trigonometric as well as algebraic transformations - Assumptions can consist of equations, inequalities, domain specifications such as x∈Integers, and logical combinations of these.
- With the setting TimeConstraint->{tloc,ttot}, at most tloc seconds are spent for any particular transformation, and at most ttot seconds are spent for all transformations before the best result is returned.
- FullSimplify can be used with symbolic array expressions.
Examples
open allclose allBasic Examples (3)Summary of the most common use cases
Scope (9)Survey of the scope of standard use cases

https://wolfram.com/xid/0i1l727rm-gn15it


https://wolfram.com/xid/0i1l727rm-eoa13z

Simplify a hyperbolic expression to an exponential form:

https://wolfram.com/xid/0i1l727rm-jau50d

Simplify an exponential expression to a trigonometric form:

https://wolfram.com/xid/0i1l727rm-n4ltu


https://wolfram.com/xid/0i1l727rm-wkkc7

Simplify transcendental numbers:

https://wolfram.com/xid/0i1l727rm-g49yew


https://wolfram.com/xid/0i1l727rm-org

Simplify expressions involving special functions:

https://wolfram.com/xid/0i1l727rm-e6p52g


https://wolfram.com/xid/0i1l727rm-cd3b29

Simplify expressions using assumptions:

https://wolfram.com/xid/0i1l727rm-caiq55


https://wolfram.com/xid/0i1l727rm-04wzf


https://wolfram.com/xid/0i1l727rm-mye1i

Prove theorems based on axiom systems:

https://wolfram.com/xid/0i1l727rm-n34


https://wolfram.com/xid/0i1l727rm-vei

Any expression can be used as a variable:

https://wolfram.com/xid/0i1l727rm-kjg

Variables not quantified in the axioms are treated as constants:

https://wolfram.com/xid/0i1l727rm-q6h

Prove existence of right inverses assuming left identity and left inverses exist:

https://wolfram.com/xid/0i1l727rm-gi5y5c

Simplify symbolic arrays expressions:

https://wolfram.com/xid/0i1l727rm-m1ej8a

Options (6)Common values & functionality for each option
Assumptions (1)
Assumptions can be given both as an argument and as an option value:

https://wolfram.com/xid/0i1l727rm-d7eor0

The default value of the Assumptions option is $Assumptions:

https://wolfram.com/xid/0i1l727rm-f8iglz

When assumptions are given as an argument, $Assumptions is used as well:

https://wolfram.com/xid/0i1l727rm-bgnpfp

Specifying assumptions as an option value prevents FullSimplify from using $Assumptions:

https://wolfram.com/xid/0i1l727rm-bwql49

ComplexityFunction (1)
By default, this expression is not simplified:

https://wolfram.com/xid/0i1l727rm-g7ett

This complexity function makes ChebyshevT more expensive than other functions:

https://wolfram.com/xid/0i1l727rm-bc51nt

https://wolfram.com/xid/0i1l727rm-bh97x6

ExcludedForms (1)
TimeConstraint (1)
This takes a long time due to expansion of trigonometric functions:

https://wolfram.com/xid/0i1l727rm-2h197j

The most time‐consuming transformation is not the one that does the simplification:

https://wolfram.com/xid/0i1l727rm-6jp5vq


With transformations restricted to 100 ms, the simplification does not happen:

https://wolfram.com/xid/0i1l727rm-7au2ut



TransformationFunctions (1)
By default, FullSimplify does not use Reduce:

https://wolfram.com/xid/0i1l727rm-j0qym7

This makes FullSimplify use Reduce with respect to x over the real domain:

https://wolfram.com/xid/0i1l727rm-bfueet

https://wolfram.com/xid/0i1l727rm-g80zix

Trig (1)
By default, FullSimplify uses trigonometric identities:

https://wolfram.com/xid/0i1l727rm-gghype

With Trig->False, FullSimplify does not use trigonometric identities:

https://wolfram.com/xid/0i1l727rm-esozdc

Applications (6)Sample problems that can be solved with this function
Prove that a solution satisfies its equations:

https://wolfram.com/xid/0i1l727rm-fp0ux8


https://wolfram.com/xid/0i1l727rm-cp122e


https://wolfram.com/xid/0i1l727rm-b3bll2


https://wolfram.com/xid/0i1l727rm-fhq33y


https://wolfram.com/xid/0i1l727rm-g8841z


https://wolfram.com/xid/0i1l727rm-lphq0e

Simplify expressions involving Mod:

https://wolfram.com/xid/0i1l727rm-pr5

Prove that an operation g with associativity, left neutral element, and left inverse defines a group:

https://wolfram.com/xid/0i1l727rm-jqe

Prove commutativity from Wolfram's minimal axiom for Boolean algebra:

https://wolfram.com/xid/0i1l727rm-oua

Prove that a fixed-point combinator exists:

https://wolfram.com/xid/0i1l727rm-qix

Prove a theorem about meet (⋁) and join (⋀):

https://wolfram.com/xid/0i1l727rm-cta

Properties & Relations (7)Properties of the function, and connections to other functions
The output is generically equivalent to the input:

https://wolfram.com/xid/0i1l727rm-j9dxpy

https://wolfram.com/xid/0i1l727rm-pn8gm


https://wolfram.com/xid/0i1l727rm-cwgk4

FullSimplify uses a wider range of transformations than Simplify:

https://wolfram.com/xid/0i1l727rm-sso


https://wolfram.com/xid/0i1l727rm-tco

FullSimplify uses several expansion transformations, including Expand:

https://wolfram.com/xid/0i1l727rm-ipw9wt


https://wolfram.com/xid/0i1l727rm-lams5c


https://wolfram.com/xid/0i1l727rm-isg7ez


https://wolfram.com/xid/0i1l727rm-jirvp


https://wolfram.com/xid/0i1l727rm-btimu3


https://wolfram.com/xid/0i1l727rm-zw0xn

PowerExpand makes special assumptions on input and is not used by FullSimplify:

https://wolfram.com/xid/0i1l727rm-7tfrd

ComplexExpand assumes variables to be real and is also not used by FullSimplify:

https://wolfram.com/xid/0i1l727rm-pucfc

FullSimplify uses several factoring transformations, including Factor:

https://wolfram.com/xid/0i1l727rm-igj44u


https://wolfram.com/xid/0i1l727rm-vb1k


https://wolfram.com/xid/0i1l727rm-5kyud


https://wolfram.com/xid/0i1l727rm-d2kyp

For algebraic numbers, RootReduce and ToRadicals are used:

https://wolfram.com/xid/0i1l727rm-gi9hib


https://wolfram.com/xid/0i1l727rm-jaud7k

For rational functions, Together and Apart are used:

https://wolfram.com/xid/0i1l727rm-mjhtr


https://wolfram.com/xid/0i1l727rm-gcqwo3

Possible Issues (3)Common pitfalls and unexpected behavior
Some of the transformations used by FullSimplify are only generically correct:

https://wolfram.com/xid/0i1l727rm-djctxy


https://wolfram.com/xid/0i1l727rm-beqnz5





Results of simplification of singular expressions are uncertain:

https://wolfram.com/xid/0i1l727rm-fo37ua

This result is caused by automatic evaluation:

https://wolfram.com/xid/0i1l727rm-ff19v1

Results of simplification may depend on the names of symbols:

https://wolfram.com/xid/0i1l727rm-hvqr6s


https://wolfram.com/xid/0i1l727rm-mxr4vn

Neat Examples (1)Surprising or curious use cases
FullSimplify knows about Fermat's last theorem:

https://wolfram.com/xid/0i1l727rm-q9ghq

Wolfram Research (1996), FullSimplify, Wolfram Language function, https://reference.wolfram.com/language/ref/FullSimplify.html (updated 2025).
Text
Wolfram Research (1996), FullSimplify, Wolfram Language function, https://reference.wolfram.com/language/ref/FullSimplify.html (updated 2025).
Wolfram Research (1996), FullSimplify, Wolfram Language function, https://reference.wolfram.com/language/ref/FullSimplify.html (updated 2025).
CMS
Wolfram Language. 1996. "FullSimplify." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/FullSimplify.html.
Wolfram Language. 1996. "FullSimplify." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/FullSimplify.html.
APA
Wolfram Language. (1996). FullSimplify. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FullSimplify.html
Wolfram Language. (1996). FullSimplify. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FullSimplify.html
BibTeX
@misc{reference.wolfram_2025_fullsimplify, author="Wolfram Research", title="{FullSimplify}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/FullSimplify.html}", note=[Accessed: 16-April-2025
]}
BibLaTeX
@online{reference.wolfram_2025_fullsimplify, organization={Wolfram Research}, title={FullSimplify}, year={2025}, url={https://reference.wolfram.com/language/ref/FullSimplify.html}, note=[Accessed: 16-April-2025
]}