  Given a function based on the computation of an NP machine, can one in
general eliminate some solutions? That is, can one in general decrease the
ambiguity? This simple question remains, even after extensive study by many
researchers over many years, mostly unanswered. However, complexity-theoretic
consequences and enabling conditions are known. In this tutorial-style article
we look at some of those, focusing on the most natural framings: reducing the
number of solutions of NP functions, refining the solutions of NP functions,
and subtracting from or otherwise shrinking #P functions. We will see how small
advice strings are important here, but we also will see how increasing advice
size to achieve robustness is central to the proof of a key ambiguity-reduction
result for NP functions.
