diff -r 924e487288fb -r dafb3d343cd6 src/HOL/Bit_Operations.thy --- a/src/HOL/Bit_Operations.thy Wed Feb 07 11:57:22 2024 +0000 +++ b/src/HOL/Bit_Operations.thy Tue Feb 06 18:08:43 2024 +0000 @@ -17,7 +17,7 @@ assumes half_div_exp_eq: \a div 2 div 2 ^ n = a div 2 ^ Suc n\ and even_double_div_exp_iff: \2 ^ Suc n \ 0 \ even (2 * a div 2 ^ Suc n) \ even (a div 2 ^ n)\ and even_decr_exp_div_exp_iff: \2 ^ n \ 0 \ even ((2 ^ m - 1) div 2 ^ n) \ m \ n\ - and even_mod_exp_diff_exp_iff: \even (a mod 2 ^ m div 2 ^ n) \ m \ n \ even (a div 2 ^ n)\ + and even_mod_exp_div_exp_iff: \even (a mod 2 ^ m div 2 ^ n) \ m \ n \ even (a div 2 ^ n)\ fixes bit :: \'a \ nat \ bool\ assumes bit_iff_odd: \bit a n \ odd (a div 2 ^ n)\ begin @@ -80,7 +80,7 @@ end -lemma bit_iff_idd_imp_stable: +lemma bit_iff_odd_imp_stable: \a div 2 = a\ if \\n. bit a n \ odd a\ using that proof (induction a rule: bit_induct) case (stable a) @@ -182,7 +182,7 @@ from stable(2) [of 0] have **: \even b \ even a\ by (simp add: bit_0) have \b div 2 = b\ - proof (rule bit_iff_idd_imp_stable) + proof (rule bit_iff_odd_imp_stable) fix n from stable have *: \bit b n \ bit a n\ by simp @@ -870,7 +870,7 @@ lemma bit_take_bit_iff [bit_simps]: \bit (take_bit m a) n \ n < m \ bit a n\ - by (simp add: take_bit_eq_mod bit_iff_odd even_mod_exp_diff_exp_iff not_le) + by (simp add: take_bit_eq_mod bit_iff_odd even_mod_exp_div_exp_iff not_le) lemma take_bit_Suc: \take_bit (Suc n) a = take_bit n (a div 2) * 2 + a mod 2\ (is \?lhs = ?rhs\)