Don't duplicate functionality in relationship graph
Move short_predicate to Predicates class

Since that is where the functionality of sugaring/desugaring predicates
belongs, and it will allow the implementation of the lookup to be
improved.
Streamline an if/elsif chain