let
differentiate f = (canonic (differentiate_aux (canonic f)))