equal
deleted
inserted
replaced
1682 "std = size c - size b \<Longrightarrow> (word_split c = (a, b)) \<Longrightarrow> |
1682 "std = size c - size b \<Longrightarrow> (word_split c = (a, b)) \<Longrightarrow> |
1683 (a = of_bl (take std (to_bl c)) \<and> b = of_bl (drop std (to_bl c)))" |
1683 (a = of_bl (take std (to_bl c)) \<and> b = of_bl (drop std (to_bl c)))" |
1684 apply (simp add: word_split_def) |
1684 apply (simp add: word_split_def) |
1685 apply transfer |
1685 apply transfer |
1686 apply (cases \<open>LENGTH('b) \<le> LENGTH('a)\<close>) |
1686 apply (cases \<open>LENGTH('b) \<le> LENGTH('a)\<close>) |
1687 apply (auto simp add: drop_bit_take_bit drop_bin2bl bin_to_bl_drop_bit [symmetric, of \<open>LENGTH('a)\<close> \<open>LENGTH('a) - LENGTH('b)\<close> \<open>LENGTH('b)\<close>]) |
1687 apply (auto simp add: drop_bit_take_bit drop_bin2bl bin_to_bl_drop_bit [symmetric, of \<open>LENGTH('a)\<close> \<open>LENGTH('a) - LENGTH('b)\<close> \<open>LENGTH('b)\<close>] min_absorb2) |
1688 done |
1688 done |
1689 |
1689 |
1690 lemma word_split_bl: "std = size c - size b \<Longrightarrow> |
1690 lemma word_split_bl: "std = size c - size b \<Longrightarrow> |
1691 (a = of_bl (take std (to_bl c)) \<and> b = of_bl (drop std (to_bl c))) \<longleftrightarrow> |
1691 (a = of_bl (take std (to_bl c)) \<and> b = of_bl (drop std (to_bl c))) \<longleftrightarrow> |
1692 word_split c = (a, b)" |
1692 word_split c = (a, b)" |