Add zero predicate to the new assumptions system

Even though zero = ~nonzero & real exactly, this ended up being more work than
it should have been.