Cleaned up some edge cases with infinity in predications.rb

The logic was a bit counter-intuitive and redundant, I think it's a bit more elegant now.