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


does simplification using assumptions.

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$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
    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.
  • 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.


open all close all

Basic Examples  (3)

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

Scope  (8)

Options  (8)

Applications  (6)

Properties & Relations  (7)

Possible Issues  (3)

Neat Examples  (1)

Introduced in 1996
Updated in 2014