A Core Calculus for Data Refinement