abstract refinements