Describir: Verifying Procedural Programs via Constrained Rewriting Induction