src/HOL/Library/Numeral_Type.thy
changeset 55142 378ae9e46175
parent 52147 9943f8067f11
child 56154 f0a927235162
equal deleted inserted replaced
55141:863b4f9f6bd7 55142:378ae9e46175
   282 lemmas bit1_induct [case_names of_int, induct type: bit1] = bit1.induct
   282 lemmas bit1_induct [case_names of_int, induct type: bit1] = bit1.induct
   283 
   283 
   284 lemmas bit0_iszero_numeral [simp] = bit0.iszero_numeral
   284 lemmas bit0_iszero_numeral [simp] = bit0.iszero_numeral
   285 lemmas bit1_iszero_numeral [simp] = bit1.iszero_numeral
   285 lemmas bit1_iszero_numeral [simp] = bit1.iszero_numeral
   286 
   286 
   287 declare eq_numeral_iff_iszero [where 'a="('a::finite) bit0", standard, simp]
   287 lemmas [simp] = eq_numeral_iff_iszero [where 'a="'a bit0"] for dummy :: "'a::finite"
   288 declare eq_numeral_iff_iszero [where 'a="('a::finite) bit1", standard, simp]
   288 lemmas [simp] = eq_numeral_iff_iszero [where 'a="'a bit1"] for dummy :: "'a::finite"
   289 
   289 
   290 subsection {* Order instances *}
   290 subsection {* Order instances *}
   291 
   291 
   292 instantiation bit0 and bit1 :: (finite) linorder begin
   292 instantiation bit0 and bit1 :: (finite) linorder begin
   293 definition "a < b \<longleftrightarrow> Rep_bit0 a < Rep_bit0 b"
   293 definition "a < b \<longleftrightarrow> Rep_bit0 a < Rep_bit0 b"