src/HOL/Integ/IntDef.thy
changeset 16413 47ffc49c7d7b
parent 15921 b6e345548913
child 16642 849ec3962b55
equal deleted inserted replaced
16412:50eab0183aea 16413:47ffc49c7d7b
   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