proposition: Theorem Euclidean_division_correct: {{Pre}} erase Euclidean_division {{Post}}.
proof: Proof. apply vcgen_correct. red; cbn. unfold aimp, aupdate, aand, afalse, atrue, Pre, Post, Inv; cbn. intuition auto. - lia. - apply Z.leb_gt in H0. apply Zdiv_unique with (s "r"). lia. auto. - apply Z.leb_gt in H0. apply Zmod_unique with (s "q"). lia. auto. - apply Z.leb_le in H0. lia. - lia. Qed.
imports: Coq(ZArith Psatz Bool String List Wellfounded Program.Equality) Coq(FunctionalExtensionality) CDF(IMP Sequences)