Specification, Implementation And Verification Of Refactorings