The Wolfram Language includes functions for performing a variety of specific algebraic transformations. Some are algorithmically straightforward; others include highly sophisticated algorithms, many developed and refined at Wolfram Research.
Simplify — apply transformations to try to simplify an expression
FullSimplify — apply a full set of simplification transformations
FunctionExpand — attempt to expand in terms of more elementary functions
PowerExpand — expand powers, assuming positive real variables, etc.
ComplexExpand — expand complex functions into real and imaginary parts, etc.
Expand — expand out products and powers
Factor — factor sums into products and powers
Collect — collect similar terms together
Together — put over a common denominator
Apart — break apart into partial fractions
PiecewiseExpand — expand out piecewise functions into explicit components
RootReduce — try to merge all roots to a single root
ToRadicals — try to convert roots to explicit radicals
DifferentialRootReduce — reduce function combinations to a holonomic function
DifferenceRootReduce — reduce sequence combinations to a holonomic sequence
LogicalExpand — expand out Boolean expressions
BooleanConvert — convert a Boolean expression into canonical forms (DNF, CNF, etc.)
BooleanMinimize — find a minimal two-level Boolean form
Assumptions — assumptions to make
ComplexityFunction — how to rank the complexity of expressions