ITP001 Axioms: ITP110^7.ax
%------------------------------------------------------------------------------
% File : ITP110^7 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 syntactic export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : integer_word.ax [Gau19]
% : HL4110^7.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 214 ( 72 unt; 108 typ; 0 def)
% Number of atoms : 229 ( 102 equ; 13 cnn)
% Maximal formula atoms : 6 ( 1 avg)
% Number of connectives : 2026 ( 13 ~; 1 |; 27 &;1947 @)
% ( 15 <=>; 23 =>; 0 <=; 0 <~>)
% Maximal formula depth : 16 ( 5 avg;1947 nst)
% Number of types : 5 ( 4 usr)
% Number of type conns : 169 ( 169 >; 0 *; 0 +; 0 <<)
% Number of symbols : 106 ( 104 usr; 5 con; 0-5 aty)
% Number of variables : 318 ( 8 ^ 233 !; 3 ?; 318 :)
% ( 74 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Ebool_2Eitself,type,
tyop_2Ebool_2Eitself: $tType > $tType ).
thf(tyop_2Efcp_2Ecart,type,
tyop_2Efcp_2Ecart: $tType > $tType > $tType ).
thf(tyop_2Einteger_2Eint,type,
tyop_2Einteger_2Eint: $tType ).
thf(tyop_2Elist_2Elist,type,
tyop_2Elist_2Elist: $tType > $tType ).
thf(tyop_2Emin_2Ebool,type,
tyop_2Emin_2Ebool: $tType ).
thf(tyop_2Emin_2Efun,type,
tyop_2Emin_2Efun: $tType > $tType > $tType ).
thf(tyop_2Enum_2Enum,type,
tyop_2Enum_2Enum: $tType ).
thf(tyop_2Epair_2Eprod,type,
tyop_2Epair_2Eprod: $tType > $tType > $tType ).
thf(tyop_2Estring_2Echar,type,
tyop_2Estring_2Echar: $tType ).
thf(c_2Ebool_2E_21,type,
c_2Ebool_2E_21:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Epair_2E_2C,type,
c_2Epair_2E_2C:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) ).
thf(c_2Earithmetic_2E_2D,type,
c_2Earithmetic_2E_2D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_2F_5C,type,
c_2Ebool_2E_2F_5C: $o > $o > $o ).
thf(c_2Enum_2E0,type,
c_2Enum_2E0: tyop_2Enum_2Enum ).
thf(c_2Eprim__rec_2E_3C,type,
c_2Eprim__rec_2E_3C: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Earithmetic_2E_3C_3D,type,
c_2Earithmetic_2E_3C_3D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Emin_2E_3D,type,
c_2Emin_2E_3D:
!>[A_27a: $tType] : ( A_27a > A_27a > $o ) ).
thf(c_2Emin_2E_3D_3D_3E,type,
c_2Emin_2E_3D_3D_3E: $o > $o > $o ).
thf(c_2Ebool_2E_3F,type,
c_2Ebool_2E_3F:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Emin_2E_40,type,
c_2Emin_2E_40:
!>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a ) ).
thf(c_2Einteger_2EABS,type,
c_2Einteger_2EABS: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Elist_2EAPPEND,type,
c_2Elist_2EAPPEND:
!>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).
thf(c_2Earithmetic_2EBIT1,type,
c_2Earithmetic_2EBIT1: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EBIT2,type,
c_2Earithmetic_2EBIT2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Estring_2ECHR,type,
c_2Estring_2ECHR: tyop_2Enum_2Enum > tyop_2Estring_2Echar ).
thf(c_2Ebool_2ECOND,type,
c_2Ebool_2ECOND:
!>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).
thf(c_2Elist_2ECONS,type,
c_2Elist_2ECONS:
!>[A_27a: $tType] : ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).
thf(c_2Earithmetic_2EEXP,type,
c_2Earithmetic_2EEXP: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2EF,type,
c_2Ebool_2EF: $o ).
thf(c_2Ecombin_2EI,type,
c_2Ecombin_2EI:
!>[A_27a: $tType] : ( A_27a > A_27a ) ).
thf(c_2Einteger__word_2EINT__MAX,type,
c_2Einteger__word_2EINT__MAX:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Einteger_2Eint ) ).
thf(c_2Ewords_2EINT__MAX,type,
c_2Ewords_2EINT__MAX:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Einteger__word_2EINT__MIN,type,
c_2Einteger__word_2EINT__MIN:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Einteger_2Eint ) ).
thf(c_2Ewords_2EINT__MIN,type,
c_2Ewords_2EINT__MIN:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Ebool_2ELET,type,
c_2Ebool_2ELET:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > A_27a > A_27b ) ).
thf(c_2Earithmetic_2EMOD,type,
c_2Earithmetic_2EMOD: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Elist_2ENIL,type,
c_2Elist_2ENIL:
!>[A_27a: $tType] : ( tyop_2Elist_2Elist @ A_27a ) ).
thf(c_2Earithmetic_2ENUMERAL,type,
c_2Earithmetic_2ENUMERAL: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Einteger_2ENum,type,
c_2Einteger_2ENum: tyop_2Einteger_2Eint > tyop_2Enum_2Enum ).
thf(c_2Epair_2ESND,type,
c_2Epair_2ESND:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27b ) ).
thf(c_2Ebool_2ET,type,
c_2Ebool_2ET: $o ).
thf(c_2Einteger__word_2EUINT__MAX,type,
c_2Einteger__word_2EUINT__MAX:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Einteger_2Eint ) ).
thf(c_2Ewords_2EUINT__MAX,type,
c_2Ewords_2EUINT__MAX:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Erelation_2EWF,type,
c_2Erelation_2EWF:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).
thf(c_2Erelation_2EWFREC,type,
c_2Erelation_2EWFREC:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27a > $o ) > ( ( A_27a > A_27b ) > A_27a > A_27b ) > A_27a > A_27b ) ).
thf(c_2Earithmetic_2EZERO,type,
c_2Earithmetic_2EZERO: tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_5C_2F,type,
c_2Ebool_2E_5C_2F: $o > $o > $o ).
thf(c_2Ewords_2Eadd__with__carry,type,
c_2Ewords_2Eadd__with__carry:
!>[A_27a: $tType] : ( ( tyop_2Epair_2Eprod @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ $o ) ) > ( tyop_2Epair_2Eprod @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( tyop_2Epair_2Eprod @ $o @ $o ) ) ) ).
thf(c_2Efcp_2Edimindex,type,
c_2Efcp_2Edimindex:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Ewords_2Edimword,type,
c_2Ewords_2Edimword:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Einteger__word_2EfromString,type,
c_2Einteger__word_2EfromString: ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > tyop_2Einteger_2Eint ).
thf(c_2Einteger__word_2Ei2w,type,
c_2Einteger__word_2Ei2w:
!>[A_27a: $tType] : ( tyop_2Einteger_2Eint > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Einteger_2Eint__add,type,
c_2Einteger_2Eint__add: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__div,type,
c_2Einteger_2Eint__div: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__exp,type,
c_2Einteger_2Eint__exp: tyop_2Einteger_2Eint > tyop_2Enum_2Enum > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__ge,type,
c_2Einteger_2Eint__ge: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > $o ).
thf(c_2Einteger_2Eint__gt,type,
c_2Einteger_2Eint__gt: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > $o ).
thf(c_2Einteger_2Eint__le,type,
c_2Einteger_2Eint__le: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > $o ).
thf(c_2Einteger_2Eint__lt,type,
c_2Einteger_2Eint__lt: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > $o ).
thf(c_2Einteger_2Eint__mod,type,
c_2Einteger_2Eint__mod: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__mul,type,
c_2Einteger_2Eint__mul: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__neg,type,
c_2Einteger_2Eint__neg: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__of__num,type,
c_2Einteger_2Eint__of__num: tyop_2Enum_2Enum > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__quot,type,
c_2Einteger_2Eint__quot: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__rem,type,
c_2Einteger_2Eint__rem: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Einteger_2Eint__sub,type,
c_2Einteger_2Eint__sub: tyop_2Einteger_2Eint > tyop_2Einteger_2Eint > tyop_2Einteger_2Eint ).
thf(c_2Elist_2Elist__CASE,type,
c_2Elist_2Elist__CASE:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > A_27b > ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b ) > A_27b ) ).
thf(c_2Ebool_2Eliteral__case,type,
c_2Ebool_2Eliteral__case:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > A_27a > A_27b ) ).
thf(c_2Ewords_2En2w,type,
c_2Ewords_2En2w:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2EASCIInumbers_2Enum__from__dec__string,type,
c_2EASCIInumbers_2Enum__from__dec__string: ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > tyop_2Enum_2Enum ).
thf(c_2EASCIInumbers_2Enum__to__dec__string,type,
c_2EASCIInumbers_2Enum__to__dec__string: tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) ).
thf(c_2Einteger__word_2Esaturate__i2sw,type,
c_2Einteger__word_2Esaturate__i2sw:
!>[A_27a: $tType] : ( tyop_2Einteger_2Eint > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Einteger__word_2Esaturate__i2w,type,
c_2Einteger__word_2Esaturate__i2w:
!>[A_27a: $tType] : ( tyop_2Einteger_2Eint > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Esaturate__n2w,type,
c_2Ewords_2Esaturate__n2w:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Einteger__word_2Esaturate__sw2sw,type,
c_2Einteger__word_2Esaturate__sw2sw:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27b ) ) ).
thf(c_2Einteger__word_2Esaturate__sw2w,type,
c_2Einteger__word_2Esaturate__sw2w:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27b ) ) ).
thf(c_2Einteger__word_2Esaturate__w2sw,type,
c_2Einteger__word_2Esaturate__w2sw:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27b ) ) ).
thf(c_2Ewords_2Esaturate__w2w,type,
c_2Ewords_2Esaturate__w2w:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27b ) ) ).
thf(c_2Einteger__word_2Esigned__saturate__add,type,
c_2Einteger__word_2Esigned__saturate__add:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Einteger__word_2Esigned__saturate__sub,type,
c_2Einteger__word_2Esigned__saturate__sub:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Esw2sw,type,
c_2Ewords_2Esw2sw:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27b ) ) ).
thf(c_2Ebool_2Ethe__value,type,
c_2Ebool_2Ethe__value:
!>[A_27a: $tType] : ( tyop_2Ebool_2Eitself @ A_27a ) ).
thf(c_2Einteger__word_2EtoString,type,
c_2Einteger__word_2EtoString: tyop_2Einteger_2Eint > ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) ).
thf(c_2Einteger__word_2Ew2i,type,
c_2Einteger__word_2Ew2i:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > tyop_2Einteger_2Eint ) ).
thf(c_2Ewords_2Ew2n,type,
c_2Ewords_2Ew2n:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Ewords_2Ew2w,type,
c_2Ewords_2Ew2w:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27b ) ) ).
thf(c_2Ewords_2Eword__1comp,type,
c_2Ewords_2Eword__1comp:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__2comp,type,
c_2Ewords_2Eword__2comp:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__H,type,
c_2Ewords_2Eword__H:
!>[A_27a: $tType] : ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ).
thf(c_2Ewords_2Eword__L,type,
c_2Ewords_2Eword__L:
!>[A_27a: $tType] : ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ).
thf(c_2Ewords_2Eword__T,type,
c_2Ewords_2Eword__T:
!>[A_27a: $tType] : ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ).
thf(c_2Ewords_2Eword__abs,type,
c_2Ewords_2Eword__abs:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__add,type,
c_2Ewords_2Eword__add:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__and,type,
c_2Ewords_2Eword__and:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__asr,type,
c_2Ewords_2Eword__asr:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > tyop_2Enum_2Enum > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__ge,type,
c_2Ewords_2Eword__ge:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__gt,type,
c_2Ewords_2Eword__gt:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__le,type,
c_2Ewords_2Eword__le:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__ls,type,
c_2Ewords_2Eword__ls:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__lt,type,
c_2Ewords_2Eword__lt:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__msb,type,
c_2Ewords_2Eword__msb:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__mul,type,
c_2Ewords_2Eword__mul:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__quot,type,
c_2Ewords_2Eword__quot:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__rem,type,
c_2Ewords_2Eword__rem:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Einteger__word_2Eword__sdiv,type,
c_2Einteger__word_2Eword__sdiv:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Einteger__word_2Eword__smod,type,
c_2Einteger__word_2Eword__smod:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__sub,type,
c_2Ewords_2Eword__sub:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ebool_2E_7E,type,
c_2Ebool_2E_7E: $o > $o ).
thf(logicdef_2E_2F_5C,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_2F_5C @ V0 @ V1 )
<=> ( V0
& V1 ) ) ).
thf(logicdef_2E_5C_2F,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_5C_2F @ V0 @ V1 )
<=> ( V0
| V1 ) ) ).
thf(logicdef_2E_7E,axiom,
! [V0: $o] :
( ( c_2Ebool_2E_7E @ V0 )
<=> ( (~) @ V0 ) ) ).
thf(logicdef_2E_3D_3D_3E,axiom,
! [V0: $o,V1: $o] :
( ( c_2Emin_2E_3D_3D_3E @ V0 @ V1 )
<=> ( V0
=> V1 ) ) ).
thf(logicdef_2E_3D,axiom,
! [A_27a: $tType,V0: A_27a,V1: A_27a] :
( ( c_2Emin_2E_3D @ A_27a @ V0 @ V1 )
<=> ( V0 = V1 ) ) ).
thf(quantdef_2E_21,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_21 @ A_27a @ V0f )
<=> ! [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(quantdef_2E_3F,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_3F @ A_27a @ V0f )
<=> ? [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(thm_2Einteger__word_2EtoString__def,axiom,
! [V0i: tyop_2Einteger_2Eint] :
( ( c_2Einteger__word_2EtoString @ V0i )
= ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) @ ( c_2Einteger_2Eint__lt @ V0i @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) @ ( c_2Elist_2EAPPEND @ tyop_2Estring_2Echar @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) @ ( c_2Elist_2ENIL @ tyop_2Estring_2Echar ) ) @ ( c_2EASCIInumbers_2Enum__to__dec__string @ ( c_2Einteger_2ENum @ ( c_2Einteger_2Eint__neg @ V0i ) ) ) ) @ ( c_2EASCIInumbers_2Enum__to__dec__string @ ( c_2Einteger_2ENum @ V0i ) ) ) ) ).
thf(thm_2Einteger__word_2EfromString__primitive__def,axiom,
( c_2Einteger__word_2EfromString
= ( c_2Erelation_2EWFREC @ ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) @ tyop_2Einteger_2Eint
@ ( c_2Emin_2E_40 @ ( ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > $o )
@ ^ [V0R: ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > $o] : ( c_2Erelation_2EWF @ ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) @ V0R ) )
@ ^ [V1fromString: ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > tyop_2Einteger_2Eint,V2a: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] :
( c_2Elist_2Elist__CASE @ tyop_2Estring_2Echar @ tyop_2Einteger_2Eint @ V2a @ ( c_2Ecombin_2EI @ tyop_2Einteger_2Eint @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ ( c_2Elist_2ENIL @ tyop_2Estring_2Echar ) ) ) )
@ ^ [V3v2: tyop_2Estring_2Echar,V4t: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] :
( c_2Ebool_2Eliteral__case @ tyop_2Estring_2Echar @ tyop_2Einteger_2Eint
@ ^ [V5v4: tyop_2Estring_2Echar] : ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Emin_2E_3D @ tyop_2Estring_2Echar @ V5v4 @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) @ ( c_2Ecombin_2EI @ tyop_2Einteger_2Eint @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ V4t ) ) ) ) @ ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Emin_2E_3D @ tyop_2Estring_2Echar @ V5v4 @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) @ ( c_2Ecombin_2EI @ tyop_2Einteger_2Eint @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ V4t ) ) ) ) @ ( c_2Ecombin_2EI @ tyop_2Einteger_2Eint @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ V5v4 @ V4t ) ) ) ) ) )
@ V3v2 ) ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__def,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ V0i )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Einteger_2Eint__lt @ V0i @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) @ ( c_2Ewords_2Eword__2comp @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Einteger_2ENum @ ( c_2Einteger_2Eint__neg @ V0i ) ) ) ) @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Einteger_2ENum @ V0i ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__def,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ V0w )
= ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Ewords_2Eword__msb @ A_27a @ V0w ) @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ ( c_2Ewords_2Eword__2comp @ A_27a @ V0w ) ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) ) ) ) ).
thf(thm_2Einteger__word_2EUINT__MAX__def,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) )
= ( c_2Einteger_2Eint__sub @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__MAX__def,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) )
= ( c_2Einteger_2Eint__sub @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__MIN__def,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) )
= ( c_2Einteger_2Eint__sub @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__i2w__def,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Einteger__word_2Esaturate__i2w @ A_27a @ V0i )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0i ) @ ( c_2Ewords_2Eword__T @ A_27a ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Einteger_2Eint__lt @ V0i @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Einteger_2ENum @ V0i ) ) ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__i2sw__def,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Einteger__word_2Esaturate__i2sw @ A_27a @ V0i )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0i ) @ ( c_2Ewords_2Eword__H @ A_27a ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Einteger_2Eint__le @ V0i @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Ewords_2Eword__L @ A_27a ) @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__sw2sw__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esaturate__sw2sw @ A_27a @ A_27b @ V0w )
= ( c_2Einteger__word_2Esaturate__i2sw @ A_27b @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__w2sw__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esaturate__w2sw @ A_27a @ A_27b @ V0w )
= ( c_2Einteger__word_2Esaturate__i2sw @ A_27b @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__sw2w__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esaturate__sw2w @ A_27a @ A_27b @ V0w )
= ( c_2Einteger__word_2Esaturate__i2w @ A_27b @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) ) ) ).
thf(thm_2Einteger__word_2Esigned__saturate__add__def,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esigned__saturate__add @ A_27a @ V0a @ V1b )
= ( c_2Einteger__word_2Esaturate__i2sw @ A_27a @ ( c_2Einteger_2Eint__add @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ) ).
thf(thm_2Einteger__word_2Esigned__saturate__sub__def,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esigned__saturate__sub @ A_27a @ V0a @ V1b )
= ( c_2Einteger__word_2Esaturate__i2sw @ A_27a @ ( c_2Einteger_2Eint__sub @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ) ).
thf(thm_2Einteger__word_2Eword__sdiv__def,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Eword__sdiv @ A_27a @ V0a @ V1b )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__div @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ) ).
thf(thm_2Einteger__word_2Eword__smod__def,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Eword__smod @ A_27a @ V0a @ V1b )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__mod @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ) ).
thf(thm_2Einteger__word_2EfromString__ind,axiom,
! [V0P: ( tyop_2Elist_2Elist @ tyop_2Estring_2Echar ) > $o] :
( ( ! [V1t: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] : ( V0P @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) @ V1t ) )
& ! [V2t: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] : ( V0P @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) @ V2t ) )
& ( V0P @ ( c_2Elist_2ENIL @ tyop_2Estring_2Echar ) )
& ! [V3v4: tyop_2Estring_2Echar,V4v1: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] : ( V0P @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ V3v4 @ V4v1 ) ) )
=> ! [V5v: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] : ( V0P @ V5v ) ) ).
thf(thm_2Einteger__word_2EfromString__def,axiom,
! [V0v4: tyop_2Estring_2Echar,V1v1: tyop_2Elist_2Elist @ tyop_2Estring_2Echar,V2t: tyop_2Elist_2Elist @ tyop_2Estring_2Echar] :
( ( ( c_2Einteger__word_2EfromString @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) @ V2t ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ V2t ) ) ) )
& ( ( c_2Einteger__word_2EfromString @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) @ V2t ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ V2t ) ) ) )
& ( ( c_2Einteger__word_2EfromString @ ( c_2Elist_2ENIL @ tyop_2Estring_2Echar ) )
= ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ ( c_2Elist_2ENIL @ tyop_2Estring_2Echar ) ) ) )
& ( ( c_2Einteger__word_2EfromString @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ V0v4 @ V1v1 ) )
= ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Emin_2E_3D @ tyop_2Estring_2Echar @ V0v4 @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ V1v1 ) ) ) @ ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Emin_2E_3D @ tyop_2Estring_2Echar @ V0v4 @ ( c_2Estring_2ECHR @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT2 @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ V1v1 ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2EASCIInumbers_2Enum__from__dec__string @ ( c_2Elist_2ECONS @ tyop_2Estring_2Echar @ V0v4 @ V1v1 ) ) ) ) ) ) ) ).
thf(thm_2Einteger__word_2EONE__LE__TWOEXP,axiom,
! [V0n: tyop_2Enum_2Enum] : ( c_2Earithmetic_2E_3C_3D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( c_2Earithmetic_2EEXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V0n ) ) ).
thf(thm_2Einteger__word_2Ew2i__w2n__pos,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1n: tyop_2Enum_2Enum] :
( ( ( (~) @ ( c_2Ewords_2Eword__msb @ A_27a @ V0w ) )
& ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) @ ( c_2Einteger_2Eint__of__num @ V1n ) ) )
=> ( c_2Eprim__rec_2E_3C @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) @ V1n ) ) ).
thf(thm_2Einteger__word_2Ew2i__n2w__pos,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ V0n ) )
= ( c_2Einteger_2Eint__of__num @ V0n ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__n2w__neg,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
( ( ( c_2Earithmetic_2E_3C_3D @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0n )
& ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ V0n ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2E_2D @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0n ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__w2i,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) )
= V0w ) ).
thf(thm_2Einteger__word_2Ew2i__i2w,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0i )
& ( c_2Einteger_2Eint__le @ V0i @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) )
= V0i ) ) ).
thf(thm_2Einteger__word_2Eword__msb__i2w,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Ewords_2Eword__msb @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) )
= ( c_2Einteger_2Eint__le @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Einteger_2Eint__mod @ V0i @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__11,axiom,
! [A_27a: $tType,V0v: tyop_2Efcp_2Ecart @ $o @ A_27a,V1w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( ( c_2Einteger__word_2Ew2i @ A_27a @ V0v )
= ( c_2Einteger__word_2Ew2i @ A_27a @ V1w ) )
<=> ( V0v = V1w ) ) ).
thf(thm_2Einteger__word_2Eint__word__nchotomy,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
? [V1i: tyop_2Einteger_2Eint] :
( V0w
= ( c_2Einteger__word_2Ei2w @ A_27a @ V1i ) ) ).
thf(thm_2Einteger__word_2Ew2i__le,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] : ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__ge,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] : ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) ) ).
thf(thm_2Einteger__word_2Eranged__int__word__nchotomy,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
? [V1i: tyop_2Einteger_2Eint] :
( ( V0w
= ( c_2Einteger__word_2Ei2w @ A_27a @ V1i ) )
& ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V1i )
& ( c_2Einteger_2Eint__le @ V1i @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ).
thf(thm_2Einteger__word_2Esw2sw__i2w,axiom,
! [A_27a: $tType,A_27b: $tType,V0j: tyop_2Einteger_2Eint] :
( ( ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) @ V0j )
& ( c_2Einteger_2Eint__le @ V0j @ ( c_2Einteger__word_2EINT__MAX @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) )
& ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Ewords_2Esw2sw @ A_27b @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27b @ V0j ) )
= ( c_2Einteger__word_2Ei2w @ A_27a @ V0j ) ) ) ).
thf(thm_2Einteger__word_2Ew2w__i2w,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) )
=> ( ( c_2Ewords_2Ew2w @ A_27b @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27b @ V0i ) )
= ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) ) ) ).
thf(thm_2Einteger__word_2EWORD__LTi,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__lt @ A_27a @ V0a @ V1b )
= ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ).
thf(thm_2Einteger__word_2EWORD__GTi,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__gt @ A_27a @ V0a @ V1b )
= ( c_2Einteger_2Eint__gt @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ).
thf(thm_2Einteger__word_2EWORD__LEi,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__le @ A_27a @ V0a @ V1b )
= ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ).
thf(thm_2Einteger__word_2EWORD__GEi,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__ge @ A_27a @ V0a @ V1b )
= ( c_2Einteger_2Eint__ge @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ).
thf(thm_2Einteger__word_2Eword__add__i2w__w2n,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__add @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0a ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V1b ) ) ) )
= ( c_2Ewords_2Eword__add @ A_27a @ V0a @ V1b ) ) ).
thf(thm_2Einteger__word_2Eword__add__i2w,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__add @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) )
= ( c_2Ewords_2Eword__add @ A_27a @ V0a @ V1b ) ) ).
thf(thm_2Einteger__word_2Eword__sub__i2w__w2n,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__sub @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0a ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V1b ) ) ) )
= ( c_2Ewords_2Eword__sub @ A_27a @ V0a @ V1b ) ) ).
thf(thm_2Einteger__word_2Eword__sub__i2w,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__sub @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) )
= ( c_2Ewords_2Eword__sub @ A_27a @ V0a @ V1b ) ) ).
thf(thm_2Einteger__word_2Eword__mul__i2w__w2n,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__mul @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0a ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V1b ) ) ) )
= ( c_2Ewords_2Eword__mul @ A_27a @ V0a @ V1b ) ) ).
thf(thm_2Einteger__word_2Eword__mul__i2w,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__mul @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) )
= ( c_2Ewords_2Eword__mul @ A_27a @ V0a @ V1b ) ) ).
thf(thm_2Einteger__word_2Eword__i2w__add,axiom,
! [A_27a: $tType,V0a: tyop_2Einteger_2Eint,V1b: tyop_2Einteger_2Eint] :
( ( c_2Ewords_2Eword__add @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ei2w @ A_27a @ V1b ) )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__add @ V0a @ V1b ) ) ) ).
thf(thm_2Einteger__word_2Eword__i2w__mul,axiom,
! [A_27a: $tType,V0a: tyop_2Einteger_2Eint,V1b: tyop_2Einteger_2Eint] :
( ( c_2Ewords_2Eword__mul @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ei2w @ A_27a @ V1b ) )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__mul @ V0a @ V1b ) ) ) ).
thf(thm_2Einteger__word_2EMULT__MINUS__ONE,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Ewords_2Eword__mul @ A_27a @ ( c_2Ewords_2Eword__2comp @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__neg @ V0i ) ) ) ).
thf(thm_2Einteger__word_2Eword__0__w2i,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) )
= ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) ).
thf(thm_2Einteger__word_2Ew2i__eq__0,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( ( c_2Einteger__word_2Ew2i @ A_27a @ V0w )
= ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) )
<=> ( V0w
= ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__DIV,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1i: tyop_2Einteger_2Eint] :
( ( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
& ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V1i )
& ( c_2Einteger_2Eint__le @ V1i @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__div @ V1i @ ( c_2Einteger_2Eint__exp @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) @ V0n ) ) )
= ( c_2Ewords_2Eword__asr @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V1i ) @ V0n ) ) ) ).
thf(thm_2Einteger__word_2EINT__MIN__MONOTONIC,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) )
=> ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__MAX__MONOTONIC,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) )
=> ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger__word_2EINT__MAX @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__sw2sw__bounds,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger__word_2Ew2i @ A_27b @ ( c_2Ewords_2Esw2sw @ A_27a @ A_27b @ V0w ) ) )
& ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2Ew2i @ A_27b @ ( c_2Ewords_2Esw2sw @ A_27a @ A_27b @ V0w ) ) @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__i2w__id,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Einteger_2Eint] :
( ( ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0i )
& ( c_2Einteger_2Eint__le @ V0i @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
& ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( V0i
= ( c_2Einteger__word_2Ew2i @ A_27b @ ( c_2Einteger__word_2Ei2w @ A_27b @ V0i ) ) )
<=> ( ( c_2Einteger__word_2Ei2w @ A_27a @ V0i )
= ( c_2Ewords_2Esw2sw @ A_27b @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27b @ V0i ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__11__lift,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27b] :
( ( ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Efcp_2Edimindex @ A_27c @ ( c_2Ebool_2Ethe__value @ A_27c ) ) )
& ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) @ ( c_2Efcp_2Edimindex @ A_27c @ ( c_2Ebool_2Ethe__value @ A_27c ) ) ) )
=> ( ( ( c_2Einteger__word_2Ew2i @ A_27a @ V0a )
= ( c_2Einteger__word_2Ew2i @ A_27b @ V1b ) )
<=> ( ( c_2Ewords_2Esw2sw @ A_27a @ A_27c @ V0a )
= ( c_2Ewords_2Esw2sw @ A_27b @ A_27c @ V1b ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__n2w__mod,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1m: tyop_2Enum_2Enum] :
( ( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
& ( c_2Earithmetic_2E_3C_3D @ V1m @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Einteger_2ENum @ ( c_2Einteger_2Eint__mod @ ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ V0n ) ) @ ( c_2Einteger_2Eint__exp @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) @ V1m ) ) )
= ( c_2Earithmetic_2EMOD @ V0n @ ( c_2Earithmetic_2EEXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V1m ) ) ) ) ).
thf(thm_2Einteger__word_2Eword__abs__w2i,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__abs @ A_27a @ V0w )
= ( c_2Ewords_2En2w @ A_27a @ ( c_2Einteger_2ENum @ ( c_2Einteger_2EABS @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) ) ) ) ) ).
thf(thm_2Einteger__word_2Eword__abs__i2w,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0i )
& ( c_2Einteger_2Eint__le @ V0i @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Ewords_2Eword__abs @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) )
= ( c_2Ewords_2En2w @ A_27a @ ( c_2Einteger_2ENum @ ( c_2Einteger_2EABS @ V0i ) ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__MIN,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__MAX,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) )
= ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ).
thf(thm_2Einteger__word_2EUINT__MAX,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) )
= ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__BOUND__ORDER,axiom,
! [A_27a: $tType] :
( ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
& ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
& ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__ZERO__LT__INT__MIN,axiom,
! [A_27a: $tType] : ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) ).
thf(thm_2Einteger__word_2EINT__ZERO__LT__INT__MAX,axiom,
! [A_27a: $tType] :
( ( c_2Eprim__rec_2E_3C @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
=> ( c_2Einteger_2Eint__lt @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ).
thf(thm_2Einteger__word_2EINT__ZERO__LE__INT__MAX,axiom,
! [A_27a: $tType] : ( c_2Einteger_2Eint__le @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ).
thf(thm_2Einteger__word_2EINT__ZERO__LT__UINT__MAX,axiom,
! [A_27a: $tType] : ( c_2Einteger_2Eint__lt @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) @ ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__1,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) )
= ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__INT__MINw,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__L @ A_27a ) )
= ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__UINT__MAXw,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__T @ A_27a ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__INT__MAXw,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__H @ A_27a ) )
= ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__minus__1,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__2comp @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__lt__0,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger_2Eint__lt @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) )
= ( c_2Ewords_2Eword__lt @ A_27a @ V0w @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__neg,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( V0w
= ( c_2Ewords_2Eword__L @ A_27a ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__2comp @ A_27a @ V0w ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0w ) ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__0,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) )
= ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ).
thf(thm_2Einteger__word_2Ei2w__minus__1,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) )
= ( c_2Ewords_2Eword__2comp @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__INT__MIN,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
= ( c_2Ewords_2Eword__L @ A_27a ) ) ).
thf(thm_2Einteger__word_2Ei2w__INT__MAX,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
= ( c_2Ewords_2Eword__H @ A_27a ) ) ).
thf(thm_2Einteger__word_2Ei2w__UINT__MAX,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger__word_2EUINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
= ( c_2Ewords_2Eword__T @ A_27a ) ) ).
thf(thm_2Einteger__word_2Eword__msb__i2w__lt__0,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( ( c_2Einteger_2Eint__le @ ( c_2Einteger__word_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V0i )
& ( c_2Einteger_2Eint__le @ V0i @ ( c_2Einteger__word_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
=> ( ( c_2Ewords_2Eword__msb @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0i ) )
= ( c_2Einteger_2Eint__lt @ V0i @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__pos,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__of__num @ V0n ) )
= ( c_2Ewords_2En2w @ A_27a @ V0n ) ) ).
thf(thm_2Einteger__word_2Eword__quot,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( V1b
= ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) )
=> ( ( c_2Ewords_2Eword__quot @ A_27a @ V0a @ V1b )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__quot @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ) ) ).
thf(thm_2Einteger__word_2Eword__rem,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( V1b
= ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) )
=> ( ( c_2Ewords_2Eword__rem @ A_27a @ V0a @ V1b )
= ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__rem @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0a ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1b ) ) ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__i2w__0,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Esaturate__i2w @ A_27a @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) )
= ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ).
thf(thm_2Einteger__word_2Esaturate__i2sw__0,axiom,
! [A_27a: $tType] :
( ( c_2Einteger__word_2Esaturate__i2sw @ A_27a @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) )
= ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ).
thf(thm_2Einteger__word_2Esaturate__w2sw,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esaturate__w2sw @ A_27a @ A_27b @ V0w )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27b ) @ ( c_2Ebool_2E_2F_5C @ ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Ewords_2Eword__ls @ A_27a @ ( c_2Ewords_2Ew2w @ A_27b @ A_27a @ ( c_2Ewords_2Eword__H @ A_27b ) ) @ V0w ) ) @ ( c_2Ewords_2Eword__H @ A_27b ) @ ( c_2Ewords_2Ew2w @ A_27a @ A_27b @ V0w ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__i2sw,axiom,
! [A_27a: $tType,V0i: tyop_2Einteger_2Eint] :
( ( c_2Einteger__word_2Esaturate__i2w @ A_27a @ V0i )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Einteger_2Eint__lt @ V0i @ ( c_2Einteger_2Eint__of__num @ c_2Enum_2E0 ) ) @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) @ ( c_2Ewords_2Esaturate__n2w @ A_27a @ ( c_2Einteger_2ENum @ V0i ) ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__sw2w,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esaturate__sw2w @ A_27a @ A_27b @ V0w )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27b ) @ ( c_2Ewords_2Eword__lt @ A_27a @ V0w @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) @ ( c_2Ewords_2En2w @ A_27b @ c_2Enum_2E0 ) @ ( c_2Ewords_2Esaturate__w2w @ A_27a @ A_27b @ V0w ) ) ) ).
thf(thm_2Einteger__word_2Esaturate__sw2sw,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esaturate__sw2sw @ A_27a @ A_27b @ V0w )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27b ) @ ( c_2Earithmetic_2E_3C_3D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Efcp_2Edimindex @ A_27b @ ( c_2Ebool_2Ethe__value @ A_27b ) ) ) @ ( c_2Ewords_2Esw2sw @ A_27a @ A_27b @ V0w ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27b ) @ ( c_2Ewords_2Eword__le @ A_27a @ ( c_2Ewords_2Esw2sw @ A_27b @ A_27a @ ( c_2Ewords_2Eword__H @ A_27b ) ) @ V0w ) @ ( c_2Ewords_2Eword__H @ A_27b ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27b ) @ ( c_2Ewords_2Eword__le @ A_27a @ V0w @ ( c_2Ewords_2Esw2sw @ A_27b @ A_27a @ ( c_2Ewords_2Eword__L @ A_27b ) ) ) @ ( c_2Ewords_2Eword__L @ A_27b ) @ ( c_2Ewords_2Ew2w @ A_27a @ A_27b @ V0w ) ) ) ) ) ).
thf(thm_2Einteger__word_2Esigned__saturate__sub,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esigned__saturate__sub @ A_27a @ V0a @ V1b )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ V1b @ ( c_2Ewords_2Eword__L @ A_27a ) ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__le @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) @ V0a ) @ ( c_2Ewords_2Eword__H @ A_27a ) @ ( c_2Ewords_2Eword__add @ A_27a @ V0a @ ( c_2Ewords_2Eword__L @ A_27a ) ) ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Ewords_2Eword__and @ A_27a @ V0a @ ( c_2Ewords_2Eword__1comp @ A_27a @ V1b ) ) @ ( c_2Einteger__word_2Esigned__saturate__add @ A_27a @ V0a @ ( c_2Ewords_2Eword__2comp @ A_27a @ V1b ) ) ) ) ) ).
thf(thm_2Einteger__word_2Esigned__saturate__add,axiom,
! [A_27a: $tType,V0a: tyop_2Efcp_2Ecart @ $o @ A_27a,V1b: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Esigned__saturate__add @ A_27a @ V0a @ V1b )
= ( c_2Ebool_2ELET @ $o @ ( tyop_2Efcp_2Ecart @ $o @ A_27a )
@ ( c_2Ebool_2ELET @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( $o > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) )
@ ^ [V2sum: tyop_2Efcp_2Ecart @ $o @ A_27a,V3msba: $o] : ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ $o @ V3msba @ ( c_2Ewords_2Eword__msb @ A_27a @ V1b ) ) @ ( c_2Ebool_2E_7E @ ( c_2Emin_2E_3D @ $o @ V3msba @ ( c_2Ewords_2Eword__msb @ A_27a @ V2sum ) ) ) ) @ ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ V3msba @ ( c_2Ewords_2Eword__L @ A_27a ) @ ( c_2Ewords_2Eword__H @ A_27a ) ) @ V2sum )
@ ( c_2Ewords_2Eword__add @ A_27a @ V0a @ V1b ) )
@ ( c_2Ewords_2Eword__msb @ A_27a @ V0a ) ) ) ).
thf(thm_2Einteger__word_2Edifferent__sign__then__no__overflow,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( ( c_2Ewords_2Eword__msb @ A_27a @ V0x )
= ( c_2Ewords_2Eword__msb @ A_27a @ V1y ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__add @ A_27a @ V0x @ V1y ) )
= ( c_2Einteger_2Eint__add @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0x ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1y ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__i2w__pos,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
( ( c_2Earithmetic_2E_3C_3D @ V0n @ ( c_2Ewords_2EINT__MAX @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__of__num @ V0n ) ) )
= ( c_2Einteger_2Eint__of__num @ V0n ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__i2w__neg,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
( ( c_2Earithmetic_2E_3C_3D @ V0n @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) )
=> ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ V0n ) ) ) )
= ( c_2Einteger_2Eint__neg @ ( c_2Einteger_2Eint__of__num @ V0n ) ) ) ) ).
thf(thm_2Einteger__word_2Eoverflow,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__add @ A_27a @ V0x @ V1y ) )
= ( c_2Einteger_2Eint__add @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0x ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1y ) ) ) )
<=> ( ( ( c_2Ewords_2Eword__msb @ A_27a @ V0x )
= ( c_2Ewords_2Eword__msb @ A_27a @ V1y ) )
& ( (~)
@ ( ( c_2Ewords_2Eword__msb @ A_27a @ V0x )
= ( c_2Ewords_2Eword__msb @ A_27a @ ( c_2Ewords_2Eword__add @ A_27a @ V0x @ V1y ) ) ) ) ) ) ).
thf(thm_2Einteger__word_2Esub__overflow,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__sub @ A_27a @ V0x @ V1y ) )
= ( c_2Einteger_2Eint__sub @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0x ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1y ) ) ) )
<=> ( ( (~)
@ ( ( c_2Ewords_2Eword__msb @ A_27a @ V0x )
= ( c_2Ewords_2Eword__msb @ A_27a @ V1y ) ) )
& ( (~)
@ ( ( c_2Ewords_2Eword__msb @ A_27a @ V0x )
= ( c_2Ewords_2Eword__msb @ A_27a @ ( c_2Ewords_2Eword__sub @ A_27a @ V0x @ V1y ) ) ) ) ) ) ).
thf(thm_2Einteger__word_2Eoverflow__add,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__add @ A_27a @ V0x @ V1y ) )
= ( c_2Einteger_2Eint__add @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0x ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1y ) ) ) )
<=> ( c_2Epair_2ESND @ $o @ $o @ ( c_2Epair_2ESND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( tyop_2Epair_2Eprod @ $o @ $o ) @ ( c_2Ewords_2Eadd__with__carry @ A_27a @ ( c_2Epair_2E_2C @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ $o ) @ V0x @ ( c_2Epair_2E_2C @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ $o @ V1y @ c_2Ebool_2EF ) ) ) ) ) ) ).
thf(thm_2Einteger__word_2Eoverflow__sub,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( (~)
@ ( ( c_2Einteger__word_2Ew2i @ A_27a @ ( c_2Ewords_2Eword__sub @ A_27a @ V0x @ V1y ) )
= ( c_2Einteger_2Eint__sub @ ( c_2Einteger__word_2Ew2i @ A_27a @ V0x ) @ ( c_2Einteger__word_2Ew2i @ A_27a @ V1y ) ) ) )
<=> ( c_2Epair_2ESND @ $o @ $o @ ( c_2Epair_2ESND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( tyop_2Epair_2Eprod @ $o @ $o ) @ ( c_2Ewords_2Eadd__with__carry @ A_27a @ ( c_2Epair_2E_2C @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ $o ) @ V0x @ ( c_2Epair_2E_2C @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ $o @ ( c_2Ewords_2Eword__1comp @ A_27a @ V1y ) @ c_2Ebool_2ET ) ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ei2w__w2n__w2w,axiom,
! [A_27a: $tType,A_27b: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27b @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) ) )
= ( c_2Ewords_2Ew2w @ A_27a @ A_27b @ V0w ) ) ).
thf(thm_2Einteger__word_2Ei2w__w2n,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ei2w @ A_27a @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) ) )
= V0w ) ).
thf(thm_2Einteger__word_2Ew2n__i2w,axiom,
! [A_27a: $tType,V0n: tyop_2Einteger_2Eint] :
( ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ ( c_2Einteger__word_2Ei2w @ A_27a @ V0n ) ) )
= ( c_2Einteger_2Eint__mod @ V0n @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ).
thf(thm_2Einteger__word_2Ew2i__eq__w2n,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Einteger__word_2Ew2i @ A_27a @ V0w )
= ( c_2Ebool_2ECOND @ tyop_2Einteger_2Eint @ ( c_2Eprim__rec_2E_3C @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) @ ( c_2Ewords_2EINT__MIN @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) ) @ ( c_2Einteger_2Eint__sub @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Ew2n @ A_27a @ V0w ) ) @ ( c_2Einteger_2Eint__of__num @ ( c_2Ewords_2Edimword @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ) ).
%------------------------------------------------------------------------------