  Let C be some class of objects equipped with a set of simplifying moves. When
we apply these to a given object M in C as long as possible, we get a root of
M.
  Our main result is that under certain conditions the root of any object
exists and is unique. We apply this result to different situations and get
several new results and new proofs of known results. Among them there are a new
proof of the Kneser-Milnor prime decomposition theorem for 3-manifolds and
different versions of this theorem for cobordisms, knotted graphs, and
orbifolds.
