equal
deleted
inserted
replaced
215 |
215 |
216 lemmas int_distrib = |
216 lemmas int_distrib = |
217 zadd_zmult_distrib zadd_zmult_distrib2 |
217 zadd_zmult_distrib zadd_zmult_distrib2 |
218 zdiff_zmult_distrib zdiff_zmult_distrib2 |
218 zdiff_zmult_distrib zdiff_zmult_distrib2 |
219 |
219 |
220 lemma zmult_int: "(int m) * (int n) = int (m * n)" |
220 lemma int_mult: "int (m * n) = (int m) * (int n)" |
221 by (simp add: int_def mult) |
221 by (simp add: int_def mult) |
|
222 |
|
223 text{*Compatibility binding*} |
|
224 lemmas zmult_int = int_mult [symmetric] |
222 |
225 |
223 lemma zmult_1: "(1::int) * z = z" |
226 lemma zmult_1: "(1::int) * z = z" |
224 by (cases z, simp add: One_int_def int_def mult) |
227 by (cases z, simp add: One_int_def int_def mult) |
225 |
228 |
226 lemma zmult_1_right: "z * (1::int) = z" |
229 lemma zmult_1_right: "z * (1::int) = z" |
439 lemma int_eq_iff: "(int m = z) = (m = nat z & 0 \<le> z)" |
442 lemma int_eq_iff: "(int m = z) = (m = nat z & 0 \<le> z)" |
440 by (auto simp add: nat_eq_iff2) |
443 by (auto simp add: nat_eq_iff2) |
441 |
444 |
442 lemma zero_less_nat_eq [simp]: "(0 < nat z) = (0 < z)" |
445 lemma zero_less_nat_eq [simp]: "(0 < nat z) = (0 < z)" |
443 by (insert zless_nat_conj [of 0], auto) |
446 by (insert zless_nat_conj [of 0], auto) |
444 |
|
445 |
447 |
446 lemma nat_add_distrib: |
448 lemma nat_add_distrib: |
447 "[| (0::int) \<le> z; 0 \<le> z' |] ==> nat (z+z') = nat z + nat z'" |
449 "[| (0::int) \<le> z; 0 \<le> z' |] ==> nat (z+z') = nat z + nat z'" |
448 by (cases z, cases z', simp add: nat add le int_def Zero_int_def) |
450 by (cases z, cases z', simp add: nat add le int_def Zero_int_def) |
449 |
451 |