src/HOL/Library/Tools/smt_word.ML
changeset 74097 6d7be1227d02
parent 73021 f602a380e4f2
child 74817 1fd8705503b4
equal deleted inserted replaced
74096:cb64ccdc3ac1 74097:6d7be1227d02
   128   fold (add_word_fun if_fixed_all) [
   128   fold (add_word_fun if_fixed_all) [
   129     (\<^term>\<open>uminus :: 'a::len word \<Rightarrow> _\<close>, "bvneg"),
   129     (\<^term>\<open>uminus :: 'a::len word \<Rightarrow> _\<close>, "bvneg"),
   130     (\<^term>\<open>plus :: 'a::len word \<Rightarrow> _\<close>, "bvadd"),
   130     (\<^term>\<open>plus :: 'a::len word \<Rightarrow> _\<close>, "bvadd"),
   131     (\<^term>\<open>minus :: 'a::len word \<Rightarrow> _\<close>, "bvsub"),
   131     (\<^term>\<open>minus :: 'a::len word \<Rightarrow> _\<close>, "bvsub"),
   132     (\<^term>\<open>times :: 'a::len word \<Rightarrow> _\<close>, "bvmul"),
   132     (\<^term>\<open>times :: 'a::len word \<Rightarrow> _\<close>, "bvmul"),
   133     (\<^term>\<open>NOT :: 'a::len word \<Rightarrow> _\<close>, "bvnot"),
   133     (\<^term>\<open>not :: 'a::len word \<Rightarrow> _\<close>, "bvnot"),
   134     (\<^term>\<open>(AND) :: 'a::len word \<Rightarrow> _\<close>, "bvand"),
   134     (\<^term>\<open>and :: 'a::len word \<Rightarrow> _\<close>, "bvand"),
   135     (\<^term>\<open>(OR) :: 'a::len word \<Rightarrow> _\<close>, "bvor"),
   135     (\<^term>\<open>or :: 'a::len word \<Rightarrow> _\<close>, "bvor"),
   136     (\<^term>\<open>(XOR) :: 'a::len word \<Rightarrow> _\<close>, "bvxor"),
   136     (\<^term>\<open>xor :: 'a::len word \<Rightarrow> _\<close>, "bvxor"),
   137     (\<^term>\<open>word_cat :: 'a::len word \<Rightarrow> _\<close>, "concat") ] #>
   137     (\<^term>\<open>word_cat :: 'a::len word \<Rightarrow> _\<close>, "concat") ] #>
   138   fold (add_word_fun shift) [
   138   fold (add_word_fun shift) [
   139     (\<^term>\<open>push_bit :: nat \<Rightarrow> 'a::len word \<Rightarrow> _ \<close>, "bvshl"),
   139     (\<^term>\<open>push_bit :: nat \<Rightarrow> 'a::len word \<Rightarrow> _ \<close>, "bvshl"),
   140     (\<^term>\<open>drop_bit :: nat \<Rightarrow> 'a::len word \<Rightarrow> _\<close>, "bvlshr"),
   140     (\<^term>\<open>drop_bit :: nat \<Rightarrow> 'a::len word \<Rightarrow> _\<close>, "bvlshr"),
   141     (\<^term>\<open>signed_drop_bit :: nat \<Rightarrow> 'a::len word \<Rightarrow> _\<close>, "bvashr") ] #>
   141     (\<^term>\<open>signed_drop_bit :: nat \<Rightarrow> 'a::len word \<Rightarrow> _\<close>, "bvashr") ] #>