fromNum : num # α itself -> α wordsw2sw_itself : α itself -> β word -> α wordw2w_itself : α itself -> β word -> α wordword_concat_itself : α itself -> β word -> γ word -> α wordword_eq : α word -> α word -> boolword_extract_itself : α itself -> num -> num -> β word -> α wordword_index : α word -> num -> boolfromNum_def_primitive⊢ fromNum =
WFREC (@R. WF R)
(λfromNum a.
case a of (v,v1) => I (n2w_itself (v MOD dimword (:α),(:α))))
⊢ ∀w. sw2sw_itself (:α) w = sw2sw w
⊢ ∀w. w2w_itself (:α) w = w2w w
⊢ ∀v w. word_concat_itself (:α) v w = v @@ w
⊢ ∀v w. word_eq v w ⇔ v = w
⊢ ∀h l w. word_extract_itself (:α) h l w = (h >< l) w
⊢ ∀w n. word_index w n ⇔ w ' n
⊢ fromNum (n,(:α)) = n2w_itself (n MOD dimword (:α),(:α))
⊢ ∀P. (∀n. P (n,(:α))) ⇒ ∀v v1. P (v,v1)