Isabelle 如何使用单词
在Isabelle 如何使用单词,isabelle,Isabelle,在~~/src/HOL/word/word.thy中有一个名为word\u rsplit的函数 definition word_rsplit :: "'a :: len0 word => 'b :: len word list" where "word_rsplit w = map word_of_int (bin_rsplit (len_of TYPE ('b)) (len_of TYPE ('a), uint w))" 我想把一个32字分成四个8字,这个功能似乎很完美 引理
~~/src/HOL/word/word.thy
中有一个名为word\u rsplit
的函数
definition word_rsplit :: "'a :: len0 word => 'b :: len word list" where
"word_rsplit w =
map word_of_int (bin_rsplit (len_of TYPE ('b)) (len_of TYPE ('a), uint w))"
我想把一个32字
分成四个8字
,这个功能似乎很完美
引理word\u rcat(word\u rsplit w)=w
对我也很有用
因此,我需要知道如何使用
word\u rsplit
,如何指定'a
=32和'b
=8。要获得特定单词类型的word\u rsplit
变体,只需给出显式类型约束即可。例如,您希望将一个32个单词
拆分为几个8个单词
s的示例可以指定如下:
word_rsplit :: 32 word => 8 word list"
示例:
value "(word_rsplit :: 32 word ⇒ 8 word list) 1024"
产生
"[0, 0, 4, 0]"
:: "8 word list"
谢谢!现在看来很合理。