We study local interchangeability of values in constraint networks based on a new approach where a single value in the domain of a variable can be treated as a combination of "subvalues". We present an algorithm for breaking up values and combining identical fragments. Experimental results show that the transformed problems take less time to solve for all solutions and yield more compactly-representable, but equivalent, solution sets. We obtain new theoretical results on context dependent interchangeability and full interchangeability, and suggest some other applications.