diff -r 66beb9d92e43 -r 8bff286878bf src/HOL/Library/Bit_Operations.thy --- a/src/HOL/Library/Bit_Operations.thy Fri Jul 03 06:18:27 2020 +0000 +++ b/src/HOL/Library/Bit_Operations.thy Fri Jul 03 06:18:29 2020 +0000 @@ -257,17 +257,17 @@ qed definition set_bit :: \nat \ 'a \ 'a\ - where \set_bit n a = a OR 2 ^ n\ + where \set_bit n a = a OR push_bit n 1\ definition unset_bit :: \nat \ 'a \ 'a\ - where \unset_bit n a = a AND NOT (2 ^ n)\ + where \unset_bit n a = a AND NOT (push_bit n 1)\ definition flip_bit :: \nat \ 'a \ 'a\ - where \flip_bit n a = a XOR 2 ^ n\ + where \flip_bit n a = a XOR push_bit n 1\ lemma bit_set_bit_iff: \bit (set_bit m a) n \ bit a n \ (m = n \ 2 ^ n \ 0)\ - by (auto simp add: set_bit_def bit_or_iff bit_exp_iff) + by (auto simp add: set_bit_def push_bit_of_1 bit_or_iff bit_exp_iff) lemma even_set_bit_iff: \even (set_bit m a) \ even a \ m \ 0\ @@ -275,7 +275,7 @@ lemma bit_unset_bit_iff: \bit (unset_bit m a) n \ bit a n \ m \ n\ - by (auto simp add: unset_bit_def bit_and_iff bit_not_iff bit_exp_iff exp_eq_0_imp_not_bit) + by (auto simp add: unset_bit_def push_bit_of_1 bit_and_iff bit_not_iff bit_exp_iff exp_eq_0_imp_not_bit) lemma even_unset_bit_iff: \even (unset_bit m a) \ even a \ m = 0\ @@ -283,7 +283,7 @@ lemma bit_flip_bit_iff: \bit (flip_bit m a) n \ (m = n \ \ bit a n) \ 2 ^ n \ 0\ - by (auto simp add: flip_bit_def bit_xor_iff bit_exp_iff exp_eq_0_imp_not_bit) + by (auto simp add: flip_bit_def push_bit_of_1 bit_xor_iff bit_exp_iff exp_eq_0_imp_not_bit) lemma even_flip_bit_iff: \even (flip_bit m a) \ \ (even a \ m = 0)\