make uses of bin_split respect int/bin distinction
authorhuffman
Thu, 23 Feb 2012 15:23:16 +0100
changeset 46610 0c3a5e28f425
parent 46609 5cb607cb7651
child 46616 cd0e6841ab9c
child 46617 8c5d10d41391
make uses of bin_split respect int/bin distinction
src/HOL/Word/Bit_Int.thy
--- a/src/HOL/Word/Bit_Int.thy	Thu Feb 23 15:19:31 2012 +0100
+++ b/src/HOL/Word/Bit_Int.thy	Thu Feb 23 15:23:16 2012 +0100
@@ -519,13 +519,9 @@
 lemma bin_split_zero [simp]: "bin_split n 0 = (0, 0)"
   by (induct n) auto
 
-lemma bin_split_Pls [simp]:
-  "bin_split n Int.Pls = (Int.Pls, Int.Pls)"
-  unfolding Pls_def by (rule bin_split_zero)
-
-lemma bin_split_Min [simp]:
-  "bin_split n Int.Min = (Int.Min, bintrunc n Int.Min)"
-  by (induct n) (auto simp: Let_def split: ls_splits)
+lemma bin_split_minus1 [simp]:
+  "bin_split n -1 = (-1, bintrunc n -1)"
+  by (induct n) auto
 
 lemma bin_split_trunc:
   "bin_split (min m n) c = (a, b) ==> 
@@ -553,7 +549,7 @@
 
 lemma bin_split_num:
   "bin_split n b = (b div 2 ^ n, b mod 2 ^ n)"
-  apply (induct n arbitrary: b, simp add: Pls_def)
+  apply (induct n arbitrary: b, simp)
   apply (simp add: bin_rest_def zdiv_zmult2_eq)
   apply (case_tac b rule: bin_exhaust)
   apply simp