Here, too...I think it should just be `if other_cond.subs(symbol, candidate)`. I hope removing it doesn't cause failures, but if it does this will need some more thought. Perhaps it will require solving only Piecewise that have one free symbol. But as to the soundness of what you are doing, all looks well. Do you want to look into removing the bool or commit what is here already?