rewrite proof work; [DOES NOT COMPILE]