# why FullSimplify is needed here when Simplify alone should have been enough?

I am not sure why FullSimplify was needed here.

ClearAll[x]
Simplify[x-Sign[x] Abs[x]]


But

ClearAll[x]
FullSimplify[x-Sign[x] Abs[x]]


In both cases, no assumptions are used. There are no special functions involved. There are no roots objects? No trig functions.

My question is, why FullSimplify was needed for this? What additional rules was used by FullSimplify which is not used by Simplify in this example?

Version 11.1 on windows 7

• Because Sign[z] == Exp[I Arg[z]] is verified only by a transformation done by FullSimplify (for complex z). – Michael E2 Apr 24 '17 at 1:09

You don't have to use FullSimplify, you can use use Simplify.

In:

Assuming[x \[Element] Complexes , Simplify[f[x]]] /.
Sign[x] -> x/Abs[x]
Assuming[x \[Element] Reals, Simplify[f[x]]]


Out:

0
0