Lifting functions with arbitrary number of arguments
Gathering and checking inequalities when grounding variables