src/HOL/ex/Word.thy
changeset 71854 6a51e64ba13d
parent 71822 67cc2319104f
child 71921 a238074c5a9d
equal deleted inserted replaced
71853:30d92e668b52 71854:6a51e64ba13d
   714     by transfer (auto simp add: bit_xor_iff)
   714     by transfer (auto simp add: bit_xor_iff)
   715 qed
   715 qed
   716 
   716 
   717 end
   717 end
   718 
   718 
       
   719 definition even_word :: \<open>'a::len word \<Rightarrow> bool\<close>
       
   720   where [code_abbrev]: \<open>even_word = even\<close>
       
   721 
       
   722 lemma even_word_iff [code]:
       
   723   \<open>even_word a \<longleftrightarrow> a AND 1 = 0\<close>
       
   724   by (simp add: even_word_def even_iff_mod_2_eq_zero)
       
   725 
       
   726 definition bit_word :: \<open>'a::len word \<Rightarrow> nat \<Rightarrow> bool\<close>
       
   727   where [code_abbrev]: \<open>bit_word = bit\<close>
       
   728 
       
   729 lemma bit_word_iff [code]:
       
   730   \<open>bit_word a n \<longleftrightarrow> drop_bit n a AND 1 = 1\<close>
       
   731   by (simp add: bit_word_def bit_iff_odd_drop_bit odd_iff_mod_2_eq_one)
       
   732 
   719 lifting_update word.lifting
   733 lifting_update word.lifting
   720 lifting_forget word.lifting
   734 lifting_forget word.lifting
   721 
   735 
   722 end
   736 end