cook-levin theorem proof