src/HOL/Library/Numeral_Type.thy
changeset 29999 da85a244e328
parent 29998 19e1ef628b25
child 30001 dd27e16677b2
equal deleted inserted replaced
29998:19e1ef628b25 29999:da85a244e328
   345            "Abs_bit1 :: int \<Rightarrow> 'a::finite bit1"
   345            "Abs_bit1 :: int \<Rightarrow> 'a::finite bit1"
   346   ..
   346   ..
   347 
   347 
   348 text {* Set up cases, induction, and arithmetic *}
   348 text {* Set up cases, induction, and arithmetic *}
   349 
   349 
   350 lemmas bit0_cases [cases type: bit0, case_names of_int] = bit0.cases
   350 lemmas bit0_cases [case_names of_int, cases type: bit0] = bit0.cases
   351 lemmas bit1_cases [cases type: bit1, case_names of_int] = bit1.cases
   351 lemmas bit1_cases [case_names of_int, cases type: bit1] = bit1.cases
   352 
   352 
   353 lemmas bit0_induct [induct type: bit0, case_names of_int] = bit0.induct
   353 lemmas bit0_induct [case_names of_int, induct type: bit0] = bit0.induct
   354 lemmas bit1_induct [induct type: bit1, case_names of_int] = bit1.induct
   354 lemmas bit1_induct [case_names of_int, induct type: bit1] = bit1.induct
   355 
   355 
   356 lemmas bit0_iszero_number_of [simp] = bit0.iszero_number_of
   356 lemmas bit0_iszero_number_of [simp] = bit0.iszero_number_of
   357 lemmas bit1_iszero_number_of [simp] = bit1.iszero_number_of
   357 lemmas bit1_iszero_number_of [simp] = bit1.iszero_number_of
   358 
   358 
   359 declare power_Suc [where ?'a="'a::finite bit0", standard, simp]
   359 declare power_Suc [where ?'a="'a::finite bit0", standard, simp]