src/HOL/Library/Char_nat.thy
changeset 47159 978c00c20a59
parent 46730 e3b99d0231bc
equal deleted inserted replaced
47142:d64fa2ca54b8 47159:978c00c20a59
   156       mult_assoc [symmetric] div_mult_self_is_m [OF 16] by simp
   156       mult_assoc [symmetric] div_mult_self_is_m [OF 16] by simp
   157   have aux4: "(k * 256 + l) mod 16 = l mod 16"
   157   have aux4: "(k * 256 + l) mod 16 = l mod 16"
   158     unfolding 256 mult_assoc [symmetric] mod_mult_self3 ..
   158     unfolding 256 mult_assoc [symmetric] mod_mult_self3 ..
   159   show ?thesis
   159   show ?thesis
   160     by (simp add: nat_of_char.simps char_of_nat_def nibble_of_pair
   160     by (simp add: nat_of_char.simps char_of_nat_def nibble_of_pair
   161       nat_of_nibble_of_nat mod_mult_distrib
   161       nat_of_nibble_of_nat mult_mod_left
   162       n aux3 l_256 aux4 mod_add_eq [of "256 * k"] l_div_256)
   162       n aux3 l_256 aux4 mod_add_eq [of "256 * k"] l_div_256)
   163 qed
   163 qed
   164 
   164 
   165 lemma nibble_pair_of_nat_char:
   165 lemma nibble_pair_of_nat_char:
   166   "nibble_pair_of_nat (nat_of_char (Char n m)) = (n, m)"
   166   "nibble_pair_of_nat (nat_of_char (Char n m)) = (n, m)"