Similar Items: Providing mechanical support for program development in a weakest precondition calculus