Skip to main content

How to manipulate expressions structurally, not necessarily complying with the rules of algebra.

Structural manipulation is not just about manipulating mathematical formulae algebraically but is also about adding/removing/replacing parts of expressions structurally, often without evaluating (parts of) the expression. Structural manipulation usually involves functions of the Hold family (Hold, HoldForm, HoldComplete, HoldPattern), controlled evaluation (Unevaluated, Evaluate, ReleaseHold) and replacement functions (With, Replace, ReplaceAll, etc.).

Related tags

For strict algebraic manipulation, use or . If your question is about how to withhold subexpressions from evaluation or how to evaluate only parts of expressions, use (or add) . Questions explicitly about replacing subexpressions should use .

Useful links

Example questions