equal
deleted
inserted
replaced
409 |
409 |
410 theorem conj_le_cong: "(0 <= x \<Longrightarrow> P = P') \<Longrightarrow> (0 <= (x::int) \<and> P) = (0 <= x \<and> P')" |
410 theorem conj_le_cong: "(0 <= x \<Longrightarrow> P = P') \<Longrightarrow> (0 <= (x::int) \<and> P) = (0 <= x \<and> P')" |
411 by (simp cong: conj_cong) |
411 by (simp cong: conj_cong) |
412 lemma int_eq_number_of_eq: |
412 lemma int_eq_number_of_eq: |
413 "(((number_of v)::int) = (number_of w)) = iszero ((number_of (v + (uminus w)))::int)" |
413 "(((number_of v)::int) = (number_of w)) = iszero ((number_of (v + (uminus w)))::int)" |
414 by simp |
414 by (rule eq_number_of_eq) |
415 |
415 |
416 lemma mod_eq0_dvd_iff[presburger]: "(m::nat) mod n = 0 \<longleftrightarrow> n dvd m" |
416 lemma mod_eq0_dvd_iff[presburger]: "(m::nat) mod n = 0 \<longleftrightarrow> n dvd m" |
417 unfolding dvd_eq_mod_eq_0[symmetric] .. |
417 unfolding dvd_eq_mod_eq_0[symmetric] .. |
418 |
418 |
419 lemma zmod_eq0_zdvd_iff[presburger]: "(m::int) mod n = 0 \<longleftrightarrow> n dvd m" |
419 lemma zmod_eq0_zdvd_iff[presburger]: "(m::int) mod n = 0 \<longleftrightarrow> n dvd m" |