ITP001 Axioms: ITP110_5.ax
%------------------------------------------------------------------------------
% File : ITP110_5 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 set theory export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : integer_word_2.ax [Gau20]
% : HL4110_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 145 ( 55 unt; 23 typ; 0 def)
% Number of atoms : 2552 ( 96 equ)
% Maximal formula atoms : 7 ( 17 avg)
% Number of connectives : 155 ( 12 ~; 0 |; 26 &)
% ( 20 <=>; 97 =>; 0 <=; 0 <~>)
% Maximal formula depth : 10 ( 4 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 2287 (2287 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 25 ( 19 >; 6 *; 0 +; 0 <<)
% Number of predicates : 107 ( 106 usr; 44 prp; 0-2 aty)
% Number of functors : 23 ( 23 usr; 4 con; 0-3 aty)
% Number of variables : 251 ( 249 !; 2 ?; 251 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Einteger__word_2EINT__MAX,type,
c_2Einteger__word_2EINT__MAX: del > $i ).
tff(mem_c_2Einteger__word_2EINT__MAX,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2EINT__MAX(A_27a),arr(ty_2Ebool_2Eitself(A_27a),ty_2Einteger_2Eint)) ).
tff(tp_c_2Einteger__word_2EINT__MIN,type,
c_2Einteger__word_2EINT__MIN: del > $i ).
tff(mem_c_2Einteger__word_2EINT__MIN,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2EINT__MIN(A_27a),arr(ty_2Ebool_2Eitself(A_27a),ty_2Einteger_2Eint)) ).
tff(tp_c_2Einteger__word_2EUINT__MAX,type,
c_2Einteger__word_2EUINT__MAX: del > $i ).
tff(mem_c_2Einteger__word_2EUINT__MAX,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2EUINT__MAX(A_27a),arr(ty_2Ebool_2Eitself(A_27a),ty_2Einteger_2Eint)) ).
tff(tp_c_2Einteger__word_2EfromString,type,
c_2Einteger__word_2EfromString: $i ).
tff(mem_c_2Einteger__word_2EfromString,axiom,
mem(c_2Einteger__word_2EfromString,arr(ty_2Elist_2Elist(ty_2Estring_2Echar),ty_2Einteger_2Eint)) ).
tff(stp_fo_c_2Einteger__word_2EfromString,type,
fo__c_2Einteger__word_2EfromString: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Einteger__word_2EfromString,axiom,
! [X0: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : ( inj__ty_2Einteger_2Eint(fo__c_2Einteger__word_2EfromString(X0)) = ap(c_2Einteger__word_2EfromString,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(X0)) ) ).
tff(tp_c_2Einteger__word_2Ei2w,type,
c_2Einteger__word_2Ei2w: del > $i ).
tff(mem_c_2Einteger__word_2Ei2w,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Ei2w(A_27a),arr(ty_2Einteger_2Eint,ty_2Efcp_2Ecart(bool,A_27a))) ).
tff(tp_c_2Einteger__word_2Esaturate__i2sw,type,
c_2Einteger__word_2Esaturate__i2sw: del > $i ).
tff(mem_c_2Einteger__word_2Esaturate__i2sw,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Esaturate__i2sw(A_27a),arr(ty_2Einteger_2Eint,ty_2Efcp_2Ecart(bool,A_27a))) ).
tff(tp_c_2Einteger__word_2Esaturate__i2w,type,
c_2Einteger__word_2Esaturate__i2w: del > $i ).
tff(mem_c_2Einteger__word_2Esaturate__i2w,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Esaturate__i2w(A_27a),arr(ty_2Einteger_2Eint,ty_2Efcp_2Ecart(bool,A_27a))) ).
tff(tp_c_2Einteger__word_2Esaturate__sw2sw,type,
c_2Einteger__word_2Esaturate__sw2sw: ( del * del ) > $i ).
tff(mem_c_2Einteger__word_2Esaturate__sw2sw,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Einteger__word_2Esaturate__sw2sw(A_27a,A_27b),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27b))) ).
tff(tp_c_2Einteger__word_2Esaturate__sw2w,type,
c_2Einteger__word_2Esaturate__sw2w: ( del * del ) > $i ).
tff(mem_c_2Einteger__word_2Esaturate__sw2w,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Einteger__word_2Esaturate__sw2w(A_27a,A_27b),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27b))) ).
tff(tp_c_2Einteger__word_2Esaturate__w2sw,type,
c_2Einteger__word_2Esaturate__w2sw: ( del * del ) > $i ).
tff(mem_c_2Einteger__word_2Esaturate__w2sw,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Einteger__word_2Esaturate__w2sw(A_27a,A_27b),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27b))) ).
tff(tp_c_2Einteger__word_2Esigned__saturate__add,type,
c_2Einteger__word_2Esigned__saturate__add: del > $i ).
tff(mem_c_2Einteger__word_2Esigned__saturate__add,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Esigned__saturate__add(A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27a)))) ).
tff(tp_c_2Einteger__word_2Esigned__saturate__sub,type,
c_2Einteger__word_2Esigned__saturate__sub: del > $i ).
tff(mem_c_2Einteger__word_2Esigned__saturate__sub,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Esigned__saturate__sub(A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27a)))) ).
tff(tp_c_2Einteger__word_2EtoString,type,
c_2Einteger__word_2EtoString: $i ).
tff(mem_c_2Einteger__word_2EtoString,axiom,
mem(c_2Einteger__word_2EtoString,arr(ty_2Einteger_2Eint,ty_2Elist_2Elist(ty_2Estring_2Echar))) ).
tff(tp_c_2Einteger__word_2Ew2i,type,
c_2Einteger__word_2Ew2i: del > $i ).
tff(mem_c_2Einteger__word_2Ew2i,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Ew2i(A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Einteger_2Eint)) ).
tff(tp_c_2Einteger__word_2Eword__sdiv,type,
c_2Einteger__word_2Eword__sdiv: del > $i ).
tff(mem_c_2Einteger__word_2Eword__sdiv,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Eword__sdiv(A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27a)))) ).
tff(tp_c_2Einteger__word_2Eword__smod,type,
c_2Einteger__word_2Eword__smod: del > $i ).
tff(mem_c_2Einteger__word_2Eword__smod,axiom,
! [A_27a: del] : mem(c_2Einteger__word_2Eword__smod(A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27a)))) ).
tff(ax_thm_2Einteger__word_2EtoString__def,axiom,
! [V0i: tp__ty_2Einteger_2Eint] : ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(ap(c_2Einteger__word_2EtoString,inj__ty_2Einteger_2Eint(V0i))) = surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(ty_2Estring_2Echar)),ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(ap(c_2Elist_2EAPPEND(ty_2Estring_2Echar),ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))),c_2Elist_2ENIL(ty_2Estring_2Echar))),ap(c_2EASCIInumbers_2Enum__to__dec__string,ap(c_2Einteger_2ENum,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0i)))))),ap(c_2EASCIInumbers_2Enum__to__dec__string,ap(c_2Einteger_2ENum,inj__ty_2Einteger_2Eint(V0i))))) ) ).
tff(lamtp_f2668,type,
f2668: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar > $i ).
tff(lameq_f2668,axiom,
! [V4t: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar,V5v4: tp__ty_2Estring_2Echar] : ( ap(f2668(V4t),inj__ty_2Estring_2Echar(V5v4)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V5v4)),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))))))),ap(c_2Ecombin_2EI(ty_2Einteger_2Eint),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V4t)))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V5v4)),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))),ap(c_2Ecombin_2EI(ty_2Einteger_2Eint),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V4t)))))),ap(c_2Ecombin_2EI(ty_2Einteger_2Eint),ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V5v4)),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V4t))))))) ) ).
tff(lamtp_f2669,type,
f2669: tp__ty_2Estring_2Echar > $i ).
tff(lameq_f2669,axiom,
! [V3v2: tp__ty_2Estring_2Echar,V4t: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : ( ap(f2669(V3v2),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V4t)) = ap(ap(c_2Ebool_2Eliteral__case(ty_2Estring_2Echar,ty_2Einteger_2Eint),f2668(V4t)),inj__ty_2Estring_2Echar(V3v2)) ) ).
tff(lamtp_f2670,type,
f2670: $i ).
tff(lameq_f2670,axiom,
! [V3v2: tp__ty_2Estring_2Echar] : ( ap(f2670,inj__ty_2Estring_2Echar(V3v2)) = f2669(V3v2) ) ).
tff(lamtp_f2671,type,
f2671: $i ).
tff(lameq_f2671,axiom,
! [V2a: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : ( ap(f2671,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2a)) = ap(ap(ap(c_2Elist_2Elist__CASE(ty_2Estring_2Echar,ty_2Einteger_2Eint),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2a)),ap(c_2Ecombin_2EI(ty_2Einteger_2Eint),ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,c_2Elist_2ENIL(ty_2Estring_2Echar))))),f2670) ) ).
tff(ax_thm_2Einteger__word_2EfromString__primitive__def,axiom,
c_2Einteger__word_2EfromString = ap(ap(c_2Erelation_2EWFREC(ty_2Elist_2Elist(ty_2Estring_2Echar),ty_2Einteger_2Eint),ap(c_2Emin_2E_40(arr(ty_2Elist_2Elist(ty_2Estring_2Echar),arr(ty_2Elist_2Elist(ty_2Estring_2Echar),bool))),f1125)),k(arr(ty_2Elist_2Elist(ty_2Estring_2Echar),ty_2Einteger_2Eint),f2671)) ).
tff(conj_thm_2Einteger__word_2EfromString__ind,axiom,
! [V0P: $i] :
( mem(V0P,arr(ty_2Elist_2Elist(ty_2Estring_2Echar),bool))
=> ( ( ! [V1t: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : p(ap(V0P,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V1t))))
& ! [V2t: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : p(ap(V0P,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))))),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2t))))
& p(ap(V0P,c_2Elist_2ENIL(ty_2Estring_2Echar)))
& ! [V3v4: tp__ty_2Estring_2Echar,V4v1: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : p(ap(V0P,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V3v4)),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V4v1)))) )
=> ! [V5v: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] : p(ap(V0P,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V5v))) ) ) ).
tff(conj_thm_2Einteger__word_2EfromString__def,axiom,
! [V0t: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar,V1v4: tp__ty_2Estring_2Echar,V2v1: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EfromString,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V0t)))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V0t))))) )
& ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EfromString,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))))),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V0t)))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V0t))))) )
& ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EfromString,c_2Elist_2ENIL(ty_2Estring_2Echar))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,c_2Elist_2ENIL(ty_2Estring_2Echar)))) )
& ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EfromString,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V1v4)),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2v1)))) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V1v4)),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))))))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2v1))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V1v4)),ap(c_2Estring_2ECHR,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2v1))))),ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),inj__ty_2Estring_2Echar(V1v4)),inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar(V2v1))))))) ) ) ).
tff(ax_thm_2Einteger__word_2Ei2w__def,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] : ( ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ewords_2Eword__2comp(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0i)))))),ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,inj__ty_2Einteger_2Eint(V0i)))) ) ).
tff(ax_thm_2Einteger__word_2Ew2i__def,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(c_2Ewords_2Eword__msb(A_27a),V0w)),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),ap(c_2Ewords_2Eword__2comp(A_27a),V0w))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0w)))) ) ) ).
tff(ax_thm_2Einteger__word_2EUINT__MAX__def,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(ax_thm_2Einteger__word_2EINT__MAX__def,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(ax_thm_2Einteger__word_2EINT__MIN__def,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__neg,ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(ax_thm_2Einteger__word_2Esaturate__i2w__def,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] : ( ap(c_2Einteger__word_2Esaturate__i2w(A_27a),inj__ty_2Einteger_2Eint(V0i)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V0i))),c_2Ewords_2Eword__T(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,inj__ty_2Einteger_2Eint(V0i))))) ) ).
tff(ax_thm_2Einteger__word_2Esaturate__i2sw__def,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] : ( ap(c_2Einteger__word_2Esaturate__i2sw(A_27a),inj__ty_2Einteger_2Eint(V0i)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V0i))),c_2Ewords_2Eword__H(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)))),c_2Ewords_2Eword__L(A_27a)),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i)))) ) ).
tff(ax_thm_2Einteger__word_2Esaturate__sw2sw__def,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Esaturate__sw2sw(A_27a,A_27b),V0w) = ap(c_2Einteger__word_2Esaturate__i2sw(A_27b),ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) ) ) ).
tff(ax_thm_2Einteger__word_2Esaturate__w2sw__def,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Esaturate__w2sw(A_27a,A_27b),V0w) = ap(c_2Einteger__word_2Esaturate__i2sw(A_27b),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0w))) ) ) ).
tff(ax_thm_2Einteger__word_2Esaturate__sw2w__def,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Esaturate__sw2w(A_27a,A_27b),V0w) = ap(c_2Einteger__word_2Esaturate__i2w(A_27b),ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) ) ) ).
tff(ax_thm_2Einteger__word_2Esigned__saturate__add__def,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(ap(c_2Einteger__word_2Esigned__saturate__add(A_27a),V0a),V1b) = ap(c_2Einteger__word_2Esaturate__i2sw(A_27a),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(ax_thm_2Einteger__word_2Esigned__saturate__sub__def,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(ap(c_2Einteger__word_2Esigned__saturate__sub(A_27a),V0a),V1b) = ap(c_2Einteger__word_2Esaturate__i2sw(A_27a),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(ax_thm_2Einteger__word_2Eword__sdiv__def,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(ap(c_2Einteger__word_2Eword__sdiv(A_27a),V0a),V1b) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(ax_thm_2Einteger__word_2Eword__smod__def,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(ap(c_2Einteger__word_2Eword__smod(A_27a),V0a),V1b) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__mod,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(conj_thm_2Einteger__word_2EONE__LE__TWOEXP,axiom,
! [V0n: tp__ty_2Enum_2Enum] : p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0n)))) ).
tff(conj_thm_2Einteger__word_2Ew2i__w2n__pos,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1n: tp__ty_2Enum_2Enum] :
( ( ~ p(ap(c_2Ewords_2Eword__msb(A_27a),V0w))
& p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2Ew2i(A_27a),V0w)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n)))) )
=> p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Ewords_2Ew2n(A_27a),V0w)),inj__ty_2Enum_2Enum(V1n))) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__n2w__pos,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0n)),ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))))
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(V0n)))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__n2w__neg,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum] :
( ( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Enum_2Enum(V0n)))
& p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0n)),ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(V0n)))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Enum_2Enum(V0n))))) ) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__w2i,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) = V0w ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__i2w,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] :
( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V0i)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i)))) = V0i ) ) ).
tff(conj_thm_2Einteger__word_2Eword__msb__i2w,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] :
( p(ap(c_2Ewords_2Eword__msb(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i))))
<=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(ap(c_2Einteger_2Eint__mod,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__11,axiom,
! [A_27a: del,V0v: $i] :
( mem(V0v,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1w: $i] :
( mem(V1w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),V0v)) = surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),V1w)) )
<=> ( V0v = V1w ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eint__word__nchotomy,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ? [V1i: tp__ty_2Einteger_2Eint] : ( V0w = ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V1i)) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__le,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2Ew2i(A_27a),V0w)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__ge,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger__word_2Ew2i(A_27a),V0w))) ) ).
tff(conj_thm_2Einteger__word_2Eranged__int__word__nchotomy,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ? [V1i: tp__ty_2Einteger_2Eint] :
( ( V0w = ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V1i)) )
& p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V1i)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V1i)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ).
tff(conj_thm_2Einteger__word_2Esw2sw__i2w,axiom,
! [A_27a: del,A_27b: del,V0j: tp__ty_2Einteger_2Eint] :
( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27b),c_2Ebool_2Ethe__value(A_27b))),inj__ty_2Einteger_2Eint(V0j)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0j)),ap(c_2Einteger__word_2EINT__MAX(A_27b),c_2Ebool_2Ethe__value(A_27b))))
& p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( ap(c_2Ewords_2Esw2sw(A_27b,A_27a),ap(c_2Einteger__word_2Ei2w(A_27b),inj__ty_2Einteger_2Eint(V0j))) = ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0j)) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2w__i2w,axiom,
! [A_27a: del,A_27b: del,V0i: tp__ty_2Einteger_2Eint] :
( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))))
=> ( ap(c_2Ewords_2Ew2w(A_27b,A_27a),ap(c_2Einteger__word_2Ei2w(A_27b),inj__ty_2Einteger_2Eint(V0i))) = ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i)) ) ) ).
tff(conj_thm_2Einteger__word_2EWORD__LTi,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( p(ap(ap(c_2Ewords_2Eword__lt(A_27a),V0a),V1b))
<=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(conj_thm_2Einteger__word_2EWORD__GTi,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( p(ap(ap(c_2Ewords_2Eword__gt(A_27a),V0a),V1b))
<=> p(ap(ap(c_2Einteger_2Eint__gt,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(conj_thm_2Einteger__word_2EWORD__LEi,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( p(ap(ap(c_2Ewords_2Eword__le(A_27a),V0a),V1b))
<=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(conj_thm_2Einteger__word_2EWORD__GEi,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( p(ap(ap(c_2Ewords_2Eword__ge(A_27a),V0a),V1b))
<=> p(ap(ap(c_2Einteger_2Eint__ge,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__add__i2w__w2n,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0a))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V1b)))) = ap(ap(c_2Ewords_2Eword__add(A_27a),V0a),V1b) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__add__i2w,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) = ap(ap(c_2Ewords_2Eword__add(A_27a),V0a),V1b) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__sub__i2w__w2n,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0a))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V1b)))) = ap(ap(c_2Ewords_2Eword__sub(A_27a),V0a),V1b) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__sub__i2w,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) = ap(ap(c_2Ewords_2Eword__sub(A_27a),V0a),V1b) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__mul__i2w__w2n,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0a))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V1b)))) = ap(ap(c_2Ewords_2Eword__mul(A_27a),V0a),V1b) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__mul__i2w,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) = ap(ap(c_2Ewords_2Eword__mul(A_27a),V0a),V1b) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__i2w__add,axiom,
! [A_27a: del,V0a: tp__ty_2Einteger_2Eint,V1b: tp__ty_2Einteger_2Eint] : ( ap(ap(c_2Ewords_2Eword__add(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0a))),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V1b))) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0a)),inj__ty_2Einteger_2Eint(V1b))) ) ).
tff(conj_thm_2Einteger__word_2Eword__i2w__mul,axiom,
! [A_27a: del,V0a: tp__ty_2Einteger_2Eint,V1b: tp__ty_2Einteger_2Eint] : ( ap(ap(c_2Ewords_2Eword__mul(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0a))),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V1b))) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0a)),inj__ty_2Einteger_2Eint(V1b))) ) ).
tff(conj_thm_2Einteger__word_2EMULT__MINUS__ONE,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] : ( ap(ap(c_2Ewords_2Eword__mul(A_27a),ap(c_2Ewords_2Eword__2comp(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i))) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0i))) ) ).
tff(conj_thm_2Einteger__word_2Eword__0__w2i,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__eq__0,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
<=> ( V0w = ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)) ) ) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__DIV,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum,V1i: tp__ty_2Einteger_2Eint] :
( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0n)),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))
& p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V1i)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V1i)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__div,inj__ty_2Einteger_2Eint(V1i)),ap(ap(c_2Einteger_2Eint__exp,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V0n)))) = ap(ap(c_2Ewords_2Eword__asr(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V1i))),inj__ty_2Enum_2Enum(V0n)) ) ) ).
tff(conj_thm_2Einteger__word_2EINT__MIN__MONOTONIC,axiom,
! [A_27a: del,A_27b: del] :
( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))))
=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27b),c_2Ebool_2Ethe__value(A_27b))),ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).
tff(conj_thm_2Einteger__word_2EINT__MAX__MONOTONIC,axiom,
! [A_27a: del,A_27b: del] :
( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))))
=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger__word_2EINT__MAX(A_27b),c_2Ebool_2Ethe__value(A_27b)))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__sw2sw__bounds,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger__word_2Ew2i(A_27b),ap(c_2Ewords_2Esw2sw(A_27a,A_27b),V0w))))
& p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2Ew2i(A_27b),ap(c_2Ewords_2Esw2sw(A_27a,A_27b),V0w))),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__i2w__id,axiom,
! [A_27a: del,A_27b: del,V0i: tp__ty_2Einteger_2Eint] :
( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V0i)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))))
& p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( ( V0i = surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27b),ap(c_2Einteger__word_2Ei2w(A_27b),inj__ty_2Einteger_2Eint(V0i)))) )
<=> ( ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i)) = ap(c_2Ewords_2Esw2sw(A_27b,A_27a),ap(c_2Einteger__word_2Ei2w(A_27b),inj__ty_2Einteger_2Eint(V0i))) ) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__11__lift,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27b))
=> ( ( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Efcp_2Edimindex(A_27c),c_2Ebool_2Ethe__value(A_27c))))
& p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))),ap(c_2Efcp_2Edimindex(A_27c),c_2Ebool_2Ethe__value(A_27c)))) )
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),V0a)) = surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27b),V1b)) )
<=> ( ap(c_2Ewords_2Esw2sw(A_27a,A_27c),V0a) = ap(c_2Ewords_2Esw2sw(A_27b,A_27c),V1b) ) ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__n2w__mod,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum] :
( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0n)),ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a))))
& p(ap(ap(c_2Earithmetic_2E_3C_3D,inj__ty_2Enum_2Enum(V1m)),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( surj__ty_2Enum_2Enum(ap(c_2Einteger_2ENum,ap(ap(c_2Einteger_2Eint__mod,ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(V0n)))),ap(ap(c_2Einteger_2Eint__exp,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V1m))))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V1m)))) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__abs__w2i,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Ewords_2Eword__abs(A_27a),V0w) = ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,ap(c_2Einteger_2EABS,ap(c_2Einteger__word_2Ew2i(A_27a),V0w)))) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__abs__i2w,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] :
( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V0i)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( ap(c_2Ewords_2Eword__abs(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i))) = ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,ap(c_2Einteger_2EABS,inj__ty_2Einteger_2Eint(V0i)))) ) ) ).
tff(conj_thm_2Einteger__word_2EINT__MIN,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))))) ) ).
tff(conj_thm_2Einteger__word_2EINT__MAX,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).
tff(conj_thm_2Einteger__word_2EUINT__MAX,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).
tff(conj_thm_2Einteger__word_2EINT__BOUND__ORDER,axiom,
! [A_27a: del] :
( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))))
& p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))))
& p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a))))) ) ).
tff(conj_thm_2Einteger__word_2EINT__ZERO__LT__INT__MIN,axiom,
! [A_27a: del] : p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) ).
tff(conj_thm_2Einteger__word_2EINT__ZERO__LT__INT__MAX,axiom,
! [A_27a: del] :
( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))
=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).
tff(conj_thm_2Einteger__word_2EINT__ZERO__LE__INT__MAX,axiom,
! [A_27a: del] : p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ).
tff(conj_thm_2Einteger__word_2EINT__ZERO__LT__UINT__MAX,axiom,
! [A_27a: del] : p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ).
tff(conj_thm_2Einteger__word_2Ew2i__1,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__INT__MINw,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),c_2Ewords_2Eword__L(A_27a))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__UINT__MAXw,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),c_2Ewords_2Eword__T(A_27a))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__INT__MAXw,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),c_2Ewords_2Eword__H(A_27a))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__minus__1,axiom,
! [A_27a: del] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2Eword__2comp(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__lt__0,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger__word_2Ew2i(A_27a),V0w)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))))
<=> p(ap(ap(c_2Ewords_2Eword__lt(A_27a),V0w),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__neg,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( V0w != c_2Ewords_2Eword__L(A_27a) )
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2Eword__2comp(A_27a),V0w))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger__word_2Ew2i(A_27a),V0w))) ) ) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__0,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__minus__1,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) = ap(c_2Ewords_2Eword__2comp(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__INT__MIN,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))) = c_2Ewords_2Eword__L(A_27a) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__INT__MAX,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) = c_2Ewords_2Eword__H(A_27a) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__UINT__MAX,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) = c_2Ewords_2Eword__T(A_27a) ) ).
tff(conj_thm_2Einteger__word_2Eword__msb__i2w__lt__0,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] :
( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),inj__ty_2Einteger_2Eint(V0i)))
& p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
=> ( p(ap(c_2Ewords_2Eword__msb(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0i))))
<=> p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) ) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__pos,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum] : ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))) = ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(V0n)) ) ).
tff(conj_thm_2Einteger__word_2Eword__quot,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( V1b != ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)) )
=> ( ap(ap(c_2Ewords_2Eword__quot(A_27a),V0a),V1b) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__quot,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eword__rem,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( V1b != ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)) )
=> ( ap(ap(c_2Ewords_2Eword__rem(A_27a),V0a),V1b) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__rem,ap(c_2Einteger__word_2Ew2i(A_27a),V0a)),ap(c_2Einteger__word_2Ew2i(A_27a),V1b))) ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Esaturate__i2w__0,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Esaturate__i2w(A_27a),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)) ) ).
tff(conj_thm_2Einteger__word_2Esaturate__i2sw__0,axiom,
! [A_27a: del] : ( ap(c_2Einteger__word_2Esaturate__i2sw(A_27a),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)) ) ).
tff(conj_thm_2Einteger__word_2Esaturate__w2sw,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Esaturate__w2sw(A_27a,A_27b),V0w) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27b)),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b))),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(ap(c_2Ewords_2Eword__ls(A_27a),ap(c_2Ewords_2Ew2w(A_27b,A_27a),c_2Ewords_2Eword__H(A_27b))),V0w))),c_2Ewords_2Eword__H(A_27b)),ap(c_2Ewords_2Ew2w(A_27a,A_27b),V0w)) ) ) ).
tff(conj_thm_2Einteger__word_2Esaturate__i2sw,axiom,
! [A_27a: del,V0i: tp__ty_2Einteger_2Eint] : ( ap(c_2Einteger__word_2Esaturate__i2w(A_27a),inj__ty_2Einteger_2Eint(V0i)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Ewords_2Esaturate__n2w(A_27a),ap(c_2Einteger_2ENum,inj__ty_2Einteger_2Eint(V0i)))) ) ).
tff(conj_thm_2Einteger__word_2Esaturate__sw2w,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Esaturate__sw2w(A_27a,A_27b),V0w) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27b)),ap(ap(c_2Ewords_2Eword__lt(A_27a),V0w),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ewords_2En2w(A_27b),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Ewords_2Esaturate__w2w(A_27a,A_27b),V0w)) ) ) ).
tff(conj_thm_2Einteger__word_2Esaturate__sw2sw,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Esaturate__sw2sw(A_27a,A_27b),V0w) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27b)),ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Efcp_2Edimindex(A_27b),c_2Ebool_2Ethe__value(A_27b)))),ap(c_2Ewords_2Esw2sw(A_27a,A_27b),V0w)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27b)),ap(ap(c_2Ewords_2Eword__le(A_27a),ap(c_2Ewords_2Esw2sw(A_27b,A_27a),c_2Ewords_2Eword__H(A_27b))),V0w)),c_2Ewords_2Eword__H(A_27b)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27b)),ap(ap(c_2Ewords_2Eword__le(A_27a),V0w),ap(c_2Ewords_2Esw2sw(A_27b,A_27a),c_2Ewords_2Eword__L(A_27b)))),c_2Ewords_2Eword__L(A_27b)),ap(c_2Ewords_2Ew2w(A_27a,A_27b),V0w)))) ) ) ).
tff(conj_thm_2Einteger__word_2Esigned__saturate__sub,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(ap(c_2Einteger__word_2Esigned__saturate__sub(A_27a),V0a),V1b) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),V1b),c_2Ewords_2Eword__L(A_27a))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Ewords_2Eword__le(A_27a),ap(c_2Ewords_2En2w(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),V0a)),c_2Ewords_2Eword__H(A_27a)),ap(ap(c_2Ewords_2Eword__add(A_27a),V0a),c_2Ewords_2Eword__L(A_27a)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Ewords_2Eword__and(A_27a),V0a),ap(c_2Ewords_2Eword__1comp(A_27a),V1b))),ap(ap(c_2Einteger__word_2Esigned__saturate__add(A_27a),V0a),ap(c_2Ewords_2Eword__2comp(A_27a),V1b)))) ) ) ) ).
tff(lamtp_f2672,type,
f2672: ( del * $i * $i ) > $i ).
tff(lameq_f2672,axiom,
! [A_27a: del,V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V2sum: $i] :
( mem(V2sum,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V3msba: tp__o] : ( ap(f2672(A_27a,V1b,V2sum),inj__o(V3msba)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(bool),inj__o(V3msba)),ap(c_2Ewords_2Eword__msb(A_27a),V1b))),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),inj__o(V3msba)),ap(c_2Ewords_2Eword__msb(A_27a),V2sum))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),inj__o(V3msba)),c_2Ewords_2Eword__L(A_27a)),c_2Ewords_2Eword__H(A_27a))),V2sum) ) ) ) ).
tff(lamtp_f2673,type,
f2673: ( del * $i ) > $i ).
tff(lameq_f2673,axiom,
! [A_27a: del,V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V2sum: $i] : ( ap(f2673(A_27a,V1b),V2sum) = f2672(A_27a,V1b,V2sum) ) ) ).
tff(conj_thm_2Einteger__word_2Esigned__saturate__add,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(ap(c_2Einteger__word_2Esigned__saturate__add(A_27a),V0a),V1b) = ap(ap(c_2Ebool_2ELET(bool,ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Ebool_2ELET(ty_2Efcp_2Ecart(bool,A_27a),arr(bool,ty_2Efcp_2Ecart(bool,A_27a))),f2673(A_27a,V1b)),ap(ap(c_2Ewords_2Eword__add(A_27a),V0a),V1b))),ap(c_2Ewords_2Eword__msb(A_27a),V0a)) ) ) ) ).
tff(conj_thm_2Einteger__word_2Edifferent__sign__then__no__overflow,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1y: $i] :
( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ~ ( p(ap(c_2Ewords_2Eword__msb(A_27a),V0x))
<=> p(ap(c_2Ewords_2Eword__msb(A_27a),V1y)) )
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger__word_2Ew2i(A_27a),V0x)),ap(c_2Einteger__word_2Ew2i(A_27a),V1y))) ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__i2w__pos,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Earithmetic_2E_3C_3D,inj__ty_2Enum_2Enum(V0n)),ap(c_2Ewords_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))))
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))) ) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__i2w__neg,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Earithmetic_2E_3C_3D,inj__ty_2Enum_2Enum(V0n)),ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))))
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n)))))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n)))) ) ) ).
tff(conj_thm_2Einteger__word_2Eoverflow,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1y: $i] :
( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y))) != surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger__word_2Ew2i(A_27a),V0x)),ap(c_2Einteger__word_2Ew2i(A_27a),V1y))) )
<=> ( ( p(ap(c_2Ewords_2Eword__msb(A_27a),V0x))
<=> p(ap(c_2Ewords_2Eword__msb(A_27a),V1y)) )
& ~ ( p(ap(c_2Ewords_2Eword__msb(A_27a),V0x))
<=> p(ap(c_2Ewords_2Eword__msb(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y))) ) ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Esub__overflow,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1y: $i] :
( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__sub(A_27a),V0x),V1y))) != surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger__word_2Ew2i(A_27a),V0x)),ap(c_2Einteger__word_2Ew2i(A_27a),V1y))) )
<=> ( ~ ( p(ap(c_2Ewords_2Eword__msb(A_27a),V0x))
<=> p(ap(c_2Ewords_2Eword__msb(A_27a),V1y)) )
& ~ ( p(ap(c_2Ewords_2Eword__msb(A_27a),V0x))
<=> p(ap(c_2Ewords_2Eword__msb(A_27a),ap(ap(c_2Ewords_2Eword__sub(A_27a),V0x),V1y))) ) ) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eoverflow__add,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1y: $i] :
( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y))) != surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger__word_2Ew2i(A_27a),V0x)),ap(c_2Einteger__word_2Ew2i(A_27a),V1y))) )
<=> p(ap(c_2Epair_2ESND(bool,bool),ap(c_2Epair_2ESND(ty_2Efcp_2Ecart(bool,A_27a),ty_2Epair_2Eprod(bool,bool)),ap(c_2Ewords_2Eadd__with__carry(A_27a),ap(ap(c_2Epair_2E_2C(ty_2Efcp_2Ecart(bool,A_27a),ty_2Epair_2Eprod(ty_2Efcp_2Ecart(bool,A_27a),bool)),V0x),ap(ap(c_2Epair_2E_2C(ty_2Efcp_2Ecart(bool,A_27a),bool),V1y),inj__o(fo__c_2Ebool_2EF))))))) ) ) ) ).
tff(conj_thm_2Einteger__word_2Eoverflow__sub,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
=> ! [V1y: $i] :
( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__sub(A_27a),V0x),V1y))) != surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger__word_2Ew2i(A_27a),V0x)),ap(c_2Einteger__word_2Ew2i(A_27a),V1y))) )
<=> p(ap(c_2Epair_2ESND(bool,bool),ap(c_2Epair_2ESND(ty_2Efcp_2Ecart(bool,A_27a),ty_2Epair_2Eprod(bool,bool)),ap(c_2Ewords_2Eadd__with__carry(A_27a),ap(ap(c_2Epair_2E_2C(ty_2Efcp_2Ecart(bool,A_27a),ty_2Epair_2Eprod(ty_2Efcp_2Ecart(bool,A_27a),bool)),V0x),ap(ap(c_2Epair_2E_2C(ty_2Efcp_2Ecart(bool,A_27a),bool),ap(c_2Ewords_2Eword__1comp(A_27a),V1y)),inj__o(fo__c_2Ebool_2ET))))))) ) ) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__w2n__w2w,axiom,
! [A_27a: del,A_27b: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27b),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0w))) = ap(c_2Ewords_2Ew2w(A_27a,A_27b),V0w) ) ) ).
tff(conj_thm_2Einteger__word_2Ei2w__w2n,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0w))) = V0w ) ) ).
tff(conj_thm_2Einteger__word_2Ew2n__i2w,axiom,
! [A_27a: del,V0n: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),inj__ty_2Einteger_2Eint(V0n))))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__mod,inj__ty_2Einteger_2Eint(V0n)),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a))))) ) ).
tff(conj_thm_2Einteger__word_2Ew2i__eq__w2n,axiom,
! [A_27a: del,V0w: $i] :
( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Ewords_2Ew2n(A_27a),V0w)),ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0w))),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),V0w))),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))))) ) ) ).
%------------------------------------------------------------------------------