Is there any reason not to write zero = S.true? (I'm sorry, I'm probably not the best to be reviewing this since I don't recall the problems with not having SymPy versions of True and False so I'm not seeing the big picture here.)