src/HOL/Word/Word.thy
changeset 44762 8f9d09241a68
parent 42793 88bee9f6eec7
child 44821 a92f65e174cf
equal deleted inserted replaced
44761:0694fc3248fd 44762:8f9d09241a68
   453 lemma word_number_of_alt [code_unfold_post]:
   453 lemma word_number_of_alt [code_unfold_post]:
   454   "number_of b = word_of_int (number_of b)"
   454   "number_of b = word_of_int (number_of b)"
   455   by (simp add: number_of_eq word_number_of_def)
   455   by (simp add: number_of_eq word_number_of_def)
   456 
   456 
   457 lemma word_no_wi: "number_of = word_of_int"
   457 lemma word_no_wi: "number_of = word_of_int"
   458   by (auto simp: word_number_of_def intro: ext)
   458   by (auto simp: word_number_of_def)
   459 
   459 
   460 lemma to_bl_def': 
   460 lemma to_bl_def': 
   461   "(to_bl :: 'a :: len0 word => bool list) =
   461   "(to_bl :: 'a :: len0 word => bool list) =
   462     bin_to_bl (len_of TYPE('a)) o uint"
   462     bin_to_bl (len_of TYPE('a)) o uint"
   463   by (auto simp: to_bl_def intro: ext)
   463   by (auto simp: to_bl_def)
   464 
   464 
   465 lemmas word_reverse_no_def [simp] = word_reverse_def [of "number_of w", standard]
   465 lemmas word_reverse_no_def [simp] = word_reverse_def [of "number_of w", standard]
   466 
   466 
   467 lemmas uints_mod = uints_def [unfolded no_bintr_alt1]
   467 lemmas uints_mod = uints_def [unfolded no_bintr_alt1]
   468 
   468 
  4228 
  4228 
  4229 subsubsection "Word rotation commutes with bit-wise operations"
  4229 subsubsection "Word rotation commutes with bit-wise operations"
  4230 
  4230 
  4231 (* using locale to not pollute lemma namespace *)
  4231 (* using locale to not pollute lemma namespace *)
  4232 locale word_rotate 
  4232 locale word_rotate 
  4233 
       
  4234 context word_rotate
       
  4235 begin
  4233 begin
  4236 
  4234 
  4237 lemmas word_rot_defs' = to_bl_rotl to_bl_rotr
  4235 lemmas word_rot_defs' = to_bl_rotl to_bl_rotr
  4238 
  4236 
  4239 lemmas blwl_syms [symmetric] = bl_word_not bl_word_and bl_word_or bl_word_xor
  4237 lemmas blwl_syms [symmetric] = bl_word_not bl_word_and bl_word_or bl_word_xor