proof rewrite