src/HOL/Word/Reversed_Bit_Lists.thy
changeset 72488 ee659bca8955
parent 72388 633d14bd1e59
equal deleted inserted replaced
72487:ab32922f139b 72488:ee659bca8955
  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)"