Abstraction and refinement