equal
deleted
inserted
replaced
49 lemma nat_of_char [simp]: |
49 lemma nat_of_char [simp]: |
50 \<open>nat (of_char c) = of_char c\<close> |
50 \<open>nat (of_char c) = of_char c\<close> |
51 by (cases c) (simp only: of_char_Char nat_horner_sum) |
51 by (cases c) (simp only: of_char_Char nat_horner_sum) |
52 |
52 |
53 |
53 |
54 context unique_euclidean_semiring_with_bit_operations |
54 context linordered_euclidean_semiring_bit_operations |
55 begin |
55 begin |
56 |
56 |
57 definition char_of :: \<open>'a \<Rightarrow> char\<close> |
57 definition char_of :: \<open>'a \<Rightarrow> char\<close> |
58 where \<open>char_of n = Char (bit n 0) (bit n 1) (bit n 2) (bit n 3) (bit n 4) (bit n 5) (bit n 6) (bit n 7)\<close> |
58 where \<open>char_of n = Char (bit n 0) (bit n 1) (bit n 2) (bit n 3) (bit n 4) (bit n 5) (bit n 6) (bit n 7)\<close> |
59 |
59 |
437 "String.explode (String.implode cs) = map ascii_of cs" |
437 "String.explode (String.implode cs) = map ascii_of cs" |
438 by transfer rule |
438 by transfer rule |
439 |
439 |
440 end |
440 end |
441 |
441 |
442 context unique_euclidean_semiring_with_bit_operations |
442 context linordered_euclidean_semiring_bit_operations |
443 begin |
443 begin |
444 |
444 |
445 context |
445 context |
446 begin |
446 begin |
447 |
447 |