Jonathan - while you were writing your comment, I was correcting mine: I realized I need some ways to make reagents "evaporate". Check it out. I think we're coming closer to agreement. But:

> Also, I'm a little confused by this homomorphism...

Yeah, the homomorphism I wrote down is not relevant to forgetting reagents. So, I'm actually handing some very different situation than the one in the puzzle.

A function between finite sets \\(A\\) and \\(B\\) gives rise to two monoid homomorphisms, the "pullback" going from \\( \mathbb{N}[B] \\) to \\( \mathbb{N}[A]\\) and the "pushforward" from \\( \mathbb{N}[A]\\) to
\\( \mathbb{N}[B] \\). In [comment #12]( I described the "pushforward", which is the wrong one for our puzzles. :-O