Text this: Providing mechanical support for program development in a weakest precondition calculus