tt('const/words/BIT_SET', ty, ('type/num/num' > ('type/num/num' > ('type/num/num' > $o)))).
tt('const/words/BIT_SET_tupled', ty, (('type/pair/prod' 'type/num/num' 'type/num/num') > ('type/num/num' > $o))).
tt('const/words/INT_MAX', ty, ![A : $t]: (('type/bool/itself' A) > 'type/num/num')).
tt('const/words/INT_MIN', ty, ![A : $t]: (('type/bool/itself' A) > 'type/num/num')).
tt('const/words/UINT_MAX', ty, ![A : $t]: (('type/bool/itself' A) > 'type/num/num')).
tt('const/words/add_with_carry', ty, ![A : $t]: (('type/pair/prod' ('type/fcp/cart' $o A) ('type/pair/prod' ('type/fcp/cart' $o A) $o)) > ('type/pair/prod' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o)))).
tt('const/words/bit_count', ty, ![A : $t]: (('type/fcp/cart' $o A) > 'type/num/num')).
tt('const/words/bit_count_upto', ty, ![A : $t]: ('type/num/num' > (('type/fcp/cart' $o A) > 'type/num/num'))).
tt('const/words/bit_field_insert', ty, ![A : $t, B : $t]: ('type/num/num' > ('type/num/num' > (('type/fcp/cart' $o B) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))))).
tt('const/words/concat_word_list', ty, ![A : $t, B : $t]: (('type/list/list' ('type/fcp/cart' $o A)) > ('type/fcp/cart' $o B))).
tt('const/words/dimword', ty, ![A : $t]: (('type/bool/itself' A) > 'type/num/num')).
tt('const/words/l2w', ty, ![A : $t]: ('type/num/num' > (('type/list/list' 'type/num/num') > ('type/fcp/cart' $o A)))).
tt('const/words/n2w', ty, ![A : $t]: ('type/num/num' > ('type/fcp/cart' $o A))).
tt('const/words/n2w_itself', ty, ![A : $t]: (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > ('type/fcp/cart' $o A))).
tt('const/words/nzcv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)))))).
tt('const/words/reduce_and', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one'))).
tt('const/words/reduce_nand', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one'))).
tt('const/words/reduce_nor', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one'))).
tt('const/words/reduce_or', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one'))).
tt('const/words/reduce_xnor', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one'))).
tt('const/words/reduce_xor', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one'))).
tt('const/words/s2w', ty, ![A : $t]: ('type/num/num' > (('type/string/char' > 'type/num/num') > (('type/list/list' 'type/string/char') > ('type/fcp/cart' $o A))))).
tt('const/words/saturate_add', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/saturate_mul', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/saturate_n2w', ty, ![A : $t]: ('type/num/num' > ('type/fcp/cart' $o A))).
tt('const/words/saturate_sub', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/saturate_w2w', ty, ![A : $t, B : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o B))).
tt('const/words/sw2sw', ty, ![A : $t, B : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o B))).
tt('const/words/w2l', ty, ![A : $t]: ('type/num/num' > (('type/fcp/cart' $o A) > ('type/list/list' 'type/num/num')))).
tt('const/words/w2n', ty, ![A : $t]: (('type/fcp/cart' $o A) > 'type/num/num')).
tt('const/words/w2s', ty, ![A : $t]: ('type/num/num' > (('type/num/num' > 'type/string/char') > (('type/fcp/cart' $o A) > ('type/list/list' 'type/string/char'))))).
tt('const/words/w2w', ty, ![A : $t, B : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o B))).
tt('const/words/word_1comp', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))).
tt('const/words/word_2comp', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))).
tt('const/words/word_H', ty, ![A : $t]: ('type/fcp/cart' $o A)).
tt('const/words/word_L', ty, ![A : $t]: ('type/fcp/cart' $o A)).
tt('const/words/word_L2', ty, ![A : $t]: ('type/fcp/cart' $o A)).
tt('const/words/word_T', ty, ![A : $t]: ('type/fcp/cart' $o A)).
tt('const/words/word_abs', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))).
tt('const/words/word_add', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_and', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_asr', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/num/num' > ('type/fcp/cart' $o A)))).
tt('const/words/word_asr_bv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_bit', ty, ![A : $t]: ('type/num/num' > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_bits', ty, ![A : $t]: ('type/num/num' > ('type/num/num' > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))))).
tt('const/words/word_compare', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one')))).
tt('const/words/word_concat', ty, ![A : $t, B : $t, C : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o B) > ('type/fcp/cart' $o C)))).
tt('const/words/word_div', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_extract', ty, ![A : $t, B : $t]: ('type/num/num' > ('type/num/num' > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o B))))).
tt('const/words/word_from_bin_list', ty, ![A : $t]: (('type/list/list' 'type/num/num') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_bin_string', ty, ![A : $t]: (('type/list/list' 'type/string/char') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_dec_list', ty, ![A : $t]: (('type/list/list' 'type/num/num') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_dec_string', ty, ![A : $t]: (('type/list/list' 'type/string/char') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_hex_list', ty, ![A : $t]: (('type/list/list' 'type/num/num') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_hex_string', ty, ![A : $t]: (('type/list/list' 'type/string/char') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_oct_list', ty, ![A : $t]: (('type/list/list' 'type/num/num') > ('type/fcp/cart' $o A))).
tt('const/words/word_from_oct_string', ty, ![A : $t]: (('type/list/list' 'type/string/char') > ('type/fcp/cart' $o A))).
tt('const/words/word_ge', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_gt', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_hi', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_hs', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_join', ty, ![A : $t, B : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o B) > ('type/fcp/cart' $o ('type/sum/sum' A B))))).
tt('const/words/word_le', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_len', ty, ![A : $t]: (('type/fcp/cart' $o A) > 'type/num/num')).
tt('const/words/word_lo', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_log2', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))).
tt('const/words/word_ls', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_lsb', ty, ![A : $t]: (('type/fcp/cart' $o A) > $o)).
tt('const/words/word_lsl', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/num/num' > ('type/fcp/cart' $o A)))).
tt('const/words/word_lsl_bv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_lsr', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/num/num' > ('type/fcp/cart' $o A)))).
tt('const/words/word_lsr_bv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_lt', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > $o))).
tt('const/words/word_max', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_min', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_mod', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_modify', ty, ![A : $t]: (('type/num/num' > ($o > $o)) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_msb', ty, ![A : $t]: (('type/fcp/cart' $o A) > $o)).
tt('const/words/word_mul', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_nand', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_nor', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_or', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_reduce', ty, ![A : $t]: (($o > ($o > $o)) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o 'type/one/one')))).
tt('const/words/word_replicate', ty, ![A : $t, B : $t]: ('type/num/num' > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o B)))).
tt('const/words/word_reverse', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))).
tt('const/words/word_rol', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/num/num' > ('type/fcp/cart' $o A)))).
tt('const/words/word_rol_bv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_ror', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/num/num' > ('type/fcp/cart' $o A)))).
tt('const/words/word_ror_bv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_rrx', ty, ![A : $t]: (('type/pair/prod' $o ('type/fcp/cart' $o A)) > ('type/pair/prod' $o ('type/fcp/cart' $o A)))).
tt('const/words/word_sdiv', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_sign_extend', ty, ![A : $t]: ('type/num/num' > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_signed_bits', ty, ![A : $t]: ('type/num/num' > ('type/num/num' > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))))).
tt('const/words/word_slice', ty, ![A : $t]: ('type/num/num' > ('type/num/num' > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))))).
tt('const/words/word_smax', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_smin', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_smod', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_srem', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_sub', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_to_bin_list', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/num/num'))).
tt('const/words/word_to_bin_string', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/string/char'))).
tt('const/words/word_to_dec_list', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/num/num'))).
tt('const/words/word_to_dec_string', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/string/char'))).
tt('const/words/word_to_hex_list', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/num/num'))).
tt('const/words/word_to_hex_string', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/string/char'))).
tt('const/words/word_to_oct_list', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/num/num'))).
tt('const/words/word_to_oct_string', ty, ![A : $t]: (('type/fcp/cart' $o A) > ('type/list/list' 'type/string/char'))).
tt('const/words/word_xnor', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('const/words/word_xor', ty, ![A : $t]: (('type/fcp/cart' $o A) > (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A)))).
tt('thm/words/dimword_def_', def, ![A : $t]: ((('const/words/dimword' A) ('const/bool/the_value' A)) = ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))).
tt('thm/words/INT_MIN_def_', def, ![A : $t]: ((('const/words/INT_MIN' A) ('const/bool/the_value' A)) = ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/UINT_MAX_def_', def, ![A : $t]: ((('const/words/UINT_MAX' A) ('const/bool/the_value' A)) = ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/INT_MAX_def_', def, ![A : $t]: ((('const/words/INT_MAX' A) ('const/bool/the_value' A)) = ('const/arithmetic/-' (('const/words/INT_MIN' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/w2n_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/w2n' A) w) = ('const/sum_num/SUM' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (^[i : 'type/num/num']: ('const/bit/SBIT' (('const/fcp/fcp_index' $o A) w i) i)))))).
tt('thm/words/n2w_def_', def, ![A : $t]: (![n : 'type/num/num']: ((('const/words/n2w' A) n) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: ('const/bit/BIT' i n)))))).
tt('thm/words/w2w_def_', def, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/w2w' A B) w) = (('const/words/n2w' B) (('const/words/w2n' A) w))))).
tt('thm/words/sw2sw_def_', def, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/sw2sw' A B) w) = (('const/words/n2w' B) ('const/bit/SIGN_EXTEND' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/words/w2n' A) w)))))).
tt('thm/words/w2l_def_', def, ![A : $t]: (![b : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/w2l' A) b w) = ('const/numposrep/n2l' b (('const/words/w2n' A) w))))).
tt('thm/words/l2w_def_', def, ![A : $t]: (![b : 'type/num/num', l : ('type/list/list' 'type/num/num')]: ((('const/words/l2w' A) b l) = (('const/words/n2w' A) ('const/numposrep/l2n' b l))))).
tt('thm/words/w2s_def_', def, ![A : $t]: (![b : 'type/num/num', f : ('type/num/num' > 'type/string/char'), w : ('type/fcp/cart' $o A)]: ((('const/words/w2s' A) b f w) = ('const/ASCIInumbers/n2s' b f (('const/words/w2n' A) w))))).
tt('thm/words/s2w_def_', def, ![A : $t]: (![b : 'type/num/num', f : ('type/string/char' > 'type/num/num'), s : ('type/list/list' 'type/string/char')]: ((('const/words/s2w' A) b f s) = (('const/words/n2w' A) ('const/ASCIInumbers/s2n' b f s))))).
tt('thm/words/word_from_bin_list_def_', def, ![A : $t]: (('const/words/word_from_bin_list' A) = (('const/words/l2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))).
tt('thm/words/word_from_oct_list_def_', def, ![A : $t]: (('const/words/word_from_oct_list' A) = (('const/words/l2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/word_from_dec_list_def_', def, ![A : $t]: (('const/words/word_from_dec_list' A) = (('const/words/l2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/word_from_hex_list_def_', def, ![A : $t]: (('const/words/word_from_hex_list' A) = (('const/words/l2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/word_to_bin_list_def_', def, ![A : $t]: (('const/words/word_to_bin_list' A) = (('const/words/w2l' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))).
tt('thm/words/word_to_oct_list_def_', def, ![A : $t]: (('const/words/word_to_oct_list' A) = (('const/words/w2l' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/word_to_dec_list_def_', def, ![A : $t]: (('const/words/word_to_dec_list' A) = (('const/words/w2l' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/word_to_hex_list_def_', def, ![A : $t]: (('const/words/word_to_hex_list' A) = (('const/words/w2l' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/word_from_bin_string_def_', def, ![A : $t]: (('const/words/word_from_bin_string' A) = (('const/words/s2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) 'const/ASCIInumbers/UNHEX'))).
tt('thm/words/word_from_oct_string_def_', def, ![A : $t]: (('const/words/word_from_oct_string' A) = (('const/words/s2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) 'const/ASCIInumbers/UNHEX'))).
tt('thm/words/word_from_dec_string_def_', def, ![A : $t]: (('const/words/word_from_dec_string' A) = (('const/words/s2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) 'const/ASCIInumbers/UNHEX'))).
tt('thm/words/word_from_hex_string_def_', def, ![A : $t]: (('const/words/word_from_hex_string' A) = (('const/words/s2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) 'const/ASCIInumbers/UNHEX'))).
tt('thm/words/word_to_bin_string_def_', def, ![A : $t]: (('const/words/word_to_bin_string' A) = (('const/words/w2s' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) 'const/ASCIInumbers/HEX'))).
tt('thm/words/word_to_oct_string_def_', def, ![A : $t]: (('const/words/word_to_oct_string' A) = (('const/words/w2s' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) 'const/ASCIInumbers/HEX'))).
tt('thm/words/word_to_dec_string_def_', def, ![A : $t]: (('const/words/word_to_dec_string' A) = (('const/words/w2s' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) 'const/ASCIInumbers/HEX'))).
tt('thm/words/word_to_hex_string_def_', def, ![A : $t]: (('const/words/word_to_hex_string' A) = (('const/words/w2s' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) 'const/ASCIInumbers/HEX'))).
tt('thm/words/word_T_def_', def, ![A : $t]: (('const/words/word_T' A) = (('const/words/n2w' A) (('const/words/UINT_MAX' A) ('const/bool/the_value' A))))).
tt('thm/words/word_L_def_', def, ![A : $t]: (('const/words/word_L' A) = (('const/words/n2w' A) (('const/words/INT_MIN' A) ('const/bool/the_value' A))))).
tt('thm/words/word_H_def_', def, ![A : $t]: (('const/words/word_H' A) = (('const/words/n2w' A) (('const/words/INT_MAX' A) ('const/bool/the_value' A))))).
tt('thm/words/word_1comp_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_1comp' A) w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (~ (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/word_and_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) v w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: ((('const/fcp/fcp_index' $o A) v i) & (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/word_or_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) v w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: ((('const/fcp/fcp_index' $o A) v i) | (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/word_xor_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) v w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (~ ((('const/fcp/fcp_index' $o A) v i) = (('const/fcp/fcp_index' $o A) w i)))))))).
tt('thm/words/word_nand_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_nand' A) v w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (~ ((('const/fcp/fcp_index' $o A) v i) & (('const/fcp/fcp_index' $o A) w i)))))))).
tt('thm/words/word_nor_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_nor' A) v w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (~ ((('const/fcp/fcp_index' $o A) v i) | (('const/fcp/fcp_index' $o A) w i)))))))).
tt('thm/words/word_xnor_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xnor' A) v w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: ((('const/fcp/fcp_index' $o A) v i) = (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/word_reduce_def_', def, ![A : $t]: (![f : ($o > ($o > $o)), w : ('type/fcp/cart' $o A)]: ((('const/words/word_reduce' A) f w) = (('const/fcp/FCP' $o 'type/one/one') (('const/combin/K' $o 'type/num/num') (('const/bool/LET' ('type/list/list' $o) $o) (^[l : ('type/list/list' $o)]: (('const/list/FOLDL' $o $o) f (('const/list/HD' $o) l) (('const/list/TL' $o) l))) (('const/list/GENLIST' $o) (^[i : 'type/num/num']: (('const/fcp/fcp_index' $o A) w ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))))).
tt('thm/words/word_compare_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_compare' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o 'type/one/one')) (a = b) (('const/words/n2w' 'type/one/one') ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) (('const/words/n2w' 'type/one/one') 'const/num/0'))))).
tt('thm/words/reduce_and_def_', def, ![A : $t]: (('const/words/reduce_and' A) = (('const/words/word_reduce' A) $and))).
tt('thm/words/reduce_or_def_', def, ![A : $t]: (('const/words/reduce_or' A) = (('const/words/word_reduce' A) $or))).
tt('thm/words/reduce_xor_def_', def, ![A : $t]: (('const/words/reduce_xor' A) = (('const/words/word_reduce' A) (^[x : $o, y : $o]: (~ (x = y)))))).
tt('thm/words/reduce_nand_def_', def, ![A : $t]: (('const/words/reduce_nand' A) = (('const/words/word_reduce' A) (^[a : $o, b : $o]: (~ (a & b)))))).
tt('thm/words/reduce_nor_def_', def, ![A : $t]: (('const/words/reduce_nor' A) = (('const/words/word_reduce' A) (^[a : $o, b : $o]: (~ (a | b)))))).
tt('thm/words/reduce_xnor_def_', def, ![A : $t]: (('const/words/reduce_xnor' A) = (('const/words/word_reduce' A) ($equals $o)))).
tt('thm/words/word_lsb_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_lsb' A) w) = (('const/fcp/fcp_index' $o A) w 'const/num/0')))).
tt('thm/words/word_msb_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_msb' A) w) = (('const/fcp/fcp_index' $o A) w ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/word_slice_def_', def, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_slice' A) h l) = (^[w : ('type/fcp/cart' $o A)]: (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/arithmetic/<=' l i) & (('const/arithmetic/<=' i ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) & (('const/fcp/fcp_index' $o A) w i))))))))).
tt('thm/words/word_bits_def_', def, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_bits' A) h l) = (^[w : ('type/fcp/cart' $o A)]: (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/arithmetic/<=' ('const/arithmetic/+' i l) ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) & (('const/fcp/fcp_index' $o A) w ('const/arithmetic/+' i l))))))))).
tt('thm/words/word_signed_bits_def_', def, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_signed_bits' A) h l) = (^[w : ('type/fcp/cart' $o A)]: (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/arithmetic/<=' l ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) & (('const/fcp/fcp_index' $o A) w ('const/arithmetic/MIN' ('const/arithmetic/+' i l) ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))).
tt('thm/words/word_extract_def_', def, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_extract' A B) h l) = (('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o B) ('type/fcp/cart' $o A)) ('const/words/w2w' A B) (('const/words/word_bits' A) h l))))).
tt('thm/words/word_bit_def_', def, ![A : $t]: (![b : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_bit' A) b w) = (('const/arithmetic/<=' b ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & (('const/fcp/fcp_index' $o A) w b))))).
tt('thm/words/word_reverse_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_reverse' A) w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/fcp/fcp_index' $o A) w ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))))))).
tt('thm/words/word_modify_def_', def, ![A : $t]: (![f : ('type/num/num' > ($o > $o)), w : ('type/fcp/cart' $o A)]: ((('const/words/word_modify' A) f w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (f i (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/BIT_SET_tupled_primitive_def_', def, ('const/words/BIT_SET_tupled' = (('const/relation/WFREC' ('type/pair/prod' 'type/num/num' 'type/num/num') ('type/num/num' > $o)) (('const/min/@' (('type/pair/prod' 'type/num/num' 'type/num/num') > (('type/pair/prod' 'type/num/num' 'type/num/num') > $o))) (^[R : (('type/pair/prod' 'type/num/num' 'type/num/num') > (('type/pair/prod' 'type/num/num' 'type/num/num') > $o))]: ((('const/relation/WF' ('type/pair/prod' 'type/num/num' 'type/num/num')) R) & ((![i : 'type/num/num', n : 'type/num/num']: (((~ (n = 'const/num/0')) & ('const/arithmetic/ODD' n)) => (R (('const/pair/,' 'type/num/num' 'type/num/num') ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))) (('const/pair/,' 'type/num/num' 'type/num/num') i n)))) & (![i : 'type/num/num', n : 'type/num/num']: (((~ (n = 'const/num/0')) & (~ ('const/arithmetic/ODD' n))) => (R (('const/pair/,' 'type/num/num' 'type/num/num') ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))) (('const/pair/,' 'type/num/num' 'type/num/num') i n)))))))) (^[BIT_SET_tupled : (('type/pair/prod' 'type/num/num' 'type/num/num') > ('type/num/num' > $o)), a : ('type/pair/prod' 'type/num/num' 'type/num/num')]: (('const/pair/pair_CASE' ('type/num/num' > $o) 'type/num/num' 'type/num/num') a (^[i : 'type/num/num', n : 'type/num/num']: (('const/combin/I' ('type/num/num' > $o)) (('const/bool/COND' ('type/num/num' > $o)) (n = 'const/num/0') ('const/pred_set/EMPTY' 'type/num/num') (('const/bool/COND' ('type/num/num' > $o)) ('const/arithmetic/ODD' n) (('const/pred_set/INSERT' 'type/num/num') i (BIT_SET_tupled (('const/pair/,' 'type/num/num' 'type/num/num') ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))))) (BIT_SET_tupled (('const/pair/,' 'type/num/num' 'type/num/num') ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))))))))))))).
tt('thm/words/BIT_SET_curried_def_', def, (![x : 'type/num/num', x1 : 'type/num/num']: (('const/words/BIT_SET' x x1) = ('const/words/BIT_SET_tupled' (('const/pair/,' 'type/num/num' 'type/num/num') x x1))))).
tt('thm/words/BIT_SET_ind_', ax, (![P : ('type/num/num' > ('type/num/num' > $o))]: ((![i : 'type/num/num', n : 'type/num/num']: (((((~ (n = 'const/num/0')) & ('const/arithmetic/ODD' n)) => (P ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))) & (((~ (n = 'const/num/0')) & (~ ('const/arithmetic/ODD' n))) => (P ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))))) => (P i n))) => (![v : 'type/num/num', v1 : 'type/num/num']: (P v v1))))).
tt('thm/words/BIT_SET_def_', ax, (![n : 'type/num/num', i : 'type/num/num']: (('const/words/BIT_SET' i n) = (('const/bool/COND' ('type/num/num' > $o)) (n = 'const/num/0') ('const/pred_set/EMPTY' 'type/num/num') (('const/bool/COND' ('type/num/num' > $o)) ('const/arithmetic/ODD' n) (('const/pred_set/INSERT' 'type/num/num') i ('const/words/BIT_SET' ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))) ('const/words/BIT_SET' ('const/num/SUC' i) ('const/arithmetic/DIV' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))))))).
tt('thm/words/bit_field_insert_def_', def, ![B : $t, A : $t]: (![h : 'type/num/num', l : 'type/num/num', a : ('type/fcp/cart' $o B)]: ((('const/words/bit_field_insert' A B) h l a) = (('const/words/word_modify' A) (^[i : 'type/num/num']: (('const/bool/COND' $o) (('const/arithmetic/<=' l i) & ('const/arithmetic/<=' i h)) (('const/fcp/fcp_index' $o B) a ('const/arithmetic/-' i l)))))))).
tt('thm/words/word_sign_extend_def_', def, ![A : $t]: (![n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_sign_extend' A) n w) = (('const/words/n2w' A) ('const/bit/SIGN_EXTEND' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/words/w2n' A) w)))))).
tt('thm/words/word_len_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_len' A) w) = (('const/fcp/dimindex' A) ('const/bool/the_value' A))))).
tt('thm/words/bit_count_upto_def_', def, ![A : $t]: (![n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/bit_count_upto' A) n w) = ('const/sum_num/SUM' n (^[i : 'type/num/num']: (('const/bool/COND' 'type/num/num') (('const/fcp/fcp_index' $o A) w i) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) 'const/num/0')))))).
tt('thm/words/bit_count_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/bit_count' A) w) = (('const/words/bit_count_upto' A) (('const/fcp/dimindex' A) ('const/bool/the_value' A)) w)))).
tt('thm/words/word_2comp_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) w) = (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) (('const/words/w2n' A) w)))))).
tt('thm/words/word_add_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) v w) = (('const/words/n2w' A) ('const/arithmetic/+' (('const/words/w2n' A) v) (('const/words/w2n' A) w)))))).
tt('thm/words/word_mul_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v w) = (('const/words/n2w' A) ('const/arithmetic/*' (('const/words/w2n' A) v) (('const/words/w2n' A) w)))))).
tt('thm/words/word_log2_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_log2' A) w) = (('const/words/n2w' A) ('const/bit/LOG2' (('const/words/w2n' A) w)))))).
tt('thm/words/add_with_carry_def_', def, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A), carry_in : $o]: ((('const/words/add_with_carry' A) (('const/pair/,' ('type/fcp/cart' $o A) ('type/pair/prod' ('type/fcp/cart' $o A) $o)) x (('const/pair/,' ('type/fcp/cart' $o A) $o) y carry_in))) = (('const/bool/LET' 'type/num/num' ('type/pair/prod' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o))) (^[unsigned_sum : 'type/num/num']: (('const/bool/LET' ('type/fcp/cart' $o A) ('type/pair/prod' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o))) (^[result : ('type/fcp/cart' $o A)]: (('const/bool/LET' $o ('type/pair/prod' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o))) (('const/bool/LET' $o ($o > ('type/pair/prod' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o)))) (^[carry_out : $o, overflow : $o]: (('const/pair/,' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o)) result (('const/pair/,' $o $o) carry_out overflow))) (~ ((('const/words/w2n' A) result) = unsigned_sum))) (((('const/words/word_msb' A) x) = (('const/words/word_msb' A) y)) & (~ ((('const/words/word_msb' A) x) = (('const/words/word_msb' A) result)))))) (('const/words/n2w' A) unsigned_sum))) ('const/arithmetic/+' ('const/arithmetic/+' (('const/words/w2n' A) x) (('const/words/w2n' A) y)) (('const/bool/COND' 'type/num/num') carry_in ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) 'const/num/0')))))).
tt('thm/words/word_sub_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) v w) = (('const/words/word_add' A) v (('const/words/word_2comp' A) w))))).
tt('thm/words/word_div_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_div' A) v w) = (('const/words/n2w' A) ('const/arithmetic/DIV' (('const/words/w2n' A) v) (('const/words/w2n' A) w)))))).
tt('thm/words/word_sdiv_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_sdiv' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) a) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) b) (('const/words/word_div' A) (('const/words/word_2comp' A) a) (('const/words/word_2comp' A) b)) (('const/words/word_2comp' A) (('const/words/word_div' A) (('const/words/word_2comp' A) a) b))) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) b) (('const/words/word_2comp' A) (('const/words/word_div' A) a (('const/words/word_2comp' A) b))) (('const/words/word_div' A) a b)))))).
tt('thm/words/word_mod_def_', def, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_mod' A) v w) = (('const/words/n2w' A) ('const/arithmetic/MOD' (('const/words/w2n' A) v) (('const/words/w2n' A) w)))))).
tt('thm/words/word_srem_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_srem' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) a) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) b) (('const/words/word_2comp' A) (('const/words/word_mod' A) (('const/words/word_2comp' A) a) (('const/words/word_2comp' A) b))) (('const/words/word_2comp' A) (('const/words/word_mod' A) (('const/words/word_2comp' A) a) b))) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) b) (('const/words/word_mod' A) a (('const/words/word_2comp' A) b)) (('const/words/word_mod' A) a b)))))).
tt('thm/words/word_smod_def_', def, ![A : $t]: (![s : ('type/fcp/cart' $o A), t : ('type/fcp/cart' $o A)]: ((('const/words/word_smod' A) s t) = (('const/bool/LET' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A)) (('const/bool/LET' ('type/fcp/cart' $o A) (('type/fcp/cart' $o A) > ('type/fcp/cart' $o A))) (^[abs_s : ('type/fcp/cart' $o A), abs_t : ('type/fcp/cart' $o A)]: (('const/bool/LET' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A)) (^[u : ('type/fcp/cart' $o A)]: (('const/bool/COND' ('type/fcp/cart' $o A)) (u = (('const/words/n2w' A) 'const/num/0')) u (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) s) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) t) (('const/words/word_2comp' A) u) (('const/words/word_add' A) (('const/words/word_2comp' A) u) t)) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) t) (('const/words/word_add' A) u t) u)))) (('const/words/word_mod' A) abs_s abs_t))) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) s) (('const/words/word_2comp' A) s) s)) (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) t) (('const/words/word_2comp' A) t) t))))).
tt('thm/words/word_L2_def_', def, ![A : $t]: (('const/words/word_L2' A) = (('const/words/word_mul' A) ('const/words/word_L' A) ('const/words/word_L' A)))).
tt('thm/words/nzcv_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/nzcv' A) a b) = (('const/bool/LET' 'type/num/num' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)))) (^[q : 'type/num/num']: (('const/bool/LET' ('type/fcp/cart' $o A) ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)))) (^[r : ('type/fcp/cart' $o A)]: (('const/pair/,' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) (('const/words/word_msb' A) r) (('const/pair/,' $o ('type/pair/prod' $o $o)) (r = (('const/words/n2w' A) 'const/num/0')) (('const/pair/,' $o $o) (('const/bit/BIT' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) q) | (b = (('const/words/n2w' A) 'const/num/0'))) ((~ ((('const/words/word_msb' A) a) = (('const/words/word_msb' A) b))) & (~ ((('const/words/word_msb' A) r) = (('const/words/word_msb' A) a)))))))) (('const/words/n2w' A) q))) ('const/arithmetic/+' (('const/words/w2n' A) a) (('const/words/w2n' A) (('const/words/word_2comp' A) b))))))).
tt('thm/words/word_lt_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lt' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: (~ (n = v)))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_gt_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_gt' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: ((~ z) & (n = v)))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_le_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_le' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: (z | (~ (n = v))))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_ge_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ge' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: (n = v))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_ls_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: ((~ c) | z))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_hi_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hi' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: (c & (~ z)))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_lo_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: (~ c))))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_hs_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hs' A) a b) = (('const/bool/LET' ('type/pair/prod' $o ('type/pair/prod' $o ('type/pair/prod' $o $o))) $o) (('const/pair/UNCURRY' $o ('type/pair/prod' $o ('type/pair/prod' $o $o)) $o) (^[n : $o]: (('const/pair/UNCURRY' $o ('type/pair/prod' $o $o) $o) (^[z : $o]: (('const/pair/UNCURRY' $o $o $o) (^[c : $o, v : $o]: c)))))) (('const/words/nzcv' A) a b))))).
tt('thm/words/word_min_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_min' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_lo' A) a b) a b)))).
tt('thm/words/word_max_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_max' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_lo' A) a b) b a)))).
tt('thm/words/word_smin_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_smin' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_lt' A) a b) a b)))).
tt('thm/words/word_smax_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_smax' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_lt' A) a b) b a)))).
tt('thm/words/word_abs_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_abs' A) w) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_lt' A) w (('const/words/n2w' A) 'const/num/0')) (('const/words/word_2comp' A) w) w)))).
tt('thm/words/word_lsl_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_lsl' A) w n) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & (('const/arithmetic/<=' n i) & (('const/fcp/fcp_index' $o A) w ('const/arithmetic/-' i n))))))))).
tt('thm/words/word_lsr_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_lsr' A) w n) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/prim_rec/<' ('const/arithmetic/+' i n) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & (('const/fcp/fcp_index' $o A) w ('const/arithmetic/+' i n)))))))).
tt('thm/words/word_asr_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_asr' A) w n) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/bool/COND' $o) ('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/+' i n)) (('const/words/word_msb' A) w) (('const/fcp/fcp_index' $o A) w ('const/arithmetic/+' i n)))))))).
tt('thm/words/word_ror_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_ror' A) w n) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/fcp/fcp_index' $o A) w ('const/arithmetic/MOD' ('const/arithmetic/+' i n) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))))).
tt('thm/words/word_rol_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_rol' A) w n) = (('const/words/word_ror' A) w ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))))))).
tt('thm/words/word_rrx_def_', def, ![A : $t]: (![c : $o, w : ('type/fcp/cart' $o A)]: ((('const/words/word_rrx' A) (('const/pair/,' $o ('type/fcp/cart' $o A)) c w)) = (('const/pair/,' $o ('type/fcp/cart' $o A)) (('const/words/word_lsb' A) w) (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (('const/bool/COND' $o) (i = ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) c (('const/fcp/fcp_index' $o A) (('const/words/word_lsr' A) w ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i)))))))).
tt('thm/words/word_lsl_bv_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : ('type/fcp/cart' $o A)]: ((('const/words/word_lsl_bv' A) w n) = (('const/words/word_lsl' A) w (('const/words/w2n' A) n))))).
tt('thm/words/word_lsr_bv_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : ('type/fcp/cart' $o A)]: ((('const/words/word_lsr_bv' A) w n) = (('const/words/word_lsr' A) w (('const/words/w2n' A) n))))).
tt('thm/words/word_asr_bv_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : ('type/fcp/cart' $o A)]: ((('const/words/word_asr_bv' A) w n) = (('const/words/word_asr' A) w (('const/words/w2n' A) n))))).
tt('thm/words/word_ror_bv_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : ('type/fcp/cart' $o A)]: ((('const/words/word_ror_bv' A) w n) = (('const/words/word_ror' A) w (('const/words/w2n' A) n))))).
tt('thm/words/word_rol_bv_def_', def, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : ('type/fcp/cart' $o A)]: ((('const/words/word_rol_bv' A) w n) = (('const/words/word_rol' A) w (('const/words/w2n' A) n))))).
tt('thm/words/word_join_def_', def, ![B : $t, A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o B)]: ((('const/words/word_join' A B) v w) = (('const/bool/LET' ('type/fcp/cart' $o ('type/sum/sum' A B)) ('type/fcp/cart' $o ('type/sum/sum' A B))) (('const/bool/LET' ('type/fcp/cart' $o ('type/sum/sum' A B)) (('type/fcp/cart' $o ('type/sum/sum' A B)) > ('type/fcp/cart' $o ('type/sum/sum' A B)))) (^[cv : ('type/fcp/cart' $o ('type/sum/sum' A B)), cw : ('type/fcp/cart' $o ('type/sum/sum' A B))]: (('const/words/word_or' ('type/sum/sum' A B)) (('const/words/word_lsl' ('type/sum/sum' A B)) cv (('const/fcp/dimindex' B) ('const/bool/the_value' B))) cw)) (('const/words/w2w' A ('type/sum/sum' A B)) v)) (('const/words/w2w' B ('type/sum/sum' A B)) w))))).
tt('thm/words/word_concat_def_', def, ![B : $t, A : $t, C : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o B)]: ((('const/words/word_concat' A B C) v w) = (('const/words/w2w' ('type/sum/sum' A B) C) (('const/words/word_join' A B) v w))))).
tt('thm/words/word_replicate_def_', def, ![A : $t, B : $t]: (![n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_replicate' A B) n w) = (('const/fcp/FCP' $o B) (^[i : 'type/num/num']: (('const/prim_rec/<' i ('const/arithmetic/*' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) & (('const/fcp/fcp_index' $o A) w ('const/arithmetic/MOD' i (('const/fcp/dimindex' A) ('const/bool/the_value' A)))))))))).
tt('thm/words/concat_word_list_def_0', def, ![B : $t, A : $t]: ((('const/words/concat_word_list' A B) ('const/list/NIL' ('type/fcp/cart' $o A))) = (('const/words/n2w' B) 'const/num/0'))).
tt('thm/words/concat_word_list_def_e1', def, ![A : $t, B : $t]: (![h : ('type/fcp/cart' $o A), t : ('type/list/list' ('type/fcp/cart' $o A))]: ((('const/words/concat_word_list' A B) (('const/list/CONS' ('type/fcp/cart' $o A)) h t)) = (('const/words/word_or' B) (('const/words/w2w' A B) h) (('const/words/word_lsl' B) (('const/words/concat_word_list' A B) t) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/saturate_n2w_def_', def, ![A : $t]: (![n : 'type/num/num']: ((('const/words/saturate_n2w' A) n) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/arithmetic/<=' (('const/words/dimword' A) ('const/bool/the_value' A)) n) ('const/words/word_T' A) (('const/words/n2w' A) n))))).
tt('thm/words/saturate_w2w_def_', def, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/saturate_w2w' A B) w) = (('const/words/saturate_n2w' B) (('const/words/w2n' A) w))))).
tt('thm/words/saturate_add_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/saturate_add' A) a b) = (('const/words/saturate_n2w' A) ('const/arithmetic/+' (('const/words/w2n' A) a) (('const/words/w2n' A) b)))))).
tt('thm/words/saturate_sub_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/saturate_sub' A) a b) = (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/w2n' A) a) (('const/words/w2n' A) b)))))).
tt('thm/words/saturate_mul_def_', def, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/saturate_mul' A) a b) = (('const/words/saturate_n2w' A) ('const/arithmetic/*' (('const/words/w2n' A) a) (('const/words/w2n' A) b)))))).
tt('thm/words/ZERO_LT_dimword_', ax, ![A : $t]: ('const/prim_rec/<' 'const/num/0' (('const/words/dimword' A) ('const/bool/the_value' A)))).
tt('thm/words/dimword_IS_TWICE_INT_MIN_', ax, ![A : $t]: ((('const/words/dimword' A) ('const/bool/the_value' A)) = ('const/arithmetic/*' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) (('const/words/INT_MIN' A) ('const/bool/the_value' A))))).
tt('thm/words/dimword_sub_int_min_', ax, ![A : $t]: (('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) (('const/words/INT_MIN' A) ('const/bool/the_value' A))) = (('const/words/INT_MIN' A) ('const/bool/the_value' A)))).
tt('thm/words/DIMINDEX_GT_0_', ax, ![A : $t]: ('const/prim_rec/<' 'const/num/0' (('const/fcp/dimindex' A) ('const/bool/the_value' A)))).
tt('thm/words/ONE_LT_dimword_', ax, ![A : $t]: ('const/prim_rec/<' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) (('const/words/dimword' A) ('const/bool/the_value' A)))).
tt('thm/words/EXISTS_HB_', ax, ![A : $t]: (?[m : 'type/num/num']: ((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = ('const/num/SUC' m)))).
tt('thm/words/MOD_DIMINDEX_', ax, ![A : $t]: (![n : 'type/num/num']: (('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A))) = ('const/bit/BITS' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' n)))).
tt('thm/words/BITS_ZEROL_DIMINDEX_', ax, ![A : $t]: (![n : 'type/num/num']: (('const/prim_rec/<' n (('const/words/dimword' A) ('const/bool/the_value' A))) => (('const/bit/BITS' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' n) = n)))).
tt('thm/words/MOD_2EXP_DIMINDEX_', ax, ![A : $t]: (![n : 'type/num/num']: (('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A))) = ('const/bit/MOD_2EXP' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n)))).
tt('thm/words/INT_MIN_SUM_', ax, ![A : $t, B : $t]: ((('const/words/INT_MIN' ('type/sum/sum' A B)) ('const/bool/the_value' ('type/sum/sum' A B))) = (('const/bool/COND' 'type/num/num') ((('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A)) & (('const/pred_set/FINITE' B) ('const/pred_set/UNIV' B))) ('const/arithmetic/*' (('const/words/dimword' A) ('const/bool/the_value' A)) (('const/words/INT_MIN' B) ('const/bool/the_value' B))) (('const/words/INT_MIN' ('type/sum/sum' A B)) ('const/bool/the_value' ('type/sum/sum' A B)))))).
tt('thm/words/ZERO_LT_INT_MIN_', ax, ![A : $t]: ('const/prim_rec/<' 'const/num/0' (('const/words/INT_MIN' A) ('const/bool/the_value' A)))).
tt('thm/words/ZERO_LT_INT_MAX_', ax, ![A : $t]: (('const/prim_rec/<' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ('const/prim_rec/<' 'const/num/0' (('const/words/INT_MAX' A) ('const/bool/the_value' A))))).
tt('thm/words/ZERO_LE_INT_MAX_', ax, ![A : $t]: ('const/arithmetic/<=' 'const/num/0' (('const/words/INT_MAX' A) ('const/bool/the_value' A)))).
tt('thm/words/ZERO_LT_UINT_MAX_', ax, ![A : $t]: ('const/prim_rec/<' 'const/num/0' (('const/words/UINT_MAX' A) ('const/bool/the_value' A)))).
tt('thm/words/INT_MIN_LT_DIMWORD_', ax, ![A : $t]: ('const/prim_rec/<' (('const/words/INT_MIN' A) ('const/bool/the_value' A)) (('const/words/dimword' A) ('const/bool/the_value' A)))).
tt('thm/words/INT_MAX_LT_DIMWORD_', ax, ![A : $t]: ('const/prim_rec/<' (('const/words/INT_MAX' A) ('const/bool/the_value' A)) (('const/words/dimword' A) ('const/bool/the_value' A)))).
tt('thm/words/dimindex_lt_dimword_', ax, ![A : $t]: ('const/prim_rec/<' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/words/dimword' A) ('const/bool/the_value' A)))).
tt('thm/words/BOUND_ORDER_0', ax, ![A : $t]: ('const/prim_rec/<' (('const/words/INT_MAX' A) ('const/bool/the_value' A)) (('const/words/INT_MIN' A) ('const/bool/the_value' A)))).
tt('thm/words/BOUND_ORDER_1', ax, ![A : $t]: ('const/arithmetic/<=' (('const/words/INT_MIN' A) ('const/bool/the_value' A)) (('const/words/UINT_MAX' A) ('const/bool/the_value' A)))).
tt('thm/words/BOUND_ORDER_e2', ax, ![A : $t]: ('const/prim_rec/<' (('const/words/UINT_MAX' A) ('const/bool/the_value' A)) (('const/words/dimword' A) ('const/bool/the_value' A)))).
tt('thm/words/dimindex_dimword_iso_', ax, ![B : $t, A : $t]: (((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ((('const/words/dimword' A) ('const/bool/the_value' A)) = (('const/words/dimword' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_dimword_le_iso_', ax, ![B : $t, A : $t]: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/arithmetic/<=' (('const/words/dimword' A) ('const/bool/the_value' A)) (('const/words/dimword' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_dimword_lt_iso_', ax, ![B : $t, A : $t]: (('const/prim_rec/<' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/prim_rec/<' (('const/words/dimword' A) ('const/bool/the_value' A)) (('const/words/dimword' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_int_min_iso_', ax, ![B : $t, A : $t]: (((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ((('const/words/INT_MIN' A) ('const/bool/the_value' A)) = (('const/words/INT_MIN' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_int_min_le_iso_', ax, ![B : $t, A : $t]: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/arithmetic/<=' (('const/words/INT_MIN' A) ('const/bool/the_value' A)) (('const/words/INT_MIN' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_int_min_lt_iso_', ax, ![B : $t, A : $t]: (('const/prim_rec/<' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/prim_rec/<' (('const/words/INT_MIN' A) ('const/bool/the_value' A)) (('const/words/INT_MIN' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_int_max_iso_', ax, ![B : $t, A : $t]: (((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ((('const/words/INT_MAX' A) ('const/bool/the_value' A)) = (('const/words/INT_MAX' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_int_max_le_iso_', ax, ![B : $t, A : $t]: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/arithmetic/<=' (('const/words/INT_MAX' A) ('const/bool/the_value' A)) (('const/words/INT_MAX' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_int_max_lt_iso_', ax, ![B : $t, A : $t]: (('const/prim_rec/<' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/prim_rec/<' (('const/words/INT_MAX' A) ('const/bool/the_value' A)) (('const/words/INT_MAX' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_uint_max_iso_', ax, ![B : $t, A : $t]: (((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ((('const/words/UINT_MAX' A) ('const/bool/the_value' A)) = (('const/words/UINT_MAX' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_uint_max_le_iso_', ax, ![B : $t, A : $t]: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/arithmetic/<=' (('const/words/UINT_MAX' A) ('const/bool/the_value' A)) (('const/words/UINT_MAX' B) ('const/bool/the_value' B))))).
tt('thm/words/dimindex_uint_max_lt_iso_', ax, ![B : $t, A : $t]: (('const/prim_rec/<' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) = ('const/prim_rec/<' (('const/words/UINT_MAX' A) ('const/bool/the_value' A)) (('const/words/UINT_MAX' B) ('const/bool/the_value' B))))).
tt('thm/words/w2n_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/w2n' A) (('const/words/n2w' A) n)) = ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A)))))).
tt('thm/words/n2w_w2n_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/n2w' A) (('const/words/w2n' A) w)) = w))).
tt('thm/words/word_nchotomy_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (?[n : 'type/num/num']: (w = (('const/words/n2w' A) n))))).
tt('thm/words/n2w_mod_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/n2w' A) ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A)))) = (('const/words/n2w' A) n)))).
tt('thm/words/n2w_11_', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: (((('const/words/n2w' A) m) = (('const/words/n2w' A) n)) = (('const/arithmetic/MOD' m (('const/words/dimword' A) ('const/bool/the_value' A))) = ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/ranged_word_nchotomy_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (?[n : 'type/num/num']: ((w = (('const/words/n2w' A) n)) & ('const/prim_rec/<' n (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/dimindex_1_cases_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) => ((a = (('const/words/n2w' A) 'const/num/0')) | (a = (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/mod_dimindex_', ax, ![A : $t]: (![n : 'type/num/num']: ('const/prim_rec/<' ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/dimword' A) ('const/bool/the_value' A))))).
tt('thm/words/WORD_INDUCT_', ax, ![A : $t]: (![P : (('type/fcp/cart' $o A) > $o)]: (((P (('const/words/n2w' A) 'const/num/0')) & (![n : 'type/num/num']: (('const/prim_rec/<' ('const/num/SUC' n) (('const/words/dimword' A) ('const/bool/the_value' A))) => ((P (('const/words/n2w' A) n)) => (P (('const/words/n2w' A) ('const/num/SUC' n))))))) => (![x : ('type/fcp/cart' $o A)]: (P x))))).
tt('thm/words/w2n_11_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: (((('const/words/w2n' A) v) = (('const/words/w2n' A) w)) = (v = w)))).
tt('thm/words/w2n_lt_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ('const/prim_rec/<' (('const/words/w2n' A) w) (('const/words/dimword' A) ('const/bool/the_value' A))))).
tt('thm/words/word_0_n2w_', ax, ![A : $t]: ((('const/words/w2n' A) (('const/words/n2w' A) 'const/num/0')) = 'const/num/0')).
tt('thm/words/word_1_n2w_', ax, ![A : $t]: ((('const/words/w2n' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))).
tt('thm/words/w2n_eq_0_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (((('const/words/w2n' A) w) = 'const/num/0') = (w = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/n2w_dimword_', ax, ![A : $t]: ((('const/words/n2w' A) (('const/words/dimword' A) ('const/bool/the_value' A))) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/word_2comp_dimindex_1_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (((('const/fcp/dimindex' A) ('const/bool/the_value' A)) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) => ((('const/words/word_2comp' A) w) = w)))).
tt('thm/words/word_add_n2w_', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_add' A) (('const/words/n2w' A) m) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/arithmetic/+' m n))))).
tt('thm/words/word_mul_n2w_', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_mul' A) (('const/words/n2w' A) m) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/arithmetic/*' m n))))).
tt('thm/words/word_log2_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_log2' A) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/LOG2' ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A)))))))).
tt('thm/words/word_1comp_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_1comp' A) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/arithmetic/-' ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A)))))))).
tt('thm/words/word_2comp_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_2comp' A) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A)))))))).
tt('thm/words/word_lsb_', ax, ![A : $t]: (('const/words/word_lsb' A) = (('const/words/word_bit' A) 'const/num/0'))).
tt('thm/words/word_msb_', ax, ![A : $t]: (('const/words/word_msb' A) = (('const/words/word_bit' A) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_lsb_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_lsb' A) (('const/words/n2w' A) n)) = ('const/arithmetic/ODD' n)))).
tt('thm/words/word_msb_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_msb' A) (('const/words/n2w' A) n)) = ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) n)))).
tt('thm/words/word_msb_n2w_numeric_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_msb' A) (('const/words/n2w' A) n)) = ('const/arithmetic/<=' (('const/words/INT_MIN' A) ('const/bool/the_value' A)) ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/word_and_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_and' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) $and n m))))).
tt('thm/words/word_or_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_or' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) $or n m))))).
tt('thm/words/word_xor_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_xor' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (^[x : $o, y : $o]: (~ (x = y))) n m))))).
tt('thm/words/word_nand_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_nand' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (^[x : $o, y : $o]: (~ (x & y))) n m))))).
tt('thm/words/word_nor_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_nor' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (^[x : $o, y : $o]: (~ (x | y))) n m))))).
tt('thm/words/word_xnor_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_xnor' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ($equals $o) n m))))).
tt('thm/words/l2w_w2l_', ax, ![A : $t]: (![b : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) b) => ((('const/words/l2w' A) b (('const/words/w2l' A) b w)) = w)))).
tt('thm/words/w2l_l2w_', ax, ![A : $t]: (![b : 'type/num/num', l : ('type/list/list' 'type/num/num')]: ((('const/words/w2l' A) b (('const/words/l2w' A) b l)) = ('const/numposrep/n2l' b ('const/arithmetic/MOD' ('const/numposrep/l2n' b l) (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/s2w_w2s_', ax, ![A : $t]: (![c2n : ('type/string/char' > 'type/num/num'), n2c : ('type/num/num' > 'type/string/char'), b : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/prim_rec/<' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) b) & (![x : 'type/num/num']: (('const/prim_rec/<' x b) => ((c2n (n2c x)) = x)))) => ((('const/words/s2w' A) b c2n (('const/words/w2s' A) b n2c w)) = w)))).
tt('thm/words/w2s_s2w_', ax, ![A : $t]: (![b : 'type/num/num', c2n : ('type/string/char' > 'type/num/num'), n2c : ('type/num/num' > 'type/string/char'), s : ('type/list/list' 'type/string/char')]: ((('const/words/w2s' A) b n2c (('const/words/s2w' A) b c2n s)) = ('const/ASCIInumbers/n2s' b n2c ('const/arithmetic/MOD' ('const/ASCIInumbers/s2n' b c2n s) (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/NUMERAL_LESS_THM_0', ax, (![m : 'type/num/num', n : 'type/num/num']: (('const/prim_rec/<' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' n))) = ((m = ('const/arithmetic/-' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' n)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) | ('const/prim_rec/<' m ('const/arithmetic/-' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' n)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/NUMERAL_LESS_THM_e1', ax, (![m : 'type/num/num', n : 'type/num/num']: (('const/prim_rec/<' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' n))) = ((m = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' n))) | ('const/prim_rec/<' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' n))))))).
tt('thm/words/word_bin_list_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/num/num')) ('const/words/word_from_bin_list' A) ('const/words/word_to_bin_list' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_oct_list_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/num/num')) ('const/words/word_from_oct_list' A) ('const/words/word_to_oct_list' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_dec_list_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/num/num')) ('const/words/word_from_dec_list' A) ('const/words/word_to_dec_list' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_hex_list_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/num/num')) ('const/words/word_from_hex_list' A) ('const/words/word_to_hex_list' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_bin_string_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/string/char')) ('const/words/word_from_bin_string' A) ('const/words/word_to_bin_string' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_oct_string_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/string/char')) ('const/words/word_from_oct_string' A) ('const/words/word_to_oct_string' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_dec_string_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/string/char')) ('const/words/word_from_dec_string' A) ('const/words/word_to_dec_string' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_hex_string_', ax, ![A : $t]: ((('const/combin/o' ('type/fcp/cart' $o A) ('type/fcp/cart' $o A) ('type/list/list' 'type/string/char')) ('const/words/word_from_hex_string' A) ('const/words/word_to_hex_string' A)) = ('const/combin/I' ('type/fcp/cart' $o A)))).
tt('thm/words/word_0_', ax, ![A : $t]: (![i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => (~ (('const/fcp/fcp_index' $o A) (('const/words/n2w' A) 'const/num/0') i))))).
tt('thm/words/word_eq_0_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((w = (('const/words/n2w' A) 'const/num/0')) = (![i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => (~ (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/word_T_', ax, ![A : $t]: (![i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => (('const/fcp/fcp_index' $o A) ('const/words/word_T' A) i)))).
tt('thm/words/FCP_T_F_0', ax, ![A : $t]: ((('const/fcp/FCP' $o A) (('const/combin/K' $o 'type/num/num') $true)) = ('const/words/word_T' A))).
tt('thm/words/FCP_T_F_e1', ax, ![B : $t]: ((('const/fcp/FCP' $o B) (('const/combin/K' $o 'type/num/num') $false)) = (('const/words/n2w' B) 'const/num/0'))).
tt('thm/words/word_L_', ax, ![A : $t]: (![n : 'type/num/num']: (('const/prim_rec/<' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) ('const/words/word_L' A) n) = (n = ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/word_H_', ax, ![A : $t]: (![n : 'type/num/num']: (('const/prim_rec/<' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) ('const/words/word_H' A) n) = ('const/prim_rec/<' n ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/word_L2_', ax, ![A : $t]: (('const/words/word_L2' A) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/prim_rec/<' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/n2w' A) 'const/num/0') ('const/words/word_L' A)))).
tt('thm/words/WORD_NEG_1_', ax, ![A : $t]: ((('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = ('const/words/word_T' A))).
tt('thm/words/WORD_NEG_1_T_', ax, ![A : $t]: (![i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => (('const/fcp/fcp_index' $o A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) i)))).
tt('thm/words/WORD_MSB_1COMP_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_msb' A) (('const/words/word_1comp' A) w)) = (~ (('const/words/word_msb' A) w))))).
tt('thm/words/w2n_minus1_', ax, ![A : $t]: ((('const/words/w2n' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/WORD_NOT_NOT_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_1comp' A) (('const/words/word_1comp' A) a)) = a))).
tt('thm/words/WORD_DE_MORGAN_THM_0', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_1comp' A) (('const/words/word_and' A) a b)) = (('const/words/word_or' A) (('const/words/word_1comp' A) a) (('const/words/word_1comp' A) b))))).
tt('thm/words/WORD_DE_MORGAN_THM_e1', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_1comp' A) (('const/words/word_or' A) a b)) = (('const/words/word_and' A) (('const/words/word_1comp' A) a) (('const/words/word_1comp' A) b))))).
tt('thm/words/WORD_NOT_XOR_0', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_1comp' A) a) (('const/words/word_1comp' A) b)) = (('const/words/word_xor' A) a b)))).
tt('thm/words/WORD_NOT_XOR_1', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a (('const/words/word_1comp' A) b)) = (('const/words/word_1comp' A) (('const/words/word_xor' A) a b))))).
tt('thm/words/WORD_NOT_XOR_e2', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_1comp' A) a) b) = (('const/words/word_1comp' A) (('const/words/word_xor' A) a b))))).
tt('thm/words/WORD_AND_CLAUSES_0', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) ('const/words/word_T' A) a) = a))).
tt('thm/words/WORD_AND_CLAUSES_1', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a ('const/words/word_T' A)) = a))).
tt('thm/words/WORD_AND_CLAUSES_2', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/n2w' A) 'const/num/0') a) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_AND_CLAUSES_3', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_AND_CLAUSES_e4', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a a) = a))).
tt('thm/words/WORD_OR_CLAUSES_0', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) ('const/words/word_T' A) a) = ('const/words/word_T' A)))).
tt('thm/words/WORD_OR_CLAUSES_1', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a ('const/words/word_T' A)) = ('const/words/word_T' A)))).
tt('thm/words/WORD_OR_CLAUSES_2', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/n2w' A) 'const/num/0') a) = a))).
tt('thm/words/WORD_OR_CLAUSES_3', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a (('const/words/n2w' A) 'const/num/0')) = a))).
tt('thm/words/WORD_OR_CLAUSES_e4', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a a) = a))).
tt('thm/words/WORD_XOR_CLAUSES_0', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) ('const/words/word_T' A) a) = (('const/words/word_1comp' A) a)))).
tt('thm/words/WORD_XOR_CLAUSES_1', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a ('const/words/word_T' A)) = (('const/words/word_1comp' A) a)))).
tt('thm/words/WORD_XOR_CLAUSES_2', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/n2w' A) 'const/num/0') a) = a))).
tt('thm/words/WORD_XOR_CLAUSES_3', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a (('const/words/n2w' A) 'const/num/0')) = a))).
tt('thm/words/WORD_XOR_CLAUSES_e4', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a a) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_AND_ASSOC_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_and' A) a b) c) = (('const/words/word_and' A) a (('const/words/word_and' A) b c))))).
tt('thm/words/WORD_OR_ASSOC_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_or' A) a b) c) = (('const/words/word_or' A) a (('const/words/word_or' A) b c))))).
tt('thm/words/WORD_XOR_ASSOC_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_xor' A) a b) c) = (('const/words/word_xor' A) a (('const/words/word_xor' A) b c))))).
tt('thm/words/WORD_AND_COMM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a b) = (('const/words/word_and' A) b a)))).
tt('thm/words/WORD_OR_COMM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a b) = (('const/words/word_or' A) b a)))).
tt('thm/words/WORD_XOR_COMM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a b) = (('const/words/word_xor' A) b a)))).
tt('thm/words/WORD_AND_IDEM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a a) = a))).
tt('thm/words/WORD_OR_IDEM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a a) = a))).
tt('thm/words/WORD_AND_ABSORD_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a (('const/words/word_and' A) a b)) = a))).
tt('thm/words/WORD_OR_ABSORB_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a (('const/words/word_or' A) a b)) = a))).
tt('thm/words/WORD_AND_COMP_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a (('const/words/word_1comp' A) a)) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_OR_COMP_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a (('const/words/word_1comp' A) a)) = ('const/words/word_T' A)))).
tt('thm/words/WORD_XOR_COMP_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a (('const/words/word_1comp' A) a)) = ('const/words/word_T' A)))).
tt('thm/words/WORD_RIGHT_AND_OVER_OR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_or' A) a b) c) = (('const/words/word_or' A) (('const/words/word_and' A) a c) (('const/words/word_and' A) b c))))).
tt('thm/words/WORD_RIGHT_OR_OVER_AND_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_and' A) a b) c) = (('const/words/word_and' A) (('const/words/word_or' A) a c) (('const/words/word_or' A) b c))))).
tt('thm/words/WORD_RIGHT_AND_OVER_XOR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_xor' A) a b) c) = (('const/words/word_xor' A) (('const/words/word_and' A) a c) (('const/words/word_and' A) b c))))).
tt('thm/words/WORD_LEFT_AND_OVER_OR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a (('const/words/word_or' A) b c)) = (('const/words/word_or' A) (('const/words/word_and' A) a b) (('const/words/word_and' A) a c))))).
tt('thm/words/WORD_LEFT_OR_OVER_AND_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) a (('const/words/word_and' A) b c)) = (('const/words/word_and' A) (('const/words/word_or' A) a b) (('const/words/word_or' A) a c))))).
tt('thm/words/WORD_LEFT_AND_OVER_XOR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) a (('const/words/word_xor' A) b c)) = (('const/words/word_xor' A) (('const/words/word_and' A) a b) (('const/words/word_and' A) a c))))).
tt('thm/words/WORD_XOR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) a b) = (('const/words/word_or' A) (('const/words/word_and' A) a (('const/words/word_1comp' A) b)) (('const/words/word_and' A) b (('const/words/word_1comp' A) a)))))).
tt('thm/words/WORD_NAND_NOT_AND_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_nand' A) a b) = (('const/words/word_1comp' A) (('const/words/word_and' A) a b))))).
tt('thm/words/WORD_NOR_NOT_OR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_nor' A) a b) = (('const/words/word_1comp' A) (('const/words/word_or' A) a b))))).
tt('thm/words/WORD_XNOR_NOT_XOR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_xnor' A) a b) = (('const/words/word_1comp' A) (('const/words/word_xor' A) a b))))).
tt('thm/words/WORD_ADD_OR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((('const/words/word_and' A) a b) = (('const/words/n2w' A) 'const/num/0')) => ((('const/words/word_add' A) a b) = (('const/words/word_or' A) a b))))).
tt('thm/words/WORD_ADD_XOR_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((('const/words/word_and' A) a b) = (('const/words/n2w' A) 'const/num/0')) => ((('const/words/word_add' A) a b) = (('const/words/word_xor' A) a b))))).
tt('thm/words/WORD_AND_EXP_SUB1_', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_and' A) (('const/words/n2w' A) n) (('const/words/n2w' A) ('const/arithmetic/-' ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) m) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/n2w' A) ('const/arithmetic/MOD' n ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) m)))))).
tt('thm/words/w2w_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A), i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' B) ('const/bool/the_value' B))) => ((('const/fcp/fcp_index' $o B) (('const/words/w2w' A B) w) i) = (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & (('const/fcp/fcp_index' $o A) w i)))))).
tt('thm/words/sw2sw_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A), i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' B) ('const/bool/the_value' B))) => ((('const/fcp/fcp_index' $o B) (('const/words/sw2sw' A B) w) i) = (('const/bool/COND' $o) (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) | ('const/prim_rec/<' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) (('const/fcp/fcp_index' $o A) w i) (('const/words/word_msb' A) w)))))).
tt('thm/words/w2w_id_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/w2w' A A) w) = w))).
tt('thm/words/sw2sw_id_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/sw2sw' A A) w) = w))).
tt('thm/words/w2w_w2w_', ax, ![A : $t, B : $t, C : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/w2w' B C) (('const/words/w2w' A B) w)) = (('const/words/w2w' A C) (('const/words/word_bits' A) ('const/arithmetic/-' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' w))))).
tt('thm/words/sw2sw_sw2sw_', ax, ![A : $t, C : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/sw2sw' B C) (('const/words/sw2sw' A B) w)) = (('const/bool/COND' ('type/fcp/cart' $o C)) (('const/prim_rec/<' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & ('const/prim_rec/<' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' C) ('const/bool/the_value' C)))) (('const/words/sw2sw' B C) (('const/words/w2w' A B) w)) (('const/words/sw2sw' A C) w))))).
tt('thm/words/sw2sw_w2w_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/sw2sw' A B) w) = (('const/words/word_or' B) (('const/bool/COND' ('type/fcp/cart' $o B)) (('const/words/word_msb' A) w) (('const/words/word_lsl' B) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/n2w' B) 'const/num/0')) (('const/words/w2w' A B) w))))).
tt('thm/words/word_bit_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), b : 'type/num/num']: (('const/prim_rec/<' b (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) w b) = (('const/words/word_bit' A) b w))))).
tt('thm/words/word_slice_n2w_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num']: ((('const/words/word_slice' A) h l (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/SLICE' ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) l n))))).
tt('thm/words/word_bits_n2w_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num']: ((('const/words/word_bits' A) h l (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/BITS' ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) l n))))).
tt('thm/words/word_bit_n2w_', ax, ![A : $t]: (![b : 'type/num/num', n : 'type/num/num']: ((('const/words/word_bit' A) b (('const/words/n2w' A) n)) = (('const/arithmetic/<=' b ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & ('const/bit/BIT' b n))))).
tt('thm/words/word_signed_bits_n2w_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num']: ((('const/words/word_signed_bits' A) h l (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/SIGN_EXTEND' ('const/arithmetic/-' ('const/arithmetic/MIN' ('const/num/SUC' h) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) l) (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/bit/BITS' ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) l n)))))).
tt('thm/words/word_sign_extend_bits_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_signed_bits' A) h l w) = (('const/words/word_sign_extend' A) ('const/arithmetic/-' ('const/arithmetic/MIN' ('const/num/SUC' h) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) l) (('const/words/word_bits' A) h l w))))).
tt('thm/words/word_index_n2w_', ax, ![A : $t]: (!['index too large' : $o, n : 'type/num/num', i : 'type/num/num']: ((('const/fcp/fcp_index' $o A) (('const/words/n2w' A) n) i) = (('const/bool/COND' $o) ('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) ('const/bit/BIT' i n) (('const/combin/FAIL' (('type/fcp/cart' $o A) > ('type/num/num' > $o)) $o) ('const/fcp/fcp_index' $o A) 'index too large' (('const/words/n2w' A) n) i))))).
tt('thm/words/word_index_', ax, ![A : $t]: (![n : 'type/num/num', i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) (('const/words/n2w' A) n) i) = ('const/bit/BIT' i n))))).
tt('thm/words/word_bits_w2w_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A), h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_bits' B) h l (('const/words/w2w' A B) w)) = (('const/words/w2w' A B) (('const/words/word_bits' A) ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) l w))))).
tt('thm/words/word_reverse_n2w_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_reverse' A) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/BIT_REVERSE' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n))))).
tt('thm/words/word_modify_n2w_', ax, ![A : $t]: (![f : ('type/num/num' > ($o > $o)), n : 'type/num/num']: ((('const/words/word_modify' A) f (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/BIT_MODIFY' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) f n))))).
tt('thm/words/fcp_n2w_', ax, ![A : $t]: (![f : ('type/num/num' > $o)]: ((('const/fcp/FCP' $o A) f) = (('const/words/word_modify' A) (^[i : 'type/num/num', b : $o]: (f i)) (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/w2n_w2w_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/w2n' B) (('const/words/w2w' A B) w)) = (('const/bool/COND' 'type/num/num') ('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) (('const/words/w2n' A) w) (('const/words/w2n' A) (('const/words/word_bits' A) ('const/arithmetic/-' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' w)))))).
tt('thm/words/w2n_w2w_le_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ('const/arithmetic/<=' (('const/words/w2n' B) (('const/words/w2w' A B) w)) (('const/words/w2n' A) w)))).
tt('thm/words/w2w_lt_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ('const/prim_rec/<' (('const/words/w2n' B) (('const/words/w2w' A B) w)) (('const/words/dimword' A) ('const/bool/the_value' A))))).
tt('thm/words/w2w_n2w_', ax, ![A : $t, B : $t]: (![n : 'type/num/num']: ((('const/words/w2w' A B) (('const/words/n2w' A) n)) = (('const/bool/COND' ('type/fcp/cart' $o B)) ('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/n2w' B) n) (('const/words/n2w' B) ('const/bit/BITS' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' n)))))).
tt('thm/words/w2w_0_', ax, ![A : $t, B : $t]: ((('const/words/w2w' B A) (('const/words/n2w' B) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/w2n_11_lift_', ax, ![B : $t, C : $t, A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o B)]: ((('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' C) ('const/bool/the_value' C))) & ('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' C) ('const/bool/the_value' C)))) => (((('const/words/w2n' A) a) = (('const/words/w2n' B) b)) = ((('const/words/w2w' A C) a) = (('const/words/w2w' B C) b)))))).
tt('thm/words/word_extract_n2w_', ax, ![A : $t, B : $t]: (![n : 'type/num/num', l : 'type/num/num', h : 'type/num/num']: ((('const/words/word_extract' A B) h l (('const/words/n2w' A) n)) = (('const/bool/COND' ('type/fcp/cart' $o B)) ('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/n2w' B) ('const/bit/BITS' ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) l n)) (('const/words/n2w' B) ('const/bit/BITS' ('const/arithmetic/MIN' ('const/arithmetic/MIN' h ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) ('const/arithmetic/+' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l)) l n)))))).
tt('thm/words/n2w_BITS_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num']: (('const/prim_rec/<' h (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/n2w' A) ('const/bit/BITS' h l n)) = (('const/words/word_bits' A) h l (('const/words/n2w' A) n)))))).
tt('thm/words/word_extract_w2w_', ax, ![A : $t, C : $t, B : $t]: (![w : ('type/fcp/cart' $o A), h : 'type/num/num', l : 'type/num/num']: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) => ((('const/words/word_extract' B C) h l (('const/words/w2w' A B) w)) = (('const/words/word_extract' A C) h l w))))).
tt('thm/words/WORD_w2w_EXTRACT_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/w2w' A B) w) = (('const/words/word_extract' A B) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' w)))).
tt('thm/words/WORD_EQ_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((![x : 'type/num/num']: (('const/prim_rec/<' x (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/word_bit' A) x v) = (('const/words/word_bit' A) x w)))) = (v = w)))).
tt('thm/words/BIT_UPDATE_', ax, ![A : $t]: (![n : 'type/num/num', x : $o]: ((('const/fcp/:+' $o A) n x) = (('const/words/word_modify' A) (^[i : 'type/num/num', b : $o]: (('const/bool/COND' $o) (i = n) x b)))))).
tt('thm/words/WORD_MODIFY_BIT_', ax, ![A : $t]: (![f : ('type/num/num' > ($o > $o)), w : ('type/fcp/cart' $o A), i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) (('const/words/word_modify' A) f w) i) = (f i (('const/fcp/fcp_index' $o A) w i)))))).
tt('thm/words/WORD_BIT_BITS_', ax, ![A : $t]: (![b : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_bit' A) b w) = ((('const/words/word_bits' A) b b w) = (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_BITS_COMP_THM_', ax, ![A : $t]: (![h1 : 'type/num/num', l1 : 'type/num/num', h2 : 'type/num/num', l2 : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_bits' A) h2 l2 (('const/words/word_bits' A) h1 l1 w)) = (('const/words/word_bits' A) ('const/arithmetic/MIN' h1 ('const/arithmetic/+' h2 l1)) ('const/arithmetic/+' l2 l1) w)))).
tt('thm/words/WORD_BITS_EXTRACT_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_bits' A) h l w) = (('const/words/word_extract' A A) h l w)))).
tt('thm/words/WORD_BITS_LSR_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_lsr' A) (('const/words/word_bits' A) h l w) n) = (('const/words/word_bits' A) h ('const/arithmetic/+' l n) w)))).
tt('thm/words/WORD_BITS_ZERO_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' h l) => ((('const/words/word_bits' A) h l w) = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_BITS_ZERO2_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_bits' A) h l (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_BITS_ZERO3_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) l) => ((('const/words/word_bits' A) h l w) = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_BITS_LT_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ('const/prim_rec/<' (('const/words/w2n' A) (('const/words/word_bits' A) h l w)) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/arithmetic/-' ('const/num/SUC' h) l))))).
tt('thm/words/WORD_EXTRACT_LT_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ('const/prim_rec/<' (('const/words/w2n' B) (('const/words/word_extract' A B) h l w)) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/arithmetic/-' ('const/num/SUC' h) l))))).
tt('thm/words/WORD_EXTRACT_ZERO_', ax, ![B : $t, A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' h l) => ((('const/words/word_extract' A B) h l w) = (('const/words/n2w' B) 'const/num/0'))))).
tt('thm/words/WORD_EXTRACT_ZERO2_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num']: ((('const/words/word_extract' B A) h l (('const/words/n2w' B) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_EXTRACT_ZERO3_', ax, ![B : $t, A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) l) => ((('const/words/word_extract' A B) h l w) = (('const/words/n2w' B) 'const/num/0'))))).
tt('thm/words/WORD_SLICE_THM_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_slice' A) h l w) = (('const/words/word_lsl' A) (('const/words/word_bits' A) h l w) l)))).
tt('thm/words/WORD_SLICE_ZERO_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' h l) => ((('const/words/word_slice' A) h l w) = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_SLICE_ZERO2_', ax, ![A : $t]: (![l : 'type/num/num', h : 'type/num/num']: ((('const/words/word_slice' A) h l (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_SLICE_BITS_THM_', ax, ![A : $t]: (![h : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_slice' A) h 'const/num/0' w) = (('const/words/word_bits' A) h 'const/num/0' w)))).
tt('thm/words/WORD_BITS_SLICE_THM_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_bits' A) h l (('const/words/word_slice' A) h l w)) = (('const/words/word_bits' A) h l w)))).
tt('thm/words/WORD_SLICE_COMP_THM_', ax, ![A : $t]: (![h : 'type/num/num', 'm\'' : 'type/num/num', m : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/arithmetic/<=' l m) & (('m\'' = ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & ('const/prim_rec/<' m h))) => ((('const/words/word_or' A) (('const/words/word_slice' A) h 'm\'' w) (('const/words/word_slice' A) m l w)) = (('const/words/word_slice' A) h l w))))).
tt('thm/words/WORD_EXTRACT_COMP_THM_', ax, ![C : $t, B : $t, A : $t]: (![w : ('type/fcp/cart' $o C), h : 'type/num/num', l : 'type/num/num', m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_extract' B A) h l (('const/words/word_extract' C B) m n w)) = (('const/words/word_extract' C A) ('const/arithmetic/MIN' m ('const/arithmetic/MIN' ('const/arithmetic/+' h n) ('const/arithmetic/MIN' ('const/arithmetic/-' (('const/fcp/dimindex' C) ('const/bool/the_value' C)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) n) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))) ('const/arithmetic/+' l n) w)))).
tt('thm/words/WORD_EXTRACT_BITS_COMP_', ax, ![A : $t, B : $t]: (![n : ('type/fcp/cart' $o A), l : 'type/num/num', k : 'type/num/num', j : 'type/num/num', h : 'type/num/num']: ((('const/words/word_extract' A B) j k (('const/words/word_bits' A) h l n)) = (('const/words/word_extract' A B) ('const/arithmetic/MIN' h ('const/arithmetic/+' j l)) ('const/arithmetic/+' k l) n)))).
tt('thm/words/WORD_ALL_BITS_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), h : 'type/num/num']: (('const/arithmetic/<=' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) h) => ((('const/words/word_bits' A) h 'const/num/0' w) = w)))).
tt('thm/words/EXTRACT_ALL_BITS_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/arithmetic/<=' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) h) => ((('const/words/word_extract' A B) h 'const/num/0' w) = (('const/words/w2w' A B) w))))).
tt('thm/words/WORD_BITS_MIN_HIGH_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), h : 'type/num/num', l : 'type/num/num']: (('const/prim_rec/<' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) h) => ((('const/words/word_bits' A) h l w) = (('const/words/word_bits' A) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l w))))).
tt('thm/words/WORD_EXTRACT_MIN_HIGH_0', ax, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l)) & ('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) h)) => ((('const/words/word_extract' A B) h l w) = (('const/words/word_extract' A B) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l w))))).
tt('thm/words/WORD_EXTRACT_MIN_HIGH_e1', ax, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/prim_rec/<' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & ('const/arithmetic/<=' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) h)) => ((('const/words/word_extract' A B) h l w) = (('const/words/word_extract' A B) ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l w))))).
tt('thm/words/CONCAT_EXTRACT_', ax, ![A : $t, D : $t, C : $t, B : $t]: (![h : 'type/num/num', m : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (((('const/arithmetic/-' h m) = (('const/fcp/dimindex' B) ('const/bool/the_value' B))) & ((('const/arithmetic/-' ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l) = (('const/fcp/dimindex' C) ('const/bool/the_value' C))) & ((('const/arithmetic/-' ('const/arithmetic/+' h ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l) = (('const/fcp/dimindex' D) ('const/bool/the_value' D))) & (~ ((('const/fcp/dimindex' ('type/sum/sum' B C)) ('const/bool/the_value' ('type/sum/sum' B C))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))) => ((('const/words/word_concat' B C D) (('const/words/word_extract' A B) h ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) w) (('const/words/word_extract' A C) m l w)) = (('const/words/word_extract' A D) h l w))))).
tt('thm/words/EXTRACT_CONCAT_', ax, ![A : $t, B : $t, C : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o B)]: (((('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A)) & ((('const/pred_set/FINITE' B) ('const/pred_set/UNIV' B)) & ('const/arithmetic/<=' ('const/arithmetic/+' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) (('const/fcp/dimindex' C) ('const/bool/the_value' C))))) => (((('const/words/word_extract' C B) ('const/arithmetic/-' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' (('const/words/word_concat' A B C) v w)) = w) & ((('const/words/word_extract' C A) ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/words/word_concat' A B C) v w)) = v))))).
tt('thm/words/EXTRACT_JOIN_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', m : 'type/num/num', 'm\'' : 'type/num/num', l : 'type/num/num', s : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/arithmetic/<=' l m) & (('const/arithmetic/<=' 'm\'' h) & (('m\'' = ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & (s = ('const/arithmetic/-' 'm\'' l))))) => ((('const/words/word_or' B) (('const/words/word_lsl' B) (('const/words/word_extract' A B) h 'm\'' w) s) (('const/words/word_extract' A B) m l w)) = (('const/words/word_extract' A B) ('const/arithmetic/MIN' h ('const/arithmetic/MIN' ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) l w))))).
tt('thm/words/EXTRACT_JOIN_ADD_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', m : 'type/num/num', 'm\'' : 'type/num/num', l : 'type/num/num', s : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/arithmetic/<=' l m) & (('const/arithmetic/<=' 'm\'' h) & (('m\'' = ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & (s = ('const/arithmetic/-' 'm\'' l))))) => ((('const/words/word_add' B) (('const/words/word_lsl' B) (('const/words/word_extract' A B) h 'm\'' w) s) (('const/words/word_extract' A B) m l w)) = (('const/words/word_extract' A B) ('const/arithmetic/MIN' h ('const/arithmetic/MIN' ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) l w))))).
tt('thm/words/EXTEND_EXTRACT_', ax, ![A : $t, C : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num', w : ('type/fcp/cart' $o A)]: (((('const/fcp/dimindex' C) ('const/bool/the_value' C)) = ('const/arithmetic/-' ('const/arithmetic/+' h ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) l)) => ((('const/words/word_extract' A B) h l w) = (('const/words/w2w' C B) (('const/words/word_extract' A C) h l w)))))).
tt('thm/words/WORD_SLICE_OVER_BITWISE_0', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_slice' A) h l v) (('const/words/word_slice' A) h l w)) = (('const/words/word_slice' A) h l (('const/words/word_and' A) v w))))).
tt('thm/words/WORD_SLICE_OVER_BITWISE_1', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_slice' A) h l v) (('const/words/word_slice' A) h l w)) = (('const/words/word_slice' A) h l (('const/words/word_or' A) v w))))).
tt('thm/words/WORD_SLICE_OVER_BITWISE_e2', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_slice' A) h l v) (('const/words/word_slice' A) h l w)) = (('const/words/word_slice' A) h l (('const/words/word_xor' A) v w))))).
tt('thm/words/WORD_BITS_OVER_BITWISE_0', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_bits' A) h l v) (('const/words/word_bits' A) h l w)) = (('const/words/word_bits' A) h l (('const/words/word_and' A) v w))))).
tt('thm/words/WORD_BITS_OVER_BITWISE_1', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_bits' A) h l v) (('const/words/word_bits' A) h l w)) = (('const/words/word_bits' A) h l (('const/words/word_or' A) v w))))).
tt('thm/words/WORD_BITS_OVER_BITWISE_e2', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_bits' A) h l v) (('const/words/word_bits' A) h l w)) = (('const/words/word_bits' A) h l (('const/words/word_xor' A) v w))))).
tt('thm/words/WORD_w2w_OVER_BITWISE_0', ax, ![A : $t, B : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' B) (('const/words/w2w' A B) v) (('const/words/w2w' A B) w)) = (('const/words/w2w' A B) (('const/words/word_and' A) v w))))).
tt('thm/words/WORD_w2w_OVER_BITWISE_1', ax, ![A : $t, B : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' B) (('const/words/w2w' A B) v) (('const/words/w2w' A B) w)) = (('const/words/w2w' A B) (('const/words/word_or' A) v w))))).
tt('thm/words/WORD_w2w_OVER_BITWISE_e2', ax, ![A : $t, B : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' B) (('const/words/w2w' A B) v) (('const/words/w2w' A B) w)) = (('const/words/w2w' A B) (('const/words/word_xor' A) v w))))).
tt('thm/words/WORD_EXTRACT_OVER_BITWISE_0', ax, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' B) (('const/words/word_extract' A B) h l v) (('const/words/word_extract' A B) h l w)) = (('const/words/word_extract' A B) h l (('const/words/word_and' A) v w))))).
tt('thm/words/WORD_EXTRACT_OVER_BITWISE_1', ax, ![A : $t, C : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' C) (('const/words/word_extract' A C) h l v) (('const/words/word_extract' A C) h l w)) = (('const/words/word_extract' A C) h l (('const/words/word_or' A) v w))))).
tt('thm/words/WORD_EXTRACT_OVER_BITWISE_e2', ax, ![A : $t, D : $t]: (![h : 'type/num/num', l : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' D) (('const/words/word_extract' A D) h l v) (('const/words/word_extract' A D) h l w)) = (('const/words/word_extract' A D) h l (('const/words/word_xor' A) v w))))).
tt('thm/words/WORD_w2w_OVER_ADD_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/w2w' A B) (('const/words/word_add' A) a b)) = (('const/words/word_bits' B) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' (('const/words/word_add' B) (('const/words/w2w' A B) a) (('const/words/w2w' A B) b)))))).
tt('thm/words/WORD_w2w_OVER_MUL_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/w2w' A B) (('const/words/word_mul' A) a b)) = (('const/words/word_bits' B) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' (('const/words/word_mul' B) (('const/words/w2w' A B) a) (('const/words/w2w' A B) b)))))).
tt('thm/words/WORD_EXTRACT_OVER_ADD_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), h : 'type/num/num']: ((('const/arithmetic/<=' ('const/arithmetic/-' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) h) & ('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) => ((('const/words/word_extract' A B) h 'const/num/0' (('const/words/word_add' A) a b)) = (('const/words/word_add' B) (('const/words/word_extract' A B) h 'const/num/0' a) (('const/words/word_extract' A B) h 'const/num/0' b)))))).
tt('thm/words/WORD_EXTRACT_OVER_MUL_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), h : 'type/num/num']: ((('const/arithmetic/<=' ('const/arithmetic/-' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) h) & ('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) => ((('const/words/word_extract' A B) h 'const/num/0' (('const/words/word_mul' A) a b)) = (('const/words/word_mul' B) (('const/words/word_extract' A B) h 'const/num/0' a) (('const/words/word_extract' A B) h 'const/num/0' b)))))).
tt('thm/words/WORD_EXTRACT_OVER_ADD2_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), h : 'type/num/num']: (('const/prim_rec/<' h (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/word_extract' B B) h 'const/num/0' (('const/words/word_add' B) (('const/words/word_extract' A B) h 'const/num/0' a) (('const/words/word_extract' A B) h 'const/num/0' b))) = (('const/words/word_extract' A B) h 'const/num/0' (('const/words/word_add' A) a b)))))).
tt('thm/words/WORD_EXTRACT_OVER_MUL2_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), h : 'type/num/num']: (('const/prim_rec/<' h (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/word_extract' B B) h 'const/num/0' (('const/words/word_mul' B) (('const/words/word_extract' A B) h 'const/num/0' a) (('const/words/word_extract' A B) h 'const/num/0' b))) = (('const/words/word_extract' A B) h 'const/num/0' (('const/words/word_mul' A) a b)))))).
tt('thm/words/WORD_EXTRACT_ID_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), h : 'type/num/num']: (('const/prim_rec/<' (('const/words/w2n' A) w) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/num/SUC' h))) => ((('const/words/word_extract' A A) h 'const/num/0' w) = w)))).
tt('thm/words/BIT_SET_', ax, (![i : 'type/num/num', n : 'type/num/num']: (('const/bit/BIT' i n) = (('const/bool/IN' 'type/num/num') i ('const/words/BIT_SET' 'const/num/0' n))))).
tt('thm/words/WORD_LITERAL_AND_0', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_and' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/arithmetic/MIN' ('const/bit/LOG2' n) ('const/bit/LOG2' m))) $and n m))))).
tt('thm/words/WORD_LITERAL_AND_1', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_and' A) (('const/words/n2w' A) n) (('const/words/word_1comp' A) (('const/words/n2w' A) m))) = (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/bit/LOG2' n)) (^[a : $o, b : $o]: (a & (~ b))) n m))))).
tt('thm/words/WORD_LITERAL_AND_2', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_and' A) (('const/words/word_1comp' A) (('const/words/n2w' A) m)) (('const/words/n2w' A) n)) = (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/bit/LOG2' n)) (^[a : $o, b : $o]: (a & (~ b))) n m))))).
tt('thm/words/WORD_LITERAL_AND_e3', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_and' A) (('const/words/word_1comp' A) (('const/words/n2w' A) n)) (('const/words/word_1comp' A) (('const/words/n2w' A) m))) = (('const/words/word_1comp' A) (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/arithmetic/MAX' ('const/bit/LOG2' n) ('const/bit/LOG2' m))) $or n m)))))).
tt('thm/words/WORD_LITERAL_OR_0', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_or' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/arithmetic/MAX' ('const/bit/LOG2' n) ('const/bit/LOG2' m))) $or n m))))).
tt('thm/words/WORD_LITERAL_OR_1', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_or' A) (('const/words/n2w' A) n) (('const/words/word_1comp' A) (('const/words/n2w' A) m))) = (('const/words/word_1comp' A) (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/bit/LOG2' m)) (^[a : $o, b : $o]: (a & (~ b))) m n)))))).
tt('thm/words/WORD_LITERAL_OR_2', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_or' A) (('const/words/word_1comp' A) (('const/words/n2w' A) m)) (('const/words/n2w' A) n)) = (('const/words/word_1comp' A) (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/bit/LOG2' m)) (^[a : $o, b : $o]: (a & (~ b))) m n)))))).
tt('thm/words/WORD_LITERAL_OR_e3', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_or' A) (('const/words/word_1comp' A) (('const/words/n2w' A) n)) (('const/words/word_1comp' A) (('const/words/n2w' A) m))) = (('const/words/word_1comp' A) (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/arithmetic/MIN' ('const/bit/LOG2' n) ('const/bit/LOG2' m))) $and n m)))))).
tt('thm/words/WORD_LITERAL_XOR_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_xor' A) (('const/words/n2w' A) n) (('const/words/n2w' A) m)) = (('const/words/n2w' A) ('const/bit/BITWISE' ('const/num/SUC' ('const/arithmetic/MAX' ('const/bit/LOG2' n) ('const/bit/LOG2' m))) (^[x : $o, y : $o]: (~ (x = y))) n m))))).
tt('thm/words/word_replicate_concat_word_list_', ax, ![A : $t, B : $t]: (![n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_replicate' A B) n w) = (('const/words/concat_word_list' A B) (('const/list/GENLIST' ('type/fcp/cart' $o A)) (('const/combin/K' ('type/fcp/cart' $o A) 'type/num/num') w) n))))).
tt('thm/words/bit_field_insert_', ax, ![B : $t, A : $t]: (![h : 'type/num/num', l : 'type/num/num', a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o B)]: (('const/prim_rec/<' h ('const/arithmetic/+' l (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) => ((('const/words/bit_field_insert' B A) h l a b) = (('const/bool/LET' ('type/fcp/cart' $o B) ('type/fcp/cart' $o B)) (^[mask : ('type/fcp/cart' $o B)]: (('const/words/word_or' B) (('const/words/word_and' B) (('const/words/word_lsl' B) (('const/words/w2w' A B) a) l) mask) (('const/words/word_and' B) b (('const/words/word_1comp' B) mask)))) (('const/words/word_slice' B) h l (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))).
tt('thm/words/word_join_index_', ax, ![B : $t, A : $t]: (![i : 'type/num/num', a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o B)]: (((('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A)) & ((('const/pred_set/FINITE' B) ('const/pred_set/UNIV' B)) & ('const/prim_rec/<' i (('const/fcp/dimindex' ('type/sum/sum' A B)) ('const/bool/the_value' ('type/sum/sum' A B)))))) => ((('const/fcp/fcp_index' $o ('type/sum/sum' A B)) (('const/words/word_join' A B) a b) i) = (('const/bool/COND' $o) ('const/prim_rec/<' i (('const/fcp/dimindex' B) ('const/bool/the_value' B))) (('const/fcp/fcp_index' $o B) b i) (('const/fcp/fcp_index' $o A) a ('const/arithmetic/-' i (('const/fcp/dimindex' B) ('const/bool/the_value' B))))))))).
tt('thm/words/foldl_reduce_and_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_and' A) w) = (('const/bool/LET' ('type/list/list' ('type/fcp/cart' $o 'type/one/one')) ('type/fcp/cart' $o 'type/one/one')) (^[l : ('type/list/list' ('type/fcp/cart' $o 'type/one/one'))]: (('const/list/FOLDL' ('type/fcp/cart' $o 'type/one/one') ('type/fcp/cart' $o 'type/one/one')) ('const/words/word_and' 'type/one/one') (('const/list/HD' ('type/fcp/cart' $o 'type/one/one')) l) (('const/list/TL' ('type/fcp/cart' $o 'type/one/one')) l))) (('const/list/GENLIST' ('type/fcp/cart' $o 'type/one/one')) (^[i : 'type/num/num']: (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o 'type/one/one')) (^[n : 'type/num/num']: (('const/words/word_extract' A 'type/one/one') n n w)) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/foldl_reduce_or_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_or' A) w) = (('const/bool/LET' ('type/list/list' ('type/fcp/cart' $o 'type/one/one')) ('type/fcp/cart' $o 'type/one/one')) (^[l : ('type/list/list' ('type/fcp/cart' $o 'type/one/one'))]: (('const/list/FOLDL' ('type/fcp/cart' $o 'type/one/one') ('type/fcp/cart' $o 'type/one/one')) ('const/words/word_or' 'type/one/one') (('const/list/HD' ('type/fcp/cart' $o 'type/one/one')) l) (('const/list/TL' ('type/fcp/cart' $o 'type/one/one')) l))) (('const/list/GENLIST' ('type/fcp/cart' $o 'type/one/one')) (^[i : 'type/num/num']: (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o 'type/one/one')) (^[n : 'type/num/num']: (('const/words/word_extract' A 'type/one/one') n n w)) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/foldl_reduce_xor_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_xor' A) w) = (('const/bool/LET' ('type/list/list' ('type/fcp/cart' $o 'type/one/one')) ('type/fcp/cart' $o 'type/one/one')) (^[l : ('type/list/list' ('type/fcp/cart' $o 'type/one/one'))]: (('const/list/FOLDL' ('type/fcp/cart' $o 'type/one/one') ('type/fcp/cart' $o 'type/one/one')) ('const/words/word_xor' 'type/one/one') (('const/list/HD' ('type/fcp/cart' $o 'type/one/one')) l) (('const/list/TL' ('type/fcp/cart' $o 'type/one/one')) l))) (('const/list/GENLIST' ('type/fcp/cart' $o 'type/one/one')) (^[i : 'type/num/num']: (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o 'type/one/one')) (^[n : 'type/num/num']: (('const/words/word_extract' A 'type/one/one') n n w)) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/foldl_reduce_nand_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_nand' A) w) = (('const/bool/LET' ('type/list/list' ('type/fcp/cart' $o 'type/one/one')) ('type/fcp/cart' $o 'type/one/one')) (^[l : ('type/list/list' ('type/fcp/cart' $o 'type/one/one'))]: (('const/list/FOLDL' ('type/fcp/cart' $o 'type/one/one') ('type/fcp/cart' $o 'type/one/one')) ('const/words/word_nand' 'type/one/one') (('const/list/HD' ('type/fcp/cart' $o 'type/one/one')) l) (('const/list/TL' ('type/fcp/cart' $o 'type/one/one')) l))) (('const/list/GENLIST' ('type/fcp/cart' $o 'type/one/one')) (^[i : 'type/num/num']: (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o 'type/one/one')) (^[n : 'type/num/num']: (('const/words/word_extract' A 'type/one/one') n n w)) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/foldl_reduce_nor_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_nor' A) w) = (('const/bool/LET' ('type/list/list' ('type/fcp/cart' $o 'type/one/one')) ('type/fcp/cart' $o 'type/one/one')) (^[l : ('type/list/list' ('type/fcp/cart' $o 'type/one/one'))]: (('const/list/FOLDL' ('type/fcp/cart' $o 'type/one/one') ('type/fcp/cart' $o 'type/one/one')) ('const/words/word_nor' 'type/one/one') (('const/list/HD' ('type/fcp/cart' $o 'type/one/one')) l) (('const/list/TL' ('type/fcp/cart' $o 'type/one/one')) l))) (('const/list/GENLIST' ('type/fcp/cart' $o 'type/one/one')) (^[i : 'type/num/num']: (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o 'type/one/one')) (^[n : 'type/num/num']: (('const/words/word_extract' A 'type/one/one') n n w)) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/foldl_reduce_xnor_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_xnor' A) w) = (('const/bool/LET' ('type/list/list' ('type/fcp/cart' $o 'type/one/one')) ('type/fcp/cart' $o 'type/one/one')) (^[l : ('type/list/list' ('type/fcp/cart' $o 'type/one/one'))]: (('const/list/FOLDL' ('type/fcp/cart' $o 'type/one/one') ('type/fcp/cart' $o 'type/one/one')) ('const/words/word_xnor' 'type/one/one') (('const/list/HD' ('type/fcp/cart' $o 'type/one/one')) l) (('const/list/TL' ('type/fcp/cart' $o 'type/one/one')) l))) (('const/list/GENLIST' ('type/fcp/cart' $o 'type/one/one')) (^[i : 'type/num/num']: (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o 'type/one/one')) (^[n : 'type/num/num']: (('const/words/word_extract' A 'type/one/one') n n w)) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/LOG2_w2n_lt_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((~ (w = (('const/words/n2w' A) 'const/num/0'))) => ('const/prim_rec/<' ('const/bit/LOG2' (('const/words/w2n' A) w)) (('const/fcp/dimindex' A) ('const/bool/the_value' A)))))).
tt('thm/words/LOG2_w2n_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((~ (w = (('const/words/n2w' A) 'const/num/0'))) => (('const/bit/LOG2' (('const/words/w2n' A) w)) = ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/while/LEAST' (^[i : 'type/num/num']: (('const/fcp/fcp_index' $o A) w ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) i))))))))).
tt('thm/words/LEAST_BIT_LT_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((~ (w = (('const/words/n2w' A) 'const/num/0'))) => ('const/prim_rec/<' ('const/while/LEAST' (^[i : 'type/num/num']: (('const/fcp/fcp_index' $o A) w i))) (('const/fcp/dimindex' A) ('const/bool/the_value' A)))))).
tt('thm/words/word_reduce_n2w_', ax, ![A : $t]: (![n : 'type/num/num', f : ($o > ($o > $o))]: ((('const/words/word_reduce' A) f (('const/words/n2w' A) n)) = (('const/fcp/FCP' $o 'type/one/one') (('const/combin/K' $o 'type/num/num') (('const/bool/LET' ('type/list/list' $o) $o) (^[l : ('type/list/list' $o)]: (('const/list/FOLDL' $o $o) f (('const/list/HD' $o) l) (('const/list/TL' $o) l))) ('const/numposrep/BOOLIFY' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n ('const/list/NIL' $o)))))))).
tt('thm/words/NOT_UINTMAXw_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((~ (w = ('const/words/word_T' A))) => (?[i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & (~ (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/NOT_0w_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((~ (w = (('const/words/n2w' A) 'const/num/0'))) => (?[i : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & (('const/fcp/fcp_index' $o A) w i)))))).
tt('thm/words/reduce_and_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_and' A) w) = (('const/bool/COND' ('type/fcp/cart' $o 'type/one/one')) (w = ('const/words/word_T' A)) (('const/words/n2w' 'type/one/one') ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) (('const/words/n2w' 'type/one/one') 'const/num/0'))))).
tt('thm/words/reduce_or_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/reduce_or' A) w) = (('const/bool/COND' ('type/fcp/cart' $o 'type/one/one')) (w = (('const/words/n2w' A) 'const/num/0')) (('const/words/n2w' 'type/one/one') 'const/num/0') (('const/words/n2w' 'type/one/one') ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_ADD_0_0', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) w (('const/words/n2w' A) 'const/num/0')) = w))).
tt('thm/words/WORD_ADD_0_e1', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/n2w' A) 'const/num/0') w) = w))).
tt('thm/words/WORD_ADD_ASSOC_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) v (('const/words/word_add' A) w x)) = (('const/words/word_add' A) (('const/words/word_add' A) v w) x)))).
tt('thm/words/WORD_MULT_ASSOC_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v (('const/words/word_mul' A) w x)) = (('const/words/word_mul' A) (('const/words/word_mul' A) v w) x)))).
tt('thm/words/WORD_ADD_COMM_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) v w) = (('const/words/word_add' A) w v)))).
tt('thm/words/WORD_MULT_COMM_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v w) = (('const/words/word_mul' A) w v)))).
tt('thm/words/WORD_MULT_CLAUSES_0', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) (('const/words/n2w' A) 'const/num/0') v) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_MULT_CLAUSES_1', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_MULT_CLAUSES_2', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) v) = v))).
tt('thm/words/WORD_MULT_CLAUSES_3', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = v))).
tt('thm/words/WORD_MULT_CLAUSES_4', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) (('const/words/word_add' A) v (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) w) = (('const/words/word_add' A) (('const/words/word_mul' A) v w) w)))).
tt('thm/words/WORD_MULT_CLAUSES_e5', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v (('const/words/word_add' A) w (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/word_add' A) v (('const/words/word_mul' A) v w))))).
tt('thm/words/WORD_LEFT_ADD_DISTRIB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v (('const/words/word_add' A) w x)) = (('const/words/word_add' A) (('const/words/word_mul' A) v w) (('const/words/word_mul' A) v x))))).
tt('thm/words/WORD_RIGHT_ADD_DISTRIB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) (('const/words/word_add' A) v w) x) = (('const/words/word_add' A) (('const/words/word_mul' A) v x) (('const/words/word_mul' A) w x))))).
tt('thm/words/WORD_ADD_SUB_ASSOC_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_add' A) v w) x) = (('const/words/word_add' A) v (('const/words/word_sub' A) w x))))).
tt('thm/words/WORD_ADD_SUB_SYM_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_add' A) v w) x) = (('const/words/word_add' A) (('const/words/word_sub' A) v x) w)))).
tt('thm/words/WORD_ADD_LINV_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/word_2comp' A) w) w) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_ADD_RINV_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) w (('const/words/word_2comp' A) w)) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_SUB_REFL_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) w w) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_SUB_ADD2_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) v (('const/words/word_sub' A) w v)) = w))).
tt('thm/words/WORD_ADD_SUB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_add' A) v w) w) = v))).
tt('thm/words/WORD_SUB_ADD_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/word_sub' A) v w) w) = v))).
tt('thm/words/WORD_ADD_EQ_SUB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) v w) = x) = (v = (('const/words/word_sub' A) x w))))).
tt('thm/words/WORD_ADD_INV_0_EQ_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) v w) = v) = (w = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_EQ_ADD_LCANCEL_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) v w) = (('const/words/word_add' A) v x)) = (w = x)))).
tt('thm/words/WORD_EQ_ADD_RCANCEL_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) v w) = (('const/words/word_add' A) x w)) = (v = x)))).
tt('thm/words/WORD_NEG_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) w) = (('const/words/word_add' A) (('const/words/word_1comp' A) w) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_NOT_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_1comp' A) w) = (('const/words/word_sub' A) (('const/words/word_2comp' A) w) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_NEG_0_', ax, ![A : $t]: ((('const/words/word_2comp' A) (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/WORD_NEG_ADD_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) (('const/words/word_add' A) v w)) = (('const/words/word_add' A) (('const/words/word_2comp' A) v) (('const/words/word_2comp' A) w))))).
tt('thm/words/WORD_NEG_NEG_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) (('const/words/word_2comp' A) w)) = w))).
tt('thm/words/WORD_SUB_LNEG_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_2comp' A) v) w) = (('const/words/word_2comp' A) (('const/words/word_add' A) v w))))).
tt('thm/words/WORD_SUB_RNEG_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) v (('const/words/word_2comp' A) w)) = (('const/words/word_add' A) v w)))).
tt('thm/words/WORD_SUB_SUB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) v (('const/words/word_sub' A) w x)) = (('const/words/word_sub' A) (('const/words/word_add' A) v x) w)))).
tt('thm/words/WORD_SUB_SUB2_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) v (('const/words/word_sub' A) v w)) = w))).
tt('thm/words/WORD_EQ_SUB_LADD_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((v = (('const/words/word_sub' A) w x)) = ((('const/words/word_add' A) v x) = w)))).
tt('thm/words/WORD_EQ_SUB_RADD_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: (((('const/words/word_sub' A) v w) = x) = (v = (('const/words/word_add' A) x w))))).
tt('thm/words/WORD_EQ_SUB_ZERO_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: (((('const/words/word_sub' A) v w) = (('const/words/n2w' A) 'const/num/0')) = (v = w)))).
tt('thm/words/WORD_LCANCEL_SUB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: (((('const/words/word_sub' A) v w) = (('const/words/word_sub' A) x w)) = (v = x)))).
tt('thm/words/WORD_RCANCEL_SUB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: (((('const/words/word_sub' A) v w) = (('const/words/word_sub' A) v x)) = (w = x)))).
tt('thm/words/WORD_SUB_PLUS_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) v (('const/words/word_add' A) w x)) = (('const/words/word_sub' A) (('const/words/word_sub' A) v w) x)))).
tt('thm/words/WORD_SUB_LZERO_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/n2w' A) 'const/num/0') w) = (('const/words/word_2comp' A) w)))).
tt('thm/words/WORD_SUB_RZERO_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) w (('const/words/n2w' A) 'const/num/0')) = w))).
tt('thm/words/WORD_ADD_LID_UNIQ_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) v w) = w) = (v = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_ADD_RID_UNIQ_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) v w) = v) = (w = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_SUM_ZERO_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((('const/words/word_add' A) a b) = (('const/words/n2w' A) 'const/num/0')) = (a = (('const/words/word_2comp' A) b))))).
tt('thm/words/WORD_ADD_SUB2_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_add' A) w v) w) = v))).
tt('thm/words/WORD_ADD_SUB3_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) v (('const/words/word_add' A) v x)) = (('const/words/word_2comp' A) x)))).
tt('thm/words/WORD_SUB_SUB3_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_sub' A) v w) v) = (('const/words/word_2comp' A) w)))).
tt('thm/words/WORD_EQ_NEG_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: (((('const/words/word_2comp' A) v) = (('const/words/word_2comp' A) w)) = (v = w)))).
tt('thm/words/WORD_NEG_EQ_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: (((('const/words/word_2comp' A) v) = w) = (v = (('const/words/word_2comp' A) w))))).
tt('thm/words/WORD_NEG_EQ_0_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A)]: (((('const/words/word_2comp' A) v) = (('const/words/n2w' A) 'const/num/0')) = (v = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_SUB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/word_2comp' A) w) v) = (('const/words/word_sub' A) v w)))).
tt('thm/words/WORD_SUB_NEG_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_2comp' A) v) (('const/words/word_2comp' A) w)) = (('const/words/word_sub' A) w v)))).
tt('thm/words/WORD_NEG_SUB_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) (('const/words/word_sub' A) v w)) = (('const/words/word_sub' A) w v)))).
tt('thm/words/WORD_SUB_TRIANGLE_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/word_sub' A) v w) (('const/words/word_sub' A) w x)) = (('const/words/word_sub' A) v x)))).
tt('thm/words/WORD_NOT_0_', ax, ![A : $t]: ((('const/words/word_1comp' A) (('const/words/n2w' A) 'const/num/0')) = ('const/words/word_T' A))).
tt('thm/words/WORD_NOT_T_', ax, ![A : $t]: ((('const/words/word_1comp' A) ('const/words/word_T' A)) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/WORD_NEG_T_', ax, ![A : $t]: ((('const/words/word_2comp' A) ('const/words/word_T' A)) = (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/WORD_MULT_SUC_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_mul' A) v (('const/words/n2w' A) ('const/arithmetic/+' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/word_add' A) (('const/words/word_mul' A) v (('const/words/n2w' A) n)) v)))).
tt('thm/words/WORD_NEG_LMUL_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) (('const/words/word_mul' A) v w)) = (('const/words/word_mul' A) (('const/words/word_2comp' A) v) w)))).
tt('thm/words/WORD_NEG_RMUL_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) (('const/words/word_mul' A) v w)) = (('const/words/word_mul' A) v (('const/words/word_2comp' A) w))))).
tt('thm/words/WORD_NEG_MUL_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_2comp' A) w) = (('const/words/word_mul' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) w)))).
tt('thm/words/sw2sw_w2w_add_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/sw2sw' A B) w) = (('const/words/word_add' B) (('const/bool/COND' ('type/fcp/cart' $o B)) (('const/words/word_msb' A) w) (('const/words/word_lsl' B) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/n2w' B) 'const/num/0')) (('const/words/w2w' A B) w))))).
tt('thm/words/WORD_ADD_BIT0_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/fcp/fcp_index' $o A) (('const/words/word_add' A) a b) 'const/num/0') = (~ ((('const/fcp/fcp_index' $o A) a 'const/num/0') = (('const/fcp/fcp_index' $o A) b 'const/num/0')))))).
tt('thm/words/WORD_ADD_BIT_', ax, ![A : $t]: (![n : 'type/num/num', a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) (('const/words/word_add' A) a b) n) = (('const/bool/COND' $o) (n = 'const/num/0') (~ ((('const/fcp/fcp_index' $o A) a 'const/num/0') = (('const/fcp/fcp_index' $o A) b 'const/num/0'))) (('const/bool/COND' $o) (('const/fcp/fcp_index' $o A) (('const/words/word_add' A) (('const/words/word_bits' A) ('const/arithmetic/-' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' a) (('const/words/word_bits' A) ('const/arithmetic/-' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' b)) n) ((('const/fcp/fcp_index' $o A) a n) = (('const/fcp/fcp_index' $o A) b n)) (~ ((('const/fcp/fcp_index' $o A) a n) = (('const/fcp/fcp_index' $o A) b n))))))))).
tt('thm/words/WORD_LEFT_SUB_DISTRIB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) v (('const/words/word_sub' A) w x)) = (('const/words/word_sub' A) (('const/words/word_mul' A) v w) (('const/words/word_mul' A) v x))))).
tt('thm/words/WORD_RIGHT_SUB_DISTRIB_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A), x : ('type/fcp/cart' $o A)]: ((('const/words/word_mul' A) (('const/words/word_sub' A) w x) v) = (('const/words/word_sub' A) (('const/words/word_mul' A) w v) (('const/words/word_mul' A) x v))))).
tt('thm/words/WORD_LITERAL_MULT_0', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_mul' A) (('const/words/n2w' A) m) (('const/words/word_2comp' A) (('const/words/n2w' A) n))) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/*' m n)))))).
tt('thm/words/WORD_LITERAL_MULT_e1', ax, ![B : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_mul' B) (('const/words/word_2comp' B) (('const/words/n2w' B) m)) (('const/words/word_2comp' B) (('const/words/n2w' B) n))) = (('const/words/n2w' B) ('const/arithmetic/*' m n))))).
tt('thm/words/WORD_LITERAL_ADD_0', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_add' A) (('const/words/word_2comp' A) (('const/words/n2w' A) m)) (('const/words/word_2comp' A) (('const/words/n2w' A) n))) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/+' m n)))))).
tt('thm/words/WORD_LITERAL_ADD_e1', ax, ![B : $t]: (![m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_add' B) (('const/words/n2w' B) m) (('const/words/word_2comp' B) (('const/words/n2w' B) n))) = (('const/bool/COND' ('type/fcp/cart' $o B)) ('const/arithmetic/<=' n m) (('const/words/n2w' B) ('const/arithmetic/-' m n)) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/-' n m))))))).
tt('thm/words/WORD_SUB_INTRO_0', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/word_2comp' A) y) x) = (('const/words/word_sub' A) x y)))).
tt('thm/words/WORD_SUB_INTRO_1', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) x (('const/words/word_2comp' A) y)) = (('const/words/word_sub' A) x y)))).
tt('thm/words/WORD_SUB_INTRO_2', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A), z : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) (('const/words/word_mul' A) (('const/words/word_2comp' A) x) y) z) = (('const/words/word_sub' A) z (('const/words/word_mul' A) x y))))).
tt('thm/words/WORD_SUB_INTRO_3', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A), z : ('type/fcp/cart' $o A)]: ((('const/words/word_add' A) z (('const/words/word_mul' A) (('const/words/word_2comp' A) x) y)) = (('const/words/word_sub' A) z (('const/words/word_mul' A) x y))))).
tt('thm/words/WORD_SUB_INTRO_4', ax, ![B : $t]: (![x : ('type/fcp/cart' $o B)]: ((('const/words/word_mul' B) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) x) = (('const/words/word_2comp' B) x)))).
tt('thm/words/WORD_SUB_INTRO_5', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A), z : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) z (('const/words/word_mul' A) (('const/words/word_2comp' A) x) y)) = (('const/words/word_add' A) z (('const/words/word_mul' A) x y))))).
tt('thm/words/WORD_SUB_INTRO_e6', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A), z : ('type/fcp/cart' $o A)]: ((('const/words/word_sub' A) (('const/words/word_mul' A) (('const/words/word_2comp' A) x) y) z) = (('const/words/word_2comp' A) (('const/words/word_add' A) (('const/words/word_mul' A) x y) z))))).
tt('thm/words/n2w_SUC_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/n2w' A) ('const/num/SUC' n)) = (('const/words/word_add' A) (('const/words/n2w' A) n) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/n2w_sub_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: (('const/arithmetic/<=' b a) => ((('const/words/n2w' A) ('const/arithmetic/-' a b)) = (('const/words/word_sub' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)))))).
tt('thm/words/n2w_sub_eq_0_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: (('const/arithmetic/<=' a b) => ((('const/words/n2w' A) ('const/arithmetic/-' a b)) = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_H_WORD_L_', ax, ![A : $t]: (('const/words/word_H' A) = (('const/words/word_sub' A) ('const/words/word_L' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_L_MULT_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_mul' A) (('const/words/n2w' A) n) ('const/words/word_L' A)) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/arithmetic/EVEN' n) (('const/words/n2w' A) 'const/num/0') ('const/words/word_L' A))))).
tt('thm/words/ASR_ADD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_asr' A) (('const/words/word_asr' A) w m) n) = (('const/words/word_asr' A) w ('const/arithmetic/+' m n))))).
tt('thm/words/LSR_ADD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_lsr' A) (('const/words/word_lsr' A) w m) n) = (('const/words/word_lsr' A) w ('const/arithmetic/+' m n))))).
tt('thm/words/ROR_ADD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_ror' A) (('const/words/word_ror' A) w m) n) = (('const/words/word_ror' A) w ('const/arithmetic/+' m n))))).
tt('thm/words/LSL_ADD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_lsl' A) (('const/words/word_lsl' A) w m) n) = (('const/words/word_lsl' A) w ('const/arithmetic/+' m n))))).
tt('thm/words/ASR_LIMIT_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n) => ((('const/words/word_asr' A) w n) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) w) ('const/words/word_T' A) (('const/words/n2w' A) 'const/num/0')))))).
tt('thm/words/ASR_UINT_MAX_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_asr' A) ('const/words/word_T' A) n) = ('const/words/word_T' A)))).
tt('thm/words/LSR_LIMIT_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n) => ((('const/words/word_lsr' A) w n) = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/LSL_LIMIT_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n) => ((('const/words/word_lsl' A) w n) = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/ROR_CYCLE_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_ror' A) w ('const/arithmetic/*' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) = w))).
tt('thm/words/ROR_MOD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_ror' A) w ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) = (('const/words/word_ror' A) w n)))).
tt('thm/words/ROL_MOD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_rol' A) w ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))) = (('const/words/word_rol' A) w n)))).
tt('thm/words/LSL_ONE_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_lsl' A) w ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) = (('const/words/word_add' A) w w)))).
tt('thm/words/ROR_UINT_MAX_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_ror' A) ('const/words/word_T' A) n) = ('const/words/word_T' A)))).
tt('thm/words/ROR_ROL_0', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_rol' A) (('const/words/word_ror' A) w n) n) = w))).
tt('thm/words/ROR_ROL_e1', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_ror' A) (('const/words/word_rol' A) w n) n) = w))).
tt('thm/words/MOD_COMPLEMENT_', ax, (![n : 'type/num/num', q : 'type/num/num', a : 'type/num/num']: ((('const/prim_rec/<' 'const/num/0' n) & (('const/prim_rec/<' 'const/num/0' q) & ('const/prim_rec/<' a ('const/arithmetic/*' q n)))) => (('const/arithmetic/MOD' ('const/arithmetic/-' ('const/arithmetic/*' q n) a) n) = ('const/arithmetic/MOD' ('const/arithmetic/-' n ('const/arithmetic/MOD' a n)) n))))).
tt('thm/words/ROL_ADD_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), m : 'type/num/num', n : 'type/num/num']: ((('const/words/word_rol' A) (('const/words/word_rol' A) w m) n) = (('const/words/word_rol' A) w ('const/arithmetic/+' m n))))).
tt('thm/words/ZERO_SHIFT_0', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_lsl' A) (('const/words/n2w' A) 'const/num/0') n) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/ZERO_SHIFT_1', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_asr' A) (('const/words/n2w' A) 'const/num/0') n) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/ZERO_SHIFT_2', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_lsr' A) (('const/words/n2w' A) 'const/num/0') n) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/ZERO_SHIFT_3', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_rol' A) (('const/words/n2w' A) 'const/num/0') n) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/ZERO_SHIFT_e4', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_ror' A) (('const/words/n2w' A) 'const/num/0') n) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/SHIFT_ZERO_0', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_lsl' A) a 'const/num/0') = a))).
tt('thm/words/SHIFT_ZERO_1', ax, ![B : $t]: (![a : ('type/fcp/cart' $o B)]: ((('const/words/word_asr' B) a 'const/num/0') = a))).
tt('thm/words/SHIFT_ZERO_2', ax, ![C : $t]: (![a : ('type/fcp/cart' $o C)]: ((('const/words/word_lsr' C) a 'const/num/0') = a))).
tt('thm/words/SHIFT_ZERO_3', ax, ![D : $t]: (![a : ('type/fcp/cart' $o D)]: ((('const/words/word_rol' D) a 'const/num/0') = a))).
tt('thm/words/SHIFT_ZERO_e4', ax, ![E : $t]: (![a : ('type/fcp/cart' $o E)]: ((('const/words/word_ror' E) a 'const/num/0') = a))).
tt('thm/words/word_lsl_n2w_', ax, ![A : $t]: (![n : 'type/num/num', m : 'type/num/num']: ((('const/words/word_lsl' A) (('const/words/n2w' A) m) n) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/prim_rec/<' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) n) (('const/words/n2w' A) 'const/num/0') (('const/words/n2w' A) ('const/arithmetic/*' m ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) n))))))).
tt('thm/words/word_lsr_n2w_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_lsr' A) w n) = (('const/words/word_bits' A) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) n w)))).
tt('thm/words/LSL_UINT_MAX_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_lsl' A) ('const/words/word_T' A) n) = (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) n)))))).
tt('thm/words/word_asr_n2w_', ax, ![A : $t]: (![n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/words/word_asr' A) w n) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) w) (('const/words/word_or' A) (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/dimword' A) ('const/bool/the_value' A)) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/MIN' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))) (('const/words/word_lsr' A) w n)) (('const/words/word_lsr' A) w n))))).
tt('thm/words/word_ror_n2w_', ax, ![A : $t]: (![n : 'type/num/num', a : 'type/num/num']: ((('const/words/word_ror' A) (('const/words/n2w' A) a) n) = (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o A)) (^[x : 'type/num/num']: (('const/words/n2w' A) ('const/arithmetic/+' ('const/bit/BITS' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) x a) ('const/arithmetic/*' ('const/bit/BITS' ('const/arithmetic/-' x ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' a) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) x)))))) ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/word_rrx_n2w_', ax, ![A : $t]: (![c : $o, a : 'type/num/num']: ((('const/words/word_rrx' A) (('const/pair/,' $o ('type/fcp/cart' $o A)) c (('const/words/n2w' A) a))) = (('const/pair/,' $o ('type/fcp/cart' $o A)) ('const/arithmetic/ODD' a) (('const/words/n2w' A) ('const/arithmetic/+' ('const/bit/BITS' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) a) ('const/bit/SBIT' c ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))).
tt('thm/words/word_ror_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_ror' A) w n) = (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o A)) (^[x : 'type/num/num']: (('const/words/word_or' A) (('const/words/word_bits' A) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) x w) (('const/words/word_lsl' A) (('const/words/word_bits' A) ('const/arithmetic/-' x ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) 'const/num/0' w) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) x)))) ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))))))).
tt('thm/words/word_asr_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_asr' A) w n) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_msb' A) w) (('const/words/word_or' A) (('const/words/word_slice' A) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n) ('const/words/word_T' A)) (('const/words/word_lsr' A) w n)) (('const/words/word_lsr' A) w n))))).
tt('thm/words/w2n_lsr_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), m : 'type/num/num']: ((('const/words/w2n' A) (('const/words/word_lsr' A) w m)) = ('const/arithmetic/DIV' (('const/words/w2n' A) w) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) m))))).
tt('thm/words/WORD_MUL_LSL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_lsl' A) a n) = (('const/words/word_mul' A) (('const/words/n2w' A) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) n)) a)))).
tt('thm/words/WORD_ADD_LSL_', ax, ![A : $t]: (![n : 'type/num/num', a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lsl' A) (('const/words/word_add' A) a b) n) = (('const/words/word_add' A) (('const/words/word_lsl' A) a n) (('const/words/word_lsl' A) b n))))).
tt('thm/words/WORD_DIV_LSR_', ax, ![A : $t]: (![m : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/prim_rec/<' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/word_lsr' A) m n) = (('const/words/word_div' A) m (('const/words/n2w' A) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) n))))))).
tt('thm/words/WORD_MOD_1_', ax, ![A : $t]: (![m : ('type/fcp/cart' $o A)]: ((('const/words/word_mod' A) m (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_MOD_POW2_', ax, ![A : $t]: (![m : ('type/fcp/cart' $o A), v : 'type/num/num']: (('const/prim_rec/<' v ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) => ((('const/words/word_mod' A) m (('const/words/n2w' A) ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) ('const/num/SUC' v)))) = (('const/words/word_bits' A) v 'const/num/0' m))))).
tt('thm/words/SHIFT_1_SUB_1_', ax, ![A : $t]: (![i : 'type/num/num', n : 'type/num/num']: (('const/prim_rec/<' i (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/fcp/fcp_index' $o A) (('const/words/word_sub' A) (('const/words/word_lsl' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) n) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) i) = ('const/prim_rec/<' i n))))).
tt('thm/words/LSR_BITWISE_0', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_lsr' A) w n) (('const/words/word_lsr' A) v n)) = (('const/words/word_lsr' A) (('const/words/word_and' A) w v) n)))).
tt('thm/words/LSR_BITWISE_1', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_lsr' A) w n) (('const/words/word_lsr' A) v n)) = (('const/words/word_lsr' A) (('const/words/word_or' A) w v) n)))).
tt('thm/words/LSR_BITWISE_e2', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_lsr' A) w n) (('const/words/word_lsr' A) v n)) = (('const/words/word_lsr' A) (('const/words/word_xor' A) w v) n)))).
tt('thm/words/LSL_BITWISE_0', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_lsl' A) w n) (('const/words/word_lsl' A) v n)) = (('const/words/word_lsl' A) (('const/words/word_and' A) w v) n)))).
tt('thm/words/LSL_BITWISE_1', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_lsl' A) w n) (('const/words/word_lsl' A) v n)) = (('const/words/word_lsl' A) (('const/words/word_or' A) w v) n)))).
tt('thm/words/LSL_BITWISE_e2', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_lsl' A) w n) (('const/words/word_lsl' A) v n)) = (('const/words/word_lsl' A) (('const/words/word_xor' A) w v) n)))).
tt('thm/words/ROR_BITWISE_0', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_ror' A) w n) (('const/words/word_ror' A) v n)) = (('const/words/word_ror' A) (('const/words/word_and' A) w v) n)))).
tt('thm/words/ROR_BITWISE_1', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_or' A) (('const/words/word_ror' A) w n) (('const/words/word_ror' A) v n)) = (('const/words/word_ror' A) (('const/words/word_or' A) w v) n)))).
tt('thm/words/ROR_BITWISE_e2', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_xor' A) (('const/words/word_ror' A) w n) (('const/words/word_ror' A) v n)) = (('const/words/word_ror' A) (('const/words/word_xor' A) w v) n)))).
tt('thm/words/ROL_BITWISE_0', ax, ![A : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o A), w : ('type/fcp/cart' $o A)]: ((('const/words/word_and' A) (('const/words/word_rol' A) w n) (('const/words/word_rol' A) v n)) = (('const/words/word_rol' A) (('const/words/word_and' A) w v) n)))).
tt('thm/words/ROL_BITWISE_1', ax, ![B : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o B), w : ('type/fcp/cart' $o B)]: ((('const/words/word_or' B) (('const/words/word_rol' B) w n) (('const/words/word_rol' B) v n)) = (('const/words/word_rol' B) (('const/words/word_or' B) w v) n)))).
tt('thm/words/ROL_BITWISE_e2', ax, ![C : $t]: (![n : 'type/num/num', v : ('type/fcp/cart' $o C), w : ('type/fcp/cart' $o C)]: ((('const/words/word_xor' C) (('const/words/word_rol' C) w n) (('const/words/word_rol' C) v n)) = (('const/words/word_rol' C) (('const/words/word_xor' C) w v) n)))).
tt('thm/words/WORD_2COMP_LSL_', ax, ![A : $t]: (![n : 'type/num/num', a : ('type/fcp/cart' $o A)]: ((('const/words/word_lsl' A) (('const/words/word_2comp' A) a) n) = (('const/words/word_2comp' A) (('const/words/word_lsl' A) a n))))).
tt('thm/words/w2w_LSL_', ax, ![B : $t, A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/w2w' A B) (('const/words/word_lsl' A) w n)) = (('const/bool/COND' ('type/fcp/cart' $o B)) ('const/prim_rec/<' n (('const/fcp/dimindex' A) ('const/bool/the_value' A))) (('const/words/word_lsl' B) (('const/words/w2w' A B) (('const/words/word_bits' A) ('const/arithmetic/-' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) n) 'const/num/0' w)) n) (('const/words/n2w' B) 'const/num/0'))))).
tt('thm/words/n2w_DIV_', ax, ![A : $t]: (![a : 'type/num/num', n : 'type/num/num']: (('const/prim_rec/<' a (('const/words/dimword' A) ('const/bool/the_value' A))) => ((('const/words/n2w' A) ('const/arithmetic/DIV' a ('const/arithmetic/EXP' ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')) n))) = (('const/words/word_lsr' A) (('const/words/n2w' A) a) n))))).
tt('thm/words/WORD_BITS_LSL_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' h (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/word_bits' A) h l (('const/words/word_lsl' A) w n)) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/arithmetic/<=' n h) (('const/words/word_lsl' A) (('const/words/word_bits' A) ('const/arithmetic/-' h n) ('const/arithmetic/-' l n) w) ('const/arithmetic/-' n l)) (('const/words/n2w' A) 'const/num/0')))))).
tt('thm/words/WORD_EXTRACT_LSL_', ax, ![B : $t, A : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/prim_rec/<' h (('const/fcp/dimindex' A) ('const/bool/the_value' A))) => ((('const/words/word_extract' A B) h l (('const/words/word_lsl' A) w n)) = (('const/bool/COND' ('type/fcp/cart' $o B)) ('const/arithmetic/<=' n h) (('const/words/word_lsl' B) (('const/words/word_extract' A B) ('const/arithmetic/-' h n) ('const/arithmetic/-' l n) w) ('const/arithmetic/-' n l)) (('const/words/n2w' B) 'const/num/0')))))).
tt('thm/words/WORD_EXTRACT_LSL2_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', l : 'type/num/num', n : 'type/num/num', w : ('type/fcp/cart' $o A)]: (('const/arithmetic/<=' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/+' h n)) => ((('const/words/word_lsl' B) (('const/words/word_extract' A B) h l w) n) = (('const/words/word_lsl' B) (('const/words/word_extract' A B) ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/+' n ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) l w) n))))).
tt('thm/words/EXTRACT_JOIN_LSL_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', m : 'type/num/num', 'm\'' : 'type/num/num', l : 'type/num/num', s : 'type/num/num', n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/arithmetic/<=' l m) & (('const/arithmetic/<=' 'm\'' h) & (('m\'' = ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & (s = ('const/arithmetic/+' ('const/arithmetic/-' 'm\'' l) n))))) => ((('const/words/word_or' B) (('const/words/word_lsl' B) (('const/words/word_extract' A B) h 'm\'' w) s) (('const/words/word_lsl' B) (('const/words/word_extract' A B) m l w) n)) = (('const/words/word_lsl' B) (('const/words/word_extract' A B) ('const/arithmetic/MIN' h ('const/arithmetic/MIN' ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) l w) n))))).
tt('thm/words/EXTRACT_JOIN_ADD_LSL_', ax, ![A : $t, B : $t]: (![h : 'type/num/num', m : 'type/num/num', 'm\'' : 'type/num/num', l : 'type/num/num', s : 'type/num/num', n : 'type/num/num', w : ('type/fcp/cart' $o A)]: ((('const/arithmetic/<=' l m) & (('const/arithmetic/<=' 'm\'' h) & (('m\'' = ('const/arithmetic/+' m ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) & (s = ('const/arithmetic/+' ('const/arithmetic/-' 'm\'' l) n))))) => ((('const/words/word_add' B) (('const/words/word_lsl' B) (('const/words/word_extract' A B) h 'm\'' w) s) (('const/words/word_lsl' B) (('const/words/word_extract' A B) m l w) n)) = (('const/words/word_lsl' B) (('const/words/word_extract' A B) ('const/arithmetic/MIN' h ('const/arithmetic/MIN' ('const/arithmetic/-' ('const/arithmetic/+' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) l) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) l w) n))))).
tt('thm/words/word_extract_mask_', ax, ![A : $t]: (![h : 'type/num/num', l : 'type/num/num', a : ('type/fcp/cart' $o A)]: ((('const/words/word_extract' A A) h l a) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/arithmetic/<=' l h) (('const/words/word_and' A) (('const/words/word_lsr' A) a l) (('const/words/word_sub' A) (('const/words/word_lsl' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))) ('const/arithmetic/-' h l)) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/word_shift_bv_0', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/prim_rec/<' n (('const/words/dimword' A) ('const/bool/the_value' A))) => ((('const/words/word_lsl' A) w n) = (('const/words/word_lsl_bv' A) w (('const/words/n2w' A) n)))))).
tt('thm/words/word_shift_bv_1', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/prim_rec/<' n (('const/words/dimword' A) ('const/bool/the_value' A))) => ((('const/words/word_asr' A) w n) = (('const/words/word_asr_bv' A) w (('const/words/n2w' A) n)))))).
tt('thm/words/word_shift_bv_2', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: (('const/prim_rec/<' n (('const/words/dimword' A) ('const/bool/the_value' A))) => ((('const/words/word_lsr' A) w n) = (('const/words/word_lsr_bv' A) w (('const/words/n2w' A) n)))))).
tt('thm/words/word_shift_bv_3', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_ror' A) w n) = (('const/words/word_ror_bv' A) w (('const/words/n2w' A) ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))))))).
tt('thm/words/word_shift_bv_e4', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_rol' A) w n) = (('const/words/word_rol_bv' A) w (('const/words/n2w' A) ('const/arithmetic/MOD' n (('const/fcp/dimindex' A) ('const/bool/the_value' A)))))))).
tt('thm/words/WORD_NEG_L_', ax, ![A : $t]: ((('const/words/word_2comp' A) ('const/words/word_L' A)) = ('const/words/word_L' A))).
tt('thm/words/word_L_MULT_NEG_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/word_mul' A) (('const/words/word_2comp' A) (('const/words/n2w' A) n)) ('const/words/word_L' A)) = (('const/bool/COND' ('type/fcp/cart' $o A)) ('const/arithmetic/EVEN' n) (('const/words/n2w' A) 'const/num/0') ('const/words/word_L' A))))).
tt('thm/words/word_L2_MULT_0', ax, ![A : $t]: ((('const/words/word_mul' A) ('const/words/word_L2' A) ('const/words/word_L2' A)) = ('const/words/word_L2' A))).
tt('thm/words/word_L2_MULT_1', ax, ![B : $t]: ((('const/words/word_mul' B) ('const/words/word_L' B) ('const/words/word_L2' B)) = ('const/words/word_L2' B))).
tt('thm/words/word_L2_MULT_2', ax, ![C : $t]: (![n : 'type/num/num']: ((('const/words/word_mul' C) (('const/words/n2w' C) n) ('const/words/word_L2' C)) = (('const/bool/COND' ('type/fcp/cart' $o C)) ('const/arithmetic/EVEN' n) (('const/words/n2w' C) 'const/num/0') ('const/words/word_L2' C))))).
tt('thm/words/word_L2_MULT_e3', ax, ![D : $t]: (![n : 'type/num/num']: ((('const/words/word_mul' D) (('const/words/word_2comp' D) (('const/words/n2w' D) n)) ('const/words/word_L2' D)) = (('const/bool/COND' ('type/fcp/cart' $o D)) ('const/arithmetic/EVEN' n) (('const/words/n2w' D) 'const/num/0') ('const/words/word_L2' D))))).
tt('thm/words/TWO_COMP_NEG_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_msb' A) a) => (('const/bool/COND' $o) ((('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) = 'const/num/0') | (a = ('const/words/word_L' A))) (('const/words/word_msb' A) (('const/words/word_2comp' A) a)) (~ (('const/words/word_msb' A) (('const/words/word_2comp' A) a))))))).
tt('thm/words/TWO_COMP_POS_NEG_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((~ ((('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) = 'const/num/0') | ((a = (('const/words/n2w' A) 'const/num/0')) | (a = ('const/words/word_L' A))))) => ((~ (('const/words/word_msb' A) a)) = (('const/words/word_msb' A) (('const/words/word_2comp' A) a)))))).
tt('thm/words/WORD_0_POS_', ax, ![A : $t]: (~ (('const/words/word_msb' A) (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/TWO_COMP_POS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_msb' A) a)) => ((a = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_msb' A) (('const/words/word_2comp' A) a)))))).
tt('thm/words/WORD_H_POS_', ax, ![A : $t]: (~ (('const/words/word_msb' A) ('const/words/word_H' A)))).
tt('thm/words/WORD_L_NEG_', ax, ![A : $t]: (('const/words/word_msb' A) ('const/words/word_L' A))).
tt('thm/words/WORD_GREATER_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_gt' A) a b) = (('const/words/word_lt' A) b a)))).
tt('thm/words/WORD_GREATER_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ge' A) a b) = (('const/words/word_le' A) b a)))).
tt('thm/words/WORD_NOT_LESS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_lt' A) a b)) = (('const/words/word_le' A) b a)))).
tt('thm/words/WORD_LT_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lt' A) a b) = ((((('const/words/word_msb' A) a) = (('const/words/word_msb' A) b)) & ('const/prim_rec/<' (('const/words/w2n' A) a) (('const/words/w2n' A) b))) | ((('const/words/word_msb' A) a) & (~ (('const/words/word_msb' A) b))))))).
tt('thm/words/WORD_GT_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_gt' A) a b) = ((((('const/words/word_msb' A) b) = (('const/words/word_msb' A) a)) & ('const/arithmetic/>' (('const/words/w2n' A) a) (('const/words/w2n' A) b))) | ((('const/words/word_msb' A) b) & (~ (('const/words/word_msb' A) a))))))).
tt('thm/words/WORD_LE_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_le' A) a b) = ((((('const/words/word_msb' A) a) = (('const/words/word_msb' A) b)) & ('const/arithmetic/<=' (('const/words/w2n' A) a) (('const/words/w2n' A) b))) | ((('const/words/word_msb' A) a) & (~ (('const/words/word_msb' A) b))))))).
tt('thm/words/WORD_GE_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ge' A) a b) = ((((('const/words/word_msb' A) b) = (('const/words/word_msb' A) a)) & ('const/arithmetic/>=' (('const/words/w2n' A) a) (('const/words/w2n' A) b))) | ((('const/words/word_msb' A) b) & (~ (('const/words/word_msb' A) a))))))).
tt('thm/words/WORD_LO_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a b) = ('const/prim_rec/<' (('const/words/w2n' A) a) (('const/words/w2n' A) b))))).
tt('thm/words/WORD_LS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a b) = ('const/arithmetic/<=' (('const/words/w2n' A) a) (('const/words/w2n' A) b))))).
tt('thm/words/WORD_HI_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hi' A) a b) = ('const/arithmetic/>' (('const/words/w2n' A) a) (('const/words/w2n' A) b))))).
tt('thm/words/WORD_HS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hs' A) a b) = ('const/arithmetic/>=' (('const/words/w2n' A) a) (('const/words/w2n' A) b))))).
tt('thm/words/WORD_NOT_LESS_EQUAL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_le' A) a b)) = (('const/words/word_lt' A) b a)))).
tt('thm/words/WORD_LESS_OR_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_le' A) a b) = ((('const/words/word_lt' A) a b) | (a = b))))).
tt('thm/words/WORD_GREATER_OR_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ge' A) a b) = ((('const/words/word_gt' A) a b) | (a = b))))).
tt('thm/words/WORD_LESS_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_lt' A) a b) & (('const/words/word_lt' A) b c)) => (('const/words/word_lt' A) a c)))).
tt('thm/words/WORD_LESS_EQ_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_le' A) a b) & (('const/words/word_le' A) b c)) => (('const/words/word_le' A) a c)))).
tt('thm/words/WORD_LESS_EQ_LESS_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_le' A) a b) & (('const/words/word_lt' A) b c)) => (('const/words/word_lt' A) a c)))).
tt('thm/words/WORD_LESS_LESS_EQ_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_lt' A) a b) & (('const/words/word_le' A) b c)) => (('const/words/word_lt' A) a c)))).
tt('thm/words/WORD_LESS_EQ_CASES_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_le' A) a b) | (('const/words/word_le' A) b a)))).
tt('thm/words/WORD_LESS_CASES_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lt' A) a b) | (('const/words/word_le' A) b a)))).
tt('thm/words/WORD_LESS_CASES_IMP_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((~ (('const/words/word_lt' A) a b)) & (~ (a = b))) => (('const/words/word_lt' A) b a)))).
tt('thm/words/WORD_LESS_ANTISYM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (~ ((('const/words/word_lt' A) a b) & (('const/words/word_lt' A) b a))))).
tt('thm/words/WORD_LESS_EQ_ANTISYM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (~ ((('const/words/word_lt' A) a b) & (('const/words/word_le' A) b a))))).
tt('thm/words/WORD_LESS_EQ_REFL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (('const/words/word_le' A) a a))).
tt('thm/words/WORD_LESS_EQUAL_ANTISYM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((('const/words/word_le' A) a b) & (('const/words/word_le' A) b a)) => (a = b)))).
tt('thm/words/WORD_LESS_IMP_LESS_OR_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lt' A) a b) => (('const/words/word_le' A) a b)))).
tt('thm/words/WORD_LESS_REFL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (~ (('const/words/word_lt' A) a a)))).
tt('thm/words/WORD_LESS_LESS_CASES_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((a = b) | ((('const/words/word_lt' A) a b) | (('const/words/word_lt' A) b a))))).
tt('thm/words/WORD_NOT_GREATER_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_gt' A) a b)) = (('const/words/word_le' A) a b)))).
tt('thm/words/WORD_LESS_NOT_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lt' A) a b) => (~ (a = b))))).
tt('thm/words/WORD_NOT_LESS_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((a = b) => (~ (('const/words/word_lt' A) a b))))).
tt('thm/words/WORD_HIGHER_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hi' A) a b) = (('const/words/word_lo' A) b a)))).
tt('thm/words/WORD_HIGHER_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hs' A) a b) = (('const/words/word_ls' A) b a)))).
tt('thm/words/WORD_NOT_LOWER_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_lo' A) a b)) = (('const/words/word_ls' A) b a)))).
tt('thm/words/WORD_NOT_LOWER_EQUAL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_ls' A) a b)) = (('const/words/word_lo' A) b a)))).
tt('thm/words/WORD_LOWER_OR_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a b) = ((('const/words/word_lo' A) a b) | (a = b))))).
tt('thm/words/WORD_HIGHER_OR_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_hs' A) a b) = ((('const/words/word_hi' A) a b) | (a = b))))).
tt('thm/words/WORD_LOWER_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_lo' A) a b) & (('const/words/word_lo' A) b c)) => (('const/words/word_lo' A) a c)))).
tt('thm/words/WORD_LOWER_EQ_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_ls' A) a b) & (('const/words/word_ls' A) b c)) => (('const/words/word_ls' A) a c)))).
tt('thm/words/WORD_LOWER_EQ_LOWER_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_ls' A) a b) & (('const/words/word_lo' A) b c)) => (('const/words/word_lo' A) a c)))).
tt('thm/words/WORD_LOWER_LOWER_EQ_TRANS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A)]: (((('const/words/word_lo' A) a b) & (('const/words/word_ls' A) b c)) => (('const/words/word_lo' A) a c)))).
tt('thm/words/WORD_LOWER_EQ_CASES_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a b) | (('const/words/word_ls' A) b a)))).
tt('thm/words/WORD_LOWER_CASES_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a b) | (('const/words/word_ls' A) b a)))).
tt('thm/words/WORD_LOWER_CASES_IMP_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((~ (('const/words/word_lo' A) a b)) & (~ (a = b))) => (('const/words/word_lo' A) b a)))).
tt('thm/words/WORD_LOWER_ANTISYM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (~ ((('const/words/word_lo' A) a b) & (('const/words/word_lo' A) b a))))).
tt('thm/words/WORD_LOWER_EQ_ANTISYM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (~ ((('const/words/word_lo' A) a b) & (('const/words/word_ls' A) b a))))).
tt('thm/words/WORD_LOWER_EQ_REFL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (('const/words/word_ls' A) a a))).
tt('thm/words/WORD_LOWER_EQUAL_ANTISYM_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((('const/words/word_ls' A) a b) & (('const/words/word_ls' A) b a)) => (a = b)))).
tt('thm/words/WORD_LOWER_IMP_LOWER_OR_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a b) => (('const/words/word_ls' A) a b)))).
tt('thm/words/WORD_LOWER_REFL_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (~ (('const/words/word_lo' A) a a)))).
tt('thm/words/WORD_LOWER_LOWER_CASES_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((a = b) | ((('const/words/word_lo' A) a b) | (('const/words/word_lo' A) b a))))).
tt('thm/words/WORD_NOT_HIGHER_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((~ (('const/words/word_hi' A) a b)) = (('const/words/word_ls' A) a b)))).
tt('thm/words/WORD_LOWER_NOT_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a b) => (~ (a = b))))).
tt('thm/words/WORD_NOT_LOWER_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((a = b) => (~ (('const/words/word_lo' A) a b))))).
tt('thm/words/WORD_L_PLUS_H_', ax, ![A : $t]: ((('const/words/word_add' A) ('const/words/word_L' A) ('const/words/word_H' A)) = ('const/words/word_T' A))).
tt('thm/words/WORD_L_LESS_EQ_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (('const/words/word_le' A) ('const/words/word_L' A) a))).
tt('thm/words/WORD_LESS_EQ_H_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: (('const/words/word_le' A) a ('const/words/word_H' A)))).
tt('thm/words/WORD_L_LESS_H_', ax, ![A : $t]: (('const/words/word_lt' A) ('const/words/word_L' A) ('const/words/word_H' A))).
tt('thm/words/NOT_INT_MIN_ZERO_', ax, ![A : $t]: (~ (('const/words/word_L' A) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/ZERO_LO_INT_MIN_', ax, ![A : $t]: (('const/words/word_lo' A) (('const/words/n2w' A) 'const/num/0') ('const/words/word_L' A))).
tt('thm/words/WORD_0_LS_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (('const/words/word_ls' A) (('const/words/n2w' A) 'const/num/0') w))).
tt('thm/words/WORD_LS_T_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (('const/words/word_ls' A) w ('const/words/word_T' A)))).
tt('thm/words/WORD_ADD_LEFT_LO_', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) (('const/words/word_add' A) a b) c) = (('const/bool/COND' $o) (('const/words/word_ls' A) b c) (('const/bool/LET' ('type/fcp/cart' $o A) $o) (^[x : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a x) | ((~ (b = (('const/words/n2w' A) 'const/num/0'))) & (('const/words/word_ls' A) (('const/words/word_add' A) (('const/words/word_2comp' A) c) x) a)))) (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/w2n' A) c) (('const/words/w2n' A) b)))) ((('const/words/word_ls' A) (('const/words/word_2comp' A) b) a) & (('const/words/word_lo' A) a (('const/words/word_add' A) (('const/words/word_2comp' A) b) c))))))).
tt('thm/words/WORD_ADD_LEFT_LS_', ax, ![A : $t]: (![b : ('type/fcp/cart' $o A), c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) (('const/words/word_add' A) a b) c) = (('const/bool/COND' $o) (('const/words/word_ls' A) b c) (('const/bool/LET' ('type/fcp/cart' $o A) $o) (^[x : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a x) | ((~ (b = (('const/words/n2w' A) 'const/num/0'))) & (('const/words/word_ls' A) (('const/words/word_add' A) (('const/words/word_2comp' A) c) x) a)))) (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/w2n' A) c) (('const/words/w2n' A) b)))) ((('const/words/word_ls' A) (('const/words/word_2comp' A) b) a) & (('const/words/word_ls' A) a (('const/words/word_add' A) (('const/words/word_2comp' A) b) c))))))).
tt('thm/words/WORD_ADD_RIGHT_LS_', ax, ![A : $t]: (![c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a (('const/words/word_add' A) b c)) = (('const/bool/COND' $o) (('const/words/word_ls' A) c a) (('const/bool/LET' ('type/fcp/cart' $o A) $o) (^[x : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) x b) & ((c = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_lo' A) b (('const/words/word_add' A) (('const/words/word_2comp' A) a) x))))) (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/w2n' A) a) (('const/words/w2n' A) c)))) ((('const/words/word_lo' A) b (('const/words/word_2comp' A) c)) | (('const/words/word_ls' A) (('const/words/word_add' A) (('const/words/word_2comp' A) c) a) b)))))).
tt('thm/words/WORD_ADD_RIGHT_LO_', ax, ![A : $t]: (![c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a (('const/words/word_add' A) b c)) = (('const/bool/COND' $o) (('const/words/word_ls' A) c a) (('const/bool/LET' ('type/fcp/cart' $o A) $o) (^[x : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) x b) & ((c = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_lo' A) b (('const/words/word_add' A) (('const/words/word_2comp' A) a) x))))) (('const/words/n2w' A) ('const/arithmetic/-' (('const/words/w2n' A) a) (('const/words/w2n' A) c)))) ((('const/words/word_lo' A) b (('const/words/word_2comp' A) c)) | (('const/words/word_lo' A) (('const/words/word_add' A) (('const/words/word_2comp' A) c) a) b)))))).
tt('thm/words/WORD_MSB_INT_MIN_LS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_msb' A) a) = (('const/words/word_ls' A) ('const/words/word_L' A) a)))).
tt('thm/words/WORD_LT_LO_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lt' A) a b) = (((('const/words/word_ls' A) ('const/words/word_L' A) a) & ((('const/words/word_lo' A) b ('const/words/word_L' A)) | (('const/words/word_lo' A) a b))) | ((('const/words/word_lo' A) a ('const/words/word_L' A)) & ((('const/words/word_lo' A) b ('const/words/word_L' A)) & (('const/words/word_lo' A) a b))))))).
tt('thm/words/WORD_LE_LS_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_le' A) a b) = (((('const/words/word_ls' A) ('const/words/word_L' A) a) & ((('const/words/word_lo' A) b ('const/words/word_L' A)) | (('const/words/word_ls' A) a b))) | ((('const/words/word_lo' A) a ('const/words/word_L' A)) & ((('const/words/word_lo' A) b ('const/words/word_L' A)) & (('const/words/word_ls' A) a b))))))).
tt('thm/words/WORD_LESS_NEG_LEFT_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) (('const/words/word_2comp' A) a) b) = ((~ (b = (('const/words/n2w' A) 'const/num/0'))) & ((a = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_lo' A) (('const/words/word_2comp' A) b) a)))))).
tt('thm/words/WORD_LESS_NEG_RIGHT_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a (('const/words/word_2comp' A) b)) = ((~ (b = (('const/words/n2w' A) 'const/num/0'))) & ((a = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_lo' A) b (('const/words/word_2comp' A) a))))))).
tt('thm/words/WORD_LS_word_0_', ax, ![A : $t]: (![n : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) n (('const/words/n2w' A) 'const/num/0')) = (n = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_LO_word_0_0', ax, ![A : $t]: (![n : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) (('const/words/n2w' A) 'const/num/0') n) = (~ (n = (('const/words/n2w' A) 'const/num/0')))))).
tt('thm/words/WORD_LO_word_0_e1', ax, ![B : $t]: (![n : ('type/fcp/cart' $o B)]: (~ (('const/words/word_lo' B) n (('const/words/n2w' B) 'const/num/0'))))).
tt('thm/words/WORD_ADD_LEFT_LO2_', ax, ![A : $t]: (![c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) (('const/words/word_add' A) c a) a) = ((~ (a = (('const/words/n2w' A) 'const/num/0'))) & (((~ (c = (('const/words/n2w' A) 'const/num/0'))) & (('const/words/word_lo' A) (('const/words/word_2comp' A) c) a)) | (a = (('const/words/word_2comp' A) c))))))).
tt('thm/words/WORD_ADD_LEFT_LS2_', ax, ![A : $t]: (![c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) (('const/words/word_add' A) c a) a) = ((c = (('const/words/n2w' A) 'const/num/0')) | ((~ (a = (('const/words/n2w' A) 'const/num/0'))) & ((('const/words/word_lo' A) (('const/words/word_2comp' A) c) a) | (a = (('const/words/word_2comp' A) c)))))))).
tt('thm/words/WORD_ADD_RIGHT_LO2_', ax, ![A : $t]: (![c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_lo' A) a (('const/words/word_add' A) c a)) = ((~ (c = (('const/words/n2w' A) 'const/num/0'))) & ((a = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_lo' A) a (('const/words/word_2comp' A) c))))))).
tt('thm/words/WORD_ADD_RIGHT_LS2_', ax, ![A : $t]: (![c : ('type/fcp/cart' $o A), a : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) a (('const/words/word_add' A) c a)) = ((a = (('const/words/n2w' A) 'const/num/0')) | ((c = (('const/words/n2w' A) 'const/num/0')) | (('const/words/word_lo' A) a (('const/words/word_2comp' A) c))))))).
tt('thm/words/word_msb_neg_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_msb' A) w) = (('const/words/word_lt' A) w (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/word_abs_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_abs' A) w) = (('const/fcp/FCP' $o A) (^[i : 'type/num/num']: (((~ (('const/words/word_msb' A) w)) & (('const/fcp/fcp_index' $o A) w i)) | ((('const/words/word_msb' A) w) & (('const/fcp/fcp_index' $o A) (('const/words/word_2comp' A) w) i)))))))).
tt('thm/words/word_abs_word_abs_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_abs' A) (('const/words/word_abs' A) w)) = (('const/words/word_abs' A) w)))).
tt('thm/words/word_abs_neg_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_abs' A) (('const/words/word_2comp' A) w)) = (('const/words/word_abs' A) w)))).
tt('thm/words/word_abs_diff_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/word_abs' A) (('const/words/word_sub' A) a b)) = (('const/words/word_abs' A) (('const/words/word_sub' A) b a))))).
tt('thm/words/FST_ADD_WITH_CARRY_tLL', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/pair/FST' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o)) (('const/words/add_with_carry' A) (('const/pair/,' ('type/fcp/cart' $o A) ('type/pair/prod' ('type/fcp/cart' $o A) $o)) a (('const/pair/,' ('type/fcp/cart' $o A) $o) b $false)))) = (('const/words/word_add' A) a b)))).
tt('thm/words/FST_ADD_WITH_CARRY_tLRL', ax, ![B : $t]: (![a : ('type/fcp/cart' $o B), b : ('type/fcp/cart' $o B)]: ((('const/pair/FST' ('type/fcp/cart' $o B) ('type/pair/prod' $o $o)) (('const/words/add_with_carry' B) (('const/pair/,' ('type/fcp/cart' $o B) ('type/pair/prod' ('type/fcp/cart' $o B) $o)) a (('const/pair/,' ('type/fcp/cart' $o B) $o) (('const/words/word_1comp' B) b) $true)))) = (('const/words/word_sub' B) a b)))).
tt('thm/words/FST_ADD_WITH_CARRY_tRRL', ax, ![C : $t]: (![a : ('type/fcp/cart' $o C), b : ('type/fcp/cart' $o C)]: ((('const/pair/FST' ('type/fcp/cart' $o C) ('type/pair/prod' $o $o)) (('const/words/add_with_carry' C) (('const/pair/,' ('type/fcp/cart' $o C) ('type/pair/prod' ('type/fcp/cart' $o C) $o)) (('const/words/word_1comp' C) a) (('const/pair/,' ('type/fcp/cart' $o C) $o) b $true)))) = (('const/words/word_sub' C) b a)))).
tt('thm/words/FST_ADD_WITH_CARRY_1', ax, ![B : $t]: (![n : 'type/num/num', a : ('type/fcp/cart' $o B)]: ((('const/pair/FST' ('type/fcp/cart' $o B) ('type/pair/prod' $o $o)) (('const/words/add_with_carry' B) (('const/pair/,' ('type/fcp/cart' $o B) ('type/pair/prod' ('type/fcp/cart' $o B) $o)) a (('const/pair/,' ('type/fcp/cart' $o B) $o) (('const/words/n2w' B) n) $true)))) = (('const/words/word_sub' B) a (('const/words/word_1comp' B) (('const/words/n2w' B) n)))))).
tt('thm/words/FST_ADD_WITH_CARRY_e2', ax, ![C : $t]: (![n : 'type/num/num', b : ('type/fcp/cart' $o C)]: ((('const/pair/FST' ('type/fcp/cart' $o C) ('type/pair/prod' $o $o)) (('const/words/add_with_carry' C) (('const/pair/,' ('type/fcp/cart' $o C) ('type/pair/prod' ('type/fcp/cart' $o C) $o)) (('const/words/n2w' C) n) (('const/pair/,' ('type/fcp/cart' $o C) $o) b $true)))) = (('const/words/word_sub' C) b (('const/words/word_1comp' C) (('const/words/n2w' C) n)))))).
tt('thm/words/ADD_WITH_CARRY_SUB_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: ((('const/words/add_with_carry' A) (('const/pair/,' ('type/fcp/cart' $o A) ('type/pair/prod' ('type/fcp/cart' $o A) $o)) x (('const/pair/,' ('type/fcp/cart' $o A) $o) (('const/words/word_1comp' A) y) $true))) = (('const/pair/,' ('type/fcp/cart' $o A) ('type/pair/prod' $o $o)) (('const/words/word_sub' A) x y) (('const/pair/,' $o $o) (('const/words/word_ls' A) y x) ((~ ((('const/words/word_msb' A) x) = (('const/words/word_msb' A) y))) & (~ ((('const/words/word_msb' A) (('const/words/word_sub' A) x y)) = (('const/words/word_msb' A) x))))))))).
tt('thm/words/word_eq_n2w_0', ax, ![A : $t]: (![m : 'type/num/num', n : 'type/num/num']: (((('const/words/n2w' A) m) = (('const/words/n2w' A) n)) = ('const/bit/MOD_2EXP_EQ' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) m n)))).
tt('thm/words/word_eq_n2w_1', ax, ![A : $t]: (![n : 'type/num/num']: (((('const/words/n2w' A) n) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = ('const/bit/MOD_2EXP_MAX' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n)))).
tt('thm/words/word_eq_n2w_e2', ax, ![A : $t]: (![n : 'type/num/num']: (((('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = (('const/words/n2w' A) n)) = ('const/bit/MOD_2EXP_MAX' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) n)))).
tt('thm/words/word_lt_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_lt' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = (('const/bool/LET' $o $o) (('const/bool/LET' $o ($o > $o)) (^[sa : $o, sb : $o]: (((sa = sb) & ('const/prim_rec/<' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))) | (sa & (~ sb)))) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) a)) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) b))))).
tt('thm/words/word_gt_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_gt' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = (('const/bool/LET' $o $o) (('const/bool/LET' $o ($o > $o)) (^[sa : $o, sb : $o]: (((sa = sb) & ('const/arithmetic/>' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))) | ((~ sa) & sb))) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) a)) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) b))))).
tt('thm/words/word_le_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_le' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = (('const/bool/LET' $o $o) (('const/bool/LET' $o ($o > $o)) (^[sa : $o, sb : $o]: (((sa = sb) & ('const/arithmetic/<=' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))) | (sa & (~ sb)))) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) a)) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) b))))).
tt('thm/words/word_ge_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_ge' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = (('const/bool/LET' $o $o) (('const/bool/LET' $o ($o > $o)) (^[sa : $o, sb : $o]: (((sa = sb) & ('const/arithmetic/>=' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))) | ((~ sa) & sb))) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) a)) ('const/bit/BIT' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) b))))).
tt('thm/words/word_ls_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_ls' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = ('const/arithmetic/<=' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/word_hi_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_hi' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = ('const/arithmetic/>' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/word_lo_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_lo' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = ('const/prim_rec/<' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/word_hs_n2w_', ax, ![A : $t]: (![a : 'type/num/num', b : 'type/num/num']: ((('const/words/word_hs' A) (('const/words/n2w' A) a) (('const/words/n2w' A) b)) = ('const/arithmetic/>=' ('const/arithmetic/MOD' a (('const/words/dimword' A) ('const/bool/the_value' A))) ('const/arithmetic/MOD' b (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/w2n_add_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: (((~ (('const/words/word_msb' A) a)) & (~ (('const/words/word_msb' A) b))) => ((('const/words/w2n' A) (('const/words/word_add' A) a b)) = ('const/arithmetic/+' (('const/words/w2n' A) a) (('const/words/w2n' A) b)))))).
tt('thm/words/saturate_w2w_n2w_', ax, ![A : $t, B : $t]: (![n : 'type/num/num']: ((('const/words/saturate_w2w' A B) (('const/words/n2w' A) n)) = (('const/bool/LET' 'type/num/num' ('type/fcp/cart' $o B)) (^[m : 'type/num/num']: (('const/bool/COND' ('type/fcp/cart' $o B)) (('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & ('const/arithmetic/<=' (('const/words/dimword' B) ('const/bool/the_value' B)) m)) ('const/words/word_T' B) (('const/words/n2w' B) m))) ('const/arithmetic/MOD' n (('const/words/dimword' A) ('const/bool/the_value' A))))))).
tt('thm/words/saturate_w2w_', ax, ![A : $t, B : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/saturate_w2w' A B) w) = (('const/bool/COND' ('type/fcp/cart' $o B)) (('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' A) ('const/bool/the_value' A))) & (('const/words/word_ls' A) (('const/words/w2w' B A) ('const/words/word_T' B)) w)) ('const/words/word_T' B) (('const/words/w2w' A B) w))))).
tt('thm/words/saturate_sub_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/saturate_sub' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_ls' A) a b) (('const/words/n2w' A) 'const/num/0') (('const/words/word_sub' A) a b))))).
tt('thm/words/saturate_add_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/saturate_add' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) (('const/words/word_ls' A) (('const/words/word_sub' A) ('const/words/word_T' A) a) b) ('const/words/word_T' A) (('const/words/word_add' A) a b))))).
tt('thm/words/NOT_FINITE_IMP_dimword_2_', ax, ![A : $t]: ((~ (('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A))) => ((('const/words/dimword' A) ('const/bool/the_value' A)) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))).
tt('thm/words/saturate_mul_', ax, ![A : $t]: (![a : ('type/fcp/cart' $o A), b : ('type/fcp/cart' $o A)]: ((('const/words/saturate_mul' A) a b) = (('const/bool/COND' ('type/fcp/cart' $o A)) ((('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A)) & (('const/words/word_ls' ('type/sum/sum' A A)) (('const/words/w2w' A ('type/sum/sum' A A)) ('const/words/word_T' A)) (('const/words/word_mul' ('type/sum/sum' A A)) (('const/words/w2w' A ('type/sum/sum' A A)) a) (('const/words/w2w' A ('type/sum/sum' A A)) b)))) ('const/words/word_T' A) (('const/words/word_mul' A) a b))))).
tt('thm/words/WORD_DIVISION_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((~ (w = (('const/words/n2w' A) 'const/num/0'))) => (![v : ('type/fcp/cart' $o A)]: ((v = (('const/words/word_add' A) (('const/words/word_mul' A) (('const/words/word_div' A) v w) w) (('const/words/word_mod' A) v w))) & (('const/words/word_lo' A) (('const/words/word_mod' A) v w) w)))))).
tt('thm/words/word_reverse_0_', ax, ![A : $t]: ((('const/words/word_reverse' A) (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/word_reverse_word_T_', ax, ![A : $t]: ((('const/words/word_reverse' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/sw2sw_0_', ax, ![B : $t, A : $t]: ((('const/words/sw2sw' A B) (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' B) 'const/num/0'))).
tt('thm/words/sw2sw_word_T_', ax, ![A : $t, B : $t]: ((('const/words/sw2sw' B A) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_div_1_', ax, ![A : $t]: (![v : ('type/fcp/cart' $o A)]: ((('const/words/word_div' A) v (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = v))).
tt('thm/words/word_bit_0_', ax, ![A : $t]: (![h : 'type/num/num']: (~ (('const/words/word_bit' A) h (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/word_lsb_word_T_', ax, ![A : $t]: (('const/words/word_lsb' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_msb_word_T_', ax, ![A : $t]: (('const/words/word_msb' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_bit_0_word_T_', ax, ![A : $t]: (('const/words/word_bit' A) 'const/num/0' (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_log2_1_', ax, ![A : $t]: ((('const/words/word_log2' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/word_join_0_', ax, ![A : $t, B : $t]: (![a : ('type/fcp/cart' $o A)]: ((('const/words/word_join' B A) (('const/words/n2w' B) 'const/num/0') a) = (('const/words/w2w' A ('type/sum/sum' B A)) a)))).
tt('thm/words/word_concat_0_0_', ax, ![C : $t, B : $t, A : $t]: ((('const/words/word_concat' A B C) (('const/words/n2w' A) 'const/num/0') (('const/words/n2w' B) 'const/num/0')) = (('const/words/n2w' C) 'const/num/0'))).
tt('thm/words/w2w_eq_n2w_', ax, ![A : $t, B : $t]: (![x : ('type/fcp/cart' $o A), y : 'type/num/num']: ((('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) & ('const/prim_rec/<' y (('const/words/dimword' A) ('const/bool/the_value' A)))) => (((('const/words/w2w' A B) x) = (('const/words/n2w' B) y)) = (x = (('const/words/n2w' A) y)))))).
tt('thm/words/word_extract_eq_n2w_', ax, ![A : $t, B : $t]: (![x : ('type/fcp/cart' $o A), h : 'type/num/num', y : 'type/num/num']: ((('const/arithmetic/<=' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) (('const/fcp/dimindex' B) ('const/bool/the_value' B))) & (('const/arithmetic/<=' ('const/arithmetic/-' (('const/fcp/dimindex' A) ('const/bool/the_value' A)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) h) & ('const/prim_rec/<' y (('const/words/dimword' A) ('const/bool/the_value' A))))) => (((('const/words/word_extract' A B) h 'const/num/0' x) = (('const/words/n2w' B) y)) = (x = (('const/words/n2w' A) y)))))).
tt('thm/words/word_concat_0_', ax, ![C : $t, B : $t, A : $t]: (![x : 'type/num/num']: (((('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A)) & ('const/prim_rec/<' x (('const/words/dimword' B) ('const/bool/the_value' B)))) => ((('const/words/word_concat' A B C) (('const/words/n2w' A) 'const/num/0') (('const/words/n2w' B) x)) = (('const/words/n2w' C) x))))).
tt('thm/words/word_concat_0_eq_', ax, ![B : $t, C : $t, A : $t]: (![x : ('type/fcp/cart' $o B), y : 'type/num/num']: (((('const/pred_set/FINITE' A) ('const/pred_set/UNIV' A)) & (('const/arithmetic/<=' (('const/fcp/dimindex' B) ('const/bool/the_value' B)) (('const/fcp/dimindex' C) ('const/bool/the_value' C))) & ('const/prim_rec/<' y (('const/words/dimword' B) ('const/bool/the_value' B))))) => (((('const/words/word_concat' A B C) (('const/words/n2w' A) 'const/num/0') x) = (('const/words/n2w' C) y)) = (x = (('const/words/n2w' B) y)))))).
tt('thm/words/word_join_word_T_', ax, ![A : $t, B : $t]: ((('const/words/word_join' A B) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/word_2comp' ('type/sum/sum' A B)) (('const/words/n2w' ('type/sum/sum' A B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_concat_word_T_', ax, ![A : $t, B : $t, C : $t]: ((('const/words/word_concat' A B C) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/w2w' ('type/sum/sum' A B) C) (('const/words/word_2comp' ('type/sum/sum' A B)) (('const/words/n2w' ('type/sum/sum' A B)) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/lsr_1_word_T_', ax, ![A : $t]: ((('const/words/word_lsr' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))) = ('const/words/word_H' A))).
tt('thm/words/word_rrx_0_0', ax, ![A : $t]: ((('const/words/word_rrx' A) (('const/pair/,' $o ('type/fcp/cart' $o A)) $false (('const/words/n2w' A) 'const/num/0'))) = (('const/pair/,' $o ('type/fcp/cart' $o A)) $false (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/word_rrx_0_e1', ax, ![B : $t]: ((('const/words/word_rrx' B) (('const/pair/,' $o ('type/fcp/cart' $o B)) $true (('const/words/n2w' B) 'const/num/0'))) = (('const/pair/,' $o ('type/fcp/cart' $o B)) $false ('const/words/word_L' B)))).
tt('thm/words/word_rrx_word_T_0', ax, ![A : $t]: ((('const/words/word_rrx' A) (('const/pair/,' $o ('type/fcp/cart' $o A)) $false (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))) = (('const/pair/,' $o ('type/fcp/cart' $o A)) $true ('const/words/word_H' A)))).
tt('thm/words/word_rrx_word_T_e1', ax, ![B : $t]: ((('const/words/word_rrx' B) (('const/pair/,' $o ('type/fcp/cart' $o B)) $true (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))) = (('const/pair/,' $o ('type/fcp/cart' $o B)) $true (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/word_T_not_zero_', ax, ![A : $t]: (~ ((('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) = (('const/words/n2w' A) 'const/num/0')))).
tt('thm/words/WORD_LS_word_T_0', ax, ![A : $t]: (![n : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) n) = (n = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/WORD_LS_word_T_e1', ax, ![B : $t]: (![n : ('type/fcp/cart' $o B)]: (('const/words/word_ls' B) n (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_LO_word_T_0', ax, ![A : $t]: (![n : ('type/fcp/cart' $o A)]: (~ (('const/words/word_lo' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) n)))).
tt('thm/words/WORD_LO_word_T_e1', ax, ![B : $t]: (![n : ('type/fcp/cart' $o B)]: ((('const/words/word_lo' B) n (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (~ (n = (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))).
tt('thm/words/WORD_LESS_0_word_T_0', ax, ![A : $t]: (~ (('const/words/word_lt' A) (('const/words/n2w' A) 'const/num/0') (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_LESS_0_word_T_1', ax, ![B : $t]: (~ (('const/words/word_le' B) (('const/words/n2w' B) 'const/num/0') (('const/words/word_2comp' B) (('const/words/n2w' B) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/WORD_LESS_0_word_T_2', ax, ![C : $t]: (('const/words/word_lt' C) (('const/words/word_2comp' C) (('const/words/n2w' C) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) (('const/words/n2w' C) 'const/num/0'))).
tt('thm/words/WORD_LESS_0_word_T_e3', ax, ![D : $t]: (('const/words/word_le' D) (('const/words/word_2comp' D) (('const/words/n2w' D) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))) (('const/words/n2w' D) 'const/num/0'))).
tt('thm/words/word_reverse_thm_0', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_reverse' A) (('const/words/word_reverse' A) w)) = w))).
tt('thm/words/word_reverse_thm_1', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_reverse' A) (('const/words/word_lsl' A) w n)) = (('const/words/word_lsr' A) (('const/words/word_reverse' A) w) n)))).
tt('thm/words/word_reverse_thm_2', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/word_reverse' A) (('const/words/word_lsr' A) w n)) = (('const/words/word_lsl' A) (('const/words/word_reverse' A) w) n)))).
tt('thm/words/word_reverse_thm_3', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_reverse' A) (('const/words/word_or' A) w v)) = (('const/words/word_or' A) (('const/words/word_reverse' A) w) (('const/words/word_reverse' A) v))))).
tt('thm/words/word_reverse_thm_4', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_reverse' A) (('const/words/word_and' A) w v)) = (('const/words/word_and' A) (('const/words/word_reverse' A) w) (('const/words/word_reverse' A) v))))).
tt('thm/words/word_reverse_thm_5', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), v : ('type/fcp/cart' $o A)]: ((('const/words/word_reverse' A) (('const/words/word_xor' A) w v)) = (('const/words/word_xor' A) (('const/words/word_reverse' A) w) (('const/words/word_reverse' A) v))))).
tt('thm/words/word_reverse_thm_6', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_reverse' A) (('const/words/word_1comp' A) w)) = (('const/words/word_1comp' A) (('const/words/word_reverse' A) w))))).
tt('thm/words/word_reverse_thm_7', ax, ![A : $t]: ((('const/words/word_reverse' A) (('const/words/n2w' A) 'const/num/0')) = (('const/words/n2w' A) 'const/num/0'))).
tt('thm/words/word_reverse_thm_8', ax, ![A : $t]: ((('const/words/word_reverse' A) (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/word_reverse_thm_9', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (((('const/words/word_reverse' A) w) = (('const/words/n2w' A) 'const/num/0')) = (w = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/word_reverse_thm_e10', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (((('const/words/word_reverse' A) w) = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) = (w = (('const/words/word_2comp' A) (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/bit_count_upto_0_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/bit_count_upto' A) 'const/num/0' w) = 'const/num/0'))).
tt('thm/words/bit_count_upto_SUC_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A), n : 'type/num/num']: ((('const/words/bit_count_upto' A) ('const/num/SUC' n) w) = ('const/arithmetic/+' (('const/bool/COND' 'type/num/num') (('const/fcp/fcp_index' $o A) w n) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')) 'const/num/0') (('const/words/bit_count_upto' A) n w))))).
tt('thm/words/bit_count_upto_is_zero_', ax, ![A : $t]: (![n : 'type/num/num', w : ('type/fcp/cart' $o A)]: (((('const/words/bit_count_upto' A) n w) = 'const/num/0') = (![i : 'type/num/num']: (('const/prim_rec/<' i n) => (~ (('const/fcp/fcp_index' $o A) w i))))))).
tt('thm/words/bit_count_is_zero_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: (((('const/words/bit_count' A) w) = 'const/num/0') = (w = (('const/words/n2w' A) 'const/num/0'))))).
tt('thm/words/WORD_FINITE_', ax, ![A : $t]: (![s : (('type/fcp/cart' $o A) > $o)]: (('const/pred_set/FINITE' ('type/fcp/cart' $o A)) s))).
tt('thm/words/WORD_SET_INDUCT_', ax, ![A : $t]: (![P : ((('type/fcp/cart' $o A) > $o) > $o)]: (((P ('const/pred_set/EMPTY' ('type/fcp/cart' $o A))) & (![s : (('type/fcp/cart' $o A) > $o)]: ((P s) => (![e : ('type/fcp/cart' $o A)]: ((~ (('const/bool/IN' ('type/fcp/cart' $o A)) e s)) => (P (('const/pred_set/INSERT' ('type/fcp/cart' $o A)) e s))))))) => (![s : (('type/fcp/cart' $o A) > $o)]: (P s))))).
tt('thm/words/SUC_WORD_PRED_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A)]: ((~ (x = (('const/words/n2w' A) 'const/num/0'))) => (('const/num/SUC' (('const/words/w2n' A) (('const/words/word_sub' A) x (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))) = (('const/words/w2n' A) x))))).
tt('thm/words/WORD_PRED_THM_', ax, ![A : $t]: (![m : ('type/fcp/cart' $o A)]: ((~ (m = (('const/words/n2w' A) 'const/num/0'))) => ('const/prim_rec/<' (('const/words/w2n' A) (('const/words/word_sub' A) m (('const/words/n2w' A) ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))) (('const/words/w2n' A) m))))).
tt('thm/words/LSR_LESS_', ax, ![A : $t]: (![m : 'type/num/num', y : ('type/fcp/cart' $o A)]: (((~ (y = (('const/words/n2w' A) 'const/num/0'))) & ('const/prim_rec/<' 'const/num/0' m)) => ('const/prim_rec/<' (('const/words/w2n' A) (('const/words/word_lsr' A) y m)) (('const/words/w2n' A) y))))).
tt('thm/words/word_sub_w2n_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: ((('const/words/word_ls' A) y x) => ((('const/words/w2n' A) (('const/words/word_sub' A) x y)) = ('const/arithmetic/-' (('const/words/w2n' A) x) (('const/words/w2n' A) y)))))).
tt('thm/words/WORD_LE_EQ_LS_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: (((('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') x) & (('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') y)) => ((('const/words/word_le' A) x y) = (('const/words/word_ls' A) x y))))).
tt('thm/words/WORD_LT_EQ_LO_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: (((('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') x) & (('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') y)) => ((('const/words/word_lt' A) x y) = (('const/words/word_lo' A) x y))))).
tt('thm/words/WORD_ZERO_LE_', ax, ![A : $t]: (![w : ('type/fcp/cart' $o A)]: ((('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') w) = ('const/prim_rec/<' (('const/words/w2n' A) w) (('const/words/INT_MIN' A) ('const/bool/the_value' A)))))).
tt('thm/words/WORD_LT_SUB_UPPER_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: (((('const/words/word_lt' A) (('const/words/n2w' A) 'const/num/0') y) & (('const/words/word_lt' A) y x)) => (('const/words/word_lt' A) (('const/words/word_sub' A) x y) x)))).
tt('thm/words/WORD_SUB_LT_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: (((('const/words/word_lt' A) (('const/words/n2w' A) 'const/num/0') y) & (('const/words/word_lt' A) y x)) => ((('const/words/word_lt' A) (('const/words/n2w' A) 'const/num/0') (('const/words/word_sub' A) x y)) & (('const/words/word_lt' A) (('const/words/word_sub' A) x y) x))))).
tt('thm/words/WORD_SUB_LE_', ax, ![A : $t]: (![x : ('type/fcp/cart' $o A), y : ('type/fcp/cart' $o A)]: (((('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') y) & (('const/words/word_le' A) y x)) => ((('const/words/word_le' A) (('const/words/n2w' A) 'const/num/0') (('const/words/word_sub' A) x y)) & (('const/words/word_le' A) (('const/words/word_sub' A) x y) x))))).
tt('thm/words/dimindex_1_', ax, ((('const/fcp/dimindex' 'type/one/one') ('const/bool/the_value' 'type/one/one')) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))).
tt('thm/words/finite_1_', ax, (('const/pred_set/FINITE' 'type/one/one') ('const/pred_set/UNIV' 'type/one/one'))).
tt('thm/words/INT_MIN_1_', ax, ((('const/words/INT_MIN' 'type/one/one') ('const/bool/the_value' 'type/one/one')) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))).
tt('thm/words/dimword_1_', ax, ((('const/words/dimword' 'type/one/one') ('const/bool/the_value' 'type/one/one')) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))).
tt('thm/words/dimindex_2_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' 'type/one/one')) ('const/bool/the_value' ('type/fcp/bit0' 'type/one/one'))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))).
tt('thm/words/finite_2_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' 'type/one/one')) ('const/pred_set/UNIV' ('type/fcp/bit0' 'type/one/one')))).
tt('thm/words/INT_MIN_2_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' 'type/one/one')) ('const/bool/the_value' ('type/fcp/bit0' 'type/one/one'))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))).
tt('thm/words/dimword_2_', ax, ((('const/words/dimword' ('type/fcp/bit0' 'type/one/one')) ('const/bool/the_value' ('type/fcp/bit0' 'type/one/one'))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/dimindex_3_', ax, ((('const/fcp/dimindex' ('type/fcp/bit1' 'type/one/one')) ('const/bool/the_value' ('type/fcp/bit1' 'type/one/one'))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/finite_3_', ax, (('const/pred_set/FINITE' ('type/fcp/bit1' 'type/one/one')) ('const/pred_set/UNIV' ('type/fcp/bit1' 'type/one/one')))).
tt('thm/words/INT_MIN_3_', ax, ((('const/words/INT_MIN' ('type/fcp/bit1' 'type/one/one')) ('const/bool/the_value' ('type/fcp/bit1' 'type/one/one'))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/dimword_3_', ax, ((('const/words/dimword' ('type/fcp/bit1' 'type/one/one')) ('const/bool/the_value' ('type/fcp/bit1' 'type/one/one'))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/dimindex_4_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))).
tt('thm/words/finite_4_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))).
tt('thm/words/INT_MIN_4_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/dimword_4_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/dimindex_5_', ax, ((('const/fcp/dimindex' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))).
tt('thm/words/finite_5_', ax, (('const/pred_set/FINITE' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))) ('const/pred_set/UNIV' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))).
tt('thm/words/INT_MIN_5_', ax, ((('const/words/INT_MIN' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/dimword_5_', ax, ((('const/words/dimword' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/dimindex_6_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))).
tt('thm/words/finite_6_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))).
tt('thm/words/INT_MIN_6_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/dimword_6_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))).
tt('thm/words/dimindex_7_', ax, ((('const/fcp/dimindex' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/finite_7_', ax, (('const/pred_set/FINITE' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))) ('const/pred_set/UNIV' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))).
tt('thm/words/INT_MIN_7_', ax, ((('const/words/INT_MIN' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))).
tt('thm/words/dimword_7_', ax, ((('const/words/dimword' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))).
tt('thm/words/dimindex_8_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/finite_8_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))).
tt('thm/words/INT_MIN_8_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))).
tt('thm/words/dimword_8_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))).
tt('thm/words/dimindex_9_', ax, ((('const/fcp/dimindex' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/finite_9_', ax, (('const/pred_set/FINITE' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/pred_set/UNIV' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))).
tt('thm/words/INT_MIN_9_', ax, ((('const/words/INT_MIN' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))).
tt('thm/words/dimword_9_', ax, ((('const/words/dimword' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))).
tt('thm/words/dimindex_10_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))).
tt('thm/words/finite_10_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))))).
tt('thm/words/INT_MIN_10_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))).
tt('thm/words/dimword_10_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))).
tt('thm/words/dimindex_11_', ax, ((('const/fcp/dimindex' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))))).
tt('thm/words/finite_11_', ax, (('const/pred_set/FINITE' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/pred_set/UNIV' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))))).
tt('thm/words/INT_MIN_11_', ax, ((('const/words/INT_MIN' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))).
tt('thm/words/dimword_11_', ax, ((('const/words/dimword' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))).
tt('thm/words/dimindex_12_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))))).
tt('thm/words/finite_12_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))).
tt('thm/words/INT_MIN_12_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))).
tt('thm/words/dimword_12_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))).
tt('thm/words/dimindex_16_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/finite_16_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))).
tt('thm/words/INT_MIN_16_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))).
tt('thm/words/dimword_16_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))).
tt('thm/words/dimindex_20_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))).
tt('thm/words/finite_20_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))))).
tt('thm/words/INT_MIN_20_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))).
tt('thm/words/dimword_20_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit0' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))).
tt('thm/words/dimindex_24_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))))).
tt('thm/words/finite_24_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))).
tt('thm/words/INT_MIN_24_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))).
tt('thm/words/dimword_24_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))).
tt('thm/words/dimindex_28_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))))).
tt('thm/words/finite_28_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))))).
tt('thm/words/INT_MIN_28_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))).
tt('thm/words/dimword_28_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))).
tt('thm/words/dimindex_30_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))))).
tt('thm/words/finite_30_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))))).
tt('thm/words/INT_MIN_30_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))))).
tt('thm/words/dimword_30_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one'))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit1' ('type/fcp/bit1' ('type/fcp/bit1' 'type/one/one')))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))))).
tt('thm/words/dimindex_32_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))).
tt('thm/words/finite_32_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))).
tt('thm/words/INT_MIN_32_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))))))).
tt('thm/words/dimword_32_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))))))).
tt('thm/words/dimindex_48_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO')))))))).
tt('thm/words/finite_48_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))))).
tt('thm/words/INT_MIN_48_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimword_48_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimindex_64_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))).
tt('thm/words/finite_64_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))))).
tt('thm/words/INT_MIN_64_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimword_64_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimindex_96_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT2' 'const/arithmetic/ZERO'))))))))).
tt('thm/words/finite_96_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))))).
tt('thm/words/INT_MIN_96_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimword_96_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one'))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit1' 'type/one/one')))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimindex_128_', ax, ((('const/fcp/dimindex' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))).
tt('thm/words/finite_128_', ax, (('const/pred_set/FINITE' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) ('const/pred_set/UNIV' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))))).
tt('thm/words/INT_MIN_128_', ax, ((('const/words/INT_MIN' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/dimword_128_', ax, ((('const/words/dimword' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one')))))))) ('const/bool/the_value' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' ('type/fcp/bit0' 'type/one/one'))))))))) = ('const/arithmetic/NUMERAL' ('const/arithmetic/BIT2' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' ('const/arithmetic/BIT1' 'const/arithmetic/ZERO'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
tt('thm/words/n2w_itself_primitive_def_', def, ![A : $t]: (('const/words/n2w_itself' A) = (('const/relation/WFREC' ('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) ('type/fcp/cart' $o A)) (('const/min/@' (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > $o))) (^[R : (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > $o))]: (('const/relation/WF' ('type/pair/prod' 'type/num/num' ('type/bool/itself' A))) R))) (^[n2w_itself : (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > ('type/fcp/cart' $o A)), a : ('type/pair/prod' 'type/num/num' ('type/bool/itself' A))]: (('const/pair/pair_CASE' ('type/fcp/cart' $o A) 'type/num/num' ('type/bool/itself' A)) a (^[n : 'type/num/num', v1 : ('type/bool/itself' A)]: (('const/combin/I' ('type/fcp/cart' $o A)) (('const/words/n2w' A) n)))))))).
tt('thm/words/n2w_itself_ind_', ax, ![A : $t]: (![P : (('type/pair/prod' 'type/num/num' ('type/bool/itself' A)) > $o)]: ((![n : 'type/num/num']: (P (('const/pair/,' 'type/num/num' ('type/bool/itself' A)) n ('const/bool/the_value' A)))) => (![v : 'type/num/num', v1 : ('type/bool/itself' A)]: (P (('const/pair/,' 'type/num/num' ('type/bool/itself' A)) v v1)))))).
tt('thm/words/n2w_itself_def_', ax, ![A : $t]: (![n : 'type/num/num']: ((('const/words/n2w_itself' A) (('const/pair/,' 'type/num/num' ('type/bool/itself' A)) n ('const/bool/the_value' A))) = (('const/words/n2w' A) n)))).
