Similar Items: The role of logical interpretations in program development