Correction of Functional Logic Programs