ITP001 Axioms: ITP110+5.ax


%------------------------------------------------------------------------------
% File     : ITP110+5 : TPTP v8.2.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    :  121 (   5 unt;   0 def)
%            Number of atoms       :  431 (  95 equ)
%            Maximal formula atoms :   11 (   3 avg)
%            Number of connectives :  322 (  12   ~;   0   |;  28   &)
%                                         (  20 <=>; 262  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   6 avg)
%            Maximal term depth    :   15 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :  112 ( 112 usr;  42 con; 0-3 aty)
%            Number of variables   :  250 ( 248   !;   2   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Einteger__word_2EINT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2EINT__MAX(A_27a),arr(ty_2Ebool_2Eitself(A_27a),ty_2Einteger_2Eint)) ) ).

fof(mem_c_2Einteger__word_2EINT__MIN,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2EINT__MIN(A_27a),arr(ty_2Ebool_2Eitself(A_27a),ty_2Einteger_2Eint)) ) ).

fof(mem_c_2Einteger__word_2EUINT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2EUINT__MAX(A_27a),arr(ty_2Ebool_2Eitself(A_27a),ty_2Einteger_2Eint)) ) ).

fof(mem_c_2Einteger__word_2EfromString,axiom,
    mem(c_2Einteger__word_2EfromString,arr(ty_2Elist_2Elist(ty_2Estring_2Echar),ty_2Einteger_2Eint)) ).

fof(mem_c_2Einteger__word_2Ei2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2Ei2w(A_27a),arr(ty_2Einteger_2Eint,ty_2Efcp_2Ecart(bool,A_27a))) ) ).

fof(mem_c_2Einteger__word_2Esaturate__i2sw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2Esaturate__i2sw(A_27a),arr(ty_2Einteger_2Eint,ty_2Efcp_2Ecart(bool,A_27a))) ) ).

fof(mem_c_2Einteger__word_2Esaturate__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2Esaturate__i2w(A_27a),arr(ty_2Einteger_2Eint,ty_2Efcp_2Ecart(bool,A_27a))) ) ).

fof(mem_c_2Einteger__word_2Esaturate__sw2sw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2Einteger__word_2Esaturate__sw2sw(A_27a,A_27b),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27b))) ) ) ).

fof(mem_c_2Einteger__word_2Esaturate__sw2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2Einteger__word_2Esaturate__sw2w(A_27a,A_27b),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27b))) ) ) ).

fof(mem_c_2Einteger__word_2Esaturate__w2sw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2Einteger__word_2Esaturate__w2sw(A_27a,A_27b),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Efcp_2Ecart(bool,A_27b))) ) ) ).

fof(mem_c_2Einteger__word_2Esigned__saturate__add,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

fof(mem_c_2Einteger__word_2Esigned__saturate__sub,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

fof(mem_c_2Einteger__word_2EtoString,axiom,
    mem(c_2Einteger__word_2EtoString,arr(ty_2Einteger_2Eint,ty_2Elist_2Elist(ty_2Estring_2Echar))) ).

fof(mem_c_2Einteger__word_2Ew2i,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Einteger__word_2Ew2i(A_27a),arr(ty_2Efcp_2Ecart(bool,A_27a),ty_2Einteger_2Eint)) ) ).

fof(mem_c_2Einteger__word_2Eword__sdiv,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

fof(mem_c_2Einteger__word_2Eword__smod,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

fof(ax_thm_2Einteger__word_2EtoString__def,axiom,
    ! [V0i] :
      ( mem(V0i,ty_2Einteger_2Eint)
     => ap(c_2Einteger__word_2EtoString,V0i) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(ty_2Estring_2Echar)),ap(ap(c_2Einteger_2Eint__lt,V0i),ap(c_2Einteger_2Eint__of__num,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,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,V0i))))),ap(c_2EASCIInumbers_2Enum__to__dec__string,ap(c_2Einteger_2ENum,V0i))) ) ).

fof(lameq_f2668,axiom,
    ! [V4t] :
      ( mem(V4t,ty_2Elist_2Elist(ty_2Estring_2Echar))
     => ! [V5v4] : ap(f2668(V4t),V5v4) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(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,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,V4t))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(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,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,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),V5v4),V4t)))))) ) ).

fof(lameq_f2669,axiom,
    ! [V3v2] :
      ( mem(V3v2,ty_2Estring_2Echar)
     => ! [V4t] : ap(f2669(V3v2),V4t) = ap(ap(c_2Ebool_2Eliteral__case(ty_2Estring_2Echar,ty_2Einteger_2Eint),f2668(V4t)),V3v2) ) ).

fof(lameq_f2670,axiom,
    ! [V3v2] : ap(f2670,V3v2) = f2669(V3v2) ).

fof(lameq_f2671,axiom,
    ! [V2a] : ap(f2671,V2a) = ap(ap(ap(c_2Elist_2Elist__CASE(ty_2Estring_2Echar,ty_2Einteger_2Eint),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) ).

fof(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)) ).

fof(conj_thm_2Einteger__word_2EfromString__ind,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Elist_2Elist(ty_2Estring_2Echar),bool))
     => ( ( ! [V1t] :
              ( mem(V1t,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,c_2Earithmetic_2EZERO))))))))),V1t))) )
          & ! [V2t] :
              ( mem(V2t,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,c_2Earithmetic_2EZERO)))))))),V2t))) )
          & p(ap(V0P,c_2Elist_2ENIL(ty_2Estring_2Echar)))
          & ! [V3v4] :
              ( mem(V3v4,ty_2Estring_2Echar)
             => ! [V4v1] :
                  ( mem(V4v1,ty_2Elist_2Elist(ty_2Estring_2Echar))
                 => p(ap(V0P,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),V3v4),V4v1))) ) ) )
       => ! [V5v] :
            ( mem(V5v,ty_2Elist_2Elist(ty_2Estring_2Echar))
           => p(ap(V0P,V5v)) ) ) ) ).

fof(conj_thm_2Einteger__word_2EfromString__def,axiom,
    ! [V0t] :
      ( mem(V0t,ty_2Elist_2Elist(ty_2Estring_2Echar))
     => ! [V1v4] :
          ( mem(V1v4,ty_2Estring_2Echar)
         => ! [V2v1] :
              ( mem(V2v1,ty_2Elist_2Elist(ty_2Estring_2Echar))
             => ( 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,c_2Earithmetic_2EZERO))))))))),V0t)) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,V0t)))
                & 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,c_2Earithmetic_2EZERO)))))))),V0t)) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,V0t)))
                & ap(c_2Einteger__word_2EfromString,c_2Elist_2ENIL(ty_2Estring_2Echar)) = ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,c_2Elist_2ENIL(ty_2Estring_2Echar)))
                & ap(c_2Einteger__word_2EfromString,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),V1v4),V2v1)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(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,c_2Earithmetic_2EZERO)))))))))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,V2v1)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(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,c_2Earithmetic_2EZERO))))))))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,V2v1)))),ap(c_2Einteger_2Eint__of__num,ap(c_2EASCIInumbers_2Enum__from__dec__string,ap(ap(c_2Elist_2ECONS(ty_2Estring_2Echar),V1v4),V2v1))))) ) ) ) ) ).

fof(ax_thm_2Einteger__word_2Ei2w__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ap(c_2Einteger__word_2Ei2w(A_27a),V0i) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__lt,V0i),ap(c_2Einteger_2Eint__of__num,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,V0i))))),ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,V0i))) ) ) ).

fof(ax_thm_2Einteger__word_2Ew2i__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ap(c_2Einteger__word_2Ew2i(A_27a),V0w) = 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))) ) ) ).

fof(ax_thm_2Einteger__word_2EUINT__MAX__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)) = 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,c_2Earithmetic_2EZERO)))) ) ).

fof(ax_thm_2Einteger__word_2EINT__MAX__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)) = 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,c_2Earithmetic_2EZERO)))) ) ).

fof(ax_thm_2Einteger__word_2EINT__MIN__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)) = 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,c_2Earithmetic_2EZERO)))) ) ).

fof(ax_thm_2Einteger__word_2Esaturate__i2w__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ap(c_2Einteger__word_2Esaturate__i2w(A_27a),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))),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,V0i),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0)),ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,V0i)))) ) ) ).

fof(ax_thm_2Einteger__word_2Esaturate__i2sw__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ap(c_2Einteger__word_2Esaturate__i2sw(A_27a),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))),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,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),V0i))) ) ) ).

fof(ax_thm_2Einteger__word_2Esaturate__sw2sw__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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)) ) ) ) ).

fof(ax_thm_2Einteger__word_2Esaturate__w2sw__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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))) ) ) ) ).

fof(ax_thm_2Einteger__word_2Esaturate__sw2w__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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)) ) ) ) ).

fof(ax_thm_2Einteger__word_2Esigned__saturate__add__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ).

fof(ax_thm_2Einteger__word_2Esigned__saturate__sub__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ).

fof(ax_thm_2Einteger__word_2Eword__sdiv__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ).

fof(ax_thm_2Einteger__word_2Eword__smod__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ).

fof(conj_thm_2Einteger__word_2EONE__LE__TWOEXP,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0n))) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__w2n__pos,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1n] :
              ( mem(V1n,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,V1n))) )
               => p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Ewords_2Ew2n(A_27a),V0w)),V1n)) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__n2w__pos,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,V0n),ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))))
           => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),V0n)) = ap(c_2Einteger_2Eint__of__num,V0n) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__n2w__neg,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ( ( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),V0n))
              & p(ap(ap(c_2Eprim__rec_2E_3C,V0n),ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
           => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),V0n)) = 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))),V0n))) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__w2i,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) = V0w ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),V0i))
              & p(ap(ap(c_2Einteger_2Eint__le,V0i),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
           => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),V0i)) = V0i ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__msb__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ( p(ap(c_2Ewords_2Eword__msb(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),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,V0i),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))))) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__11,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0v] :
          ( mem(V0v,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1w] :
              ( mem(V1w,ty_2Efcp_2Ecart(bool,A_27a))
             => ( ap(c_2Einteger__word_2Ew2i(A_27a),V0v) = ap(c_2Einteger__word_2Ew2i(A_27a),V1w)
              <=> V0v = V1w ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eint__word__nchotomy,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ? [V1i] :
              ( mem(V1i,ty_2Einteger_2Eint)
              & V0w = ap(c_2Einteger__word_2Ei2w(A_27a),V1i) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__le,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( 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)))) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__ge,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( 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))) ) ) ).

fof(conj_thm_2Einteger__word_2Eranged__int__word__nchotomy,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ? [V1i] :
              ( mem(V1i,ty_2Einteger_2Eint)
              & V0w = ap(c_2Einteger__word_2Ei2w(A_27a),V1i)
              & p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),V1i))
              & p(ap(ap(c_2Einteger_2Eint__le,V1i),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ) ).

fof(conj_thm_2Einteger__word_2Esw2sw__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0j] :
              ( mem(V0j,ty_2Einteger_2Eint)
             => ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27b),c_2Ebool_2Ethe__value(A_27b))),V0j))
                  & p(ap(ap(c_2Einteger_2Eint__le,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),V0j)) = ap(c_2Einteger__word_2Ei2w(A_27a),V0j) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2w__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0i] :
              ( mem(V0i,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),V0i)) = ap(c_2Einteger__word_2Ei2w(A_27a),V0i) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2EWORD__LTi,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2EWORD__GTi,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2EWORD__LEi,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2EWORD__GEi,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__add__i2w__w2n,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__add__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__sub__i2w__w2n,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__sub__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__mul__i2w__w2n,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__mul__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__i2w__add,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Einteger_2Eint)
         => ! [V1b] :
              ( mem(V1b,ty_2Einteger_2Eint)
             => ap(ap(c_2Ewords_2Eword__add(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),V0a)),ap(c_2Einteger__word_2Ei2w(A_27a),V1b)) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__add,V0a),V1b)) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__i2w__mul,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Einteger_2Eint)
         => ! [V1b] :
              ( mem(V1b,ty_2Einteger_2Eint)
             => ap(ap(c_2Ewords_2Eword__mul(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),V0a)),ap(c_2Einteger__word_2Ei2w(A_27a),V1b)) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(ap(c_2Einteger_2Eint__mul,V0a),V1b)) ) ) ) ).

fof(conj_thm_2Einteger__word_2EMULT__MINUS__ONE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,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,c_2Earithmetic_2EZERO))))),ap(c_2Einteger__word_2Ei2w(A_27a),V0i)) = ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__neg,V0i)) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__0__w2i,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0)) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__eq__0,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ( ap(c_2Einteger__word_2Ew2i(A_27a),V0w) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
          <=> V0w = ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__DIV,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ! [V1i] :
              ( mem(V1i,ty_2Einteger_2Eint)
             => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,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))),V1i))
                  & p(ap(ap(c_2Einteger_2Eint__le,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,V1i),ap(ap(c_2Einteger_2Eint__exp,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V0n))) = ap(ap(c_2Ewords_2Eword__asr(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),V1i)),V0n) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2EINT__MIN__MONOTONIC,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(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_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)))) ) ) ) ).

fof(conj_thm_2Einteger__word_2EINT__MAX__MONOTONIC,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(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_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)))) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__sw2sw__bounds,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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)))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__i2w__id,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0i] :
              ( mem(V0i,ty_2Einteger_2Eint)
             => ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),V0i))
                  & p(ap(ap(c_2Einteger_2Eint__le,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 = ap(c_2Einteger__word_2Ew2i(A_27b),ap(c_2Einteger__word_2Ei2w(A_27b),V0i))
                <=> ap(c_2Einteger__word_2Ei2w(A_27a),V0i) = ap(c_2Ewords_2Esw2sw(A_27b,A_27a),ap(c_2Einteger__word_2Ei2w(A_27b),V0i)) ) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__11__lift,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0a] :
                  ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
                 => ! [V1b] :
                      ( 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)))) )
                       => ( ap(c_2Einteger__word_2Ew2i(A_27a),V0a) = 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) ) ) ) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__n2w__mod,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ! [V1m] :
              ( mem(V1m,ty_2Enum_2Enum)
             => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,V0n),ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a))))
                  & p(ap(ap(c_2Earithmetic_2E_3C_3D,V1m),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) )
               => ap(c_2Einteger_2ENum,ap(ap(c_2Einteger_2Eint__mod,ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),V0n))),ap(ap(c_2Einteger_2Eint__exp,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V1m))) = ap(ap(c_2Earithmetic_2EMOD,V0n),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V1m)) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__abs__w2i,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( 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)))) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__abs__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),V0i))
              & p(ap(ap(c_2Einteger_2Eint__le,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),V0i)) = ap(c_2Ewords_2En2w(A_27a),ap(c_2Einteger_2ENum,ap(c_2Einteger_2EABS,V0i))) ) ) ) ).

fof(conj_thm_2Einteger__word_2EINT__MIN,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).

fof(conj_thm_2Einteger__word_2EINT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)) = ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) ) ).

fof(conj_thm_2Einteger__word_2EUINT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)) = ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))) ) ).

fof(conj_thm_2Einteger__word_2EINT__BOUND__ORDER,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( 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))))) ) ) ).

fof(conj_thm_2Einteger__word_2EINT__ZERO__LT__INT__MIN,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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,c_2Enum_2E0))) ) ).

fof(conj_thm_2Einteger__word_2EINT__ZERO__LT__INT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,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,c_2Enum_2E0)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ).

fof(conj_thm_2Einteger__word_2EINT__ZERO__LE__INT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).

fof(conj_thm_2Einteger__word_2EINT__ZERO__LT__UINT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(c_2Einteger__word_2EUINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__1,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) = 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,c_2Earithmetic_2EZERO)))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__INT__MINw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Ew2i(A_27a),c_2Ewords_2Eword__L(A_27a)) = ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a)) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__UINT__MAXw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Ew2i(A_27a),c_2Ewords_2Eword__T(A_27a)) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__INT__MAXw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Ew2i(A_27a),c_2Ewords_2Eword__H(A_27a)) = ap(c_2Einteger__word_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a)) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__minus__1,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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,c_2Earithmetic_2EZERO))))) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__lt__0,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( 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,c_2Enum_2E0)))
          <=> p(ap(ap(c_2Ewords_2Eword__lt(A_27a),V0w),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0))) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__neg,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ( V0w != c_2Ewords_2Eword__L(A_27a)
           => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Ewords_2Eword__2comp(A_27a),V0w)) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger__word_2Ew2i(A_27a),V0w)) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__0,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)) = ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__minus__1,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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,c_2Earithmetic_2EZERO))))) = ap(c_2Ewords_2Eword__2comp(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__INT__MIN,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__INT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__UINT__MAX,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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) ) ).

fof(conj_thm_2Einteger__word_2Eword__msb__i2w__lt__0,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger__word_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))),V0i))
              & p(ap(ap(c_2Einteger_2Eint__le,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),V0i)))
            <=> p(ap(ap(c_2Einteger_2Eint__lt,V0i),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__pos,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,V0n)) = ap(c_2Ewords_2En2w(A_27a),V0n) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__quot,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
             => ( V1b != ap(c_2Ewords_2En2w(A_27a),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))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eword__rem,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
             => ( V1b != ap(c_2Ewords_2En2w(A_27a),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))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Esaturate__i2w__0,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Esaturate__i2w(A_27a),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)) = ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0) ) ).

fof(conj_thm_2Einteger__word_2Esaturate__i2sw__0,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Einteger__word_2Esaturate__i2sw(A_27a),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)) = ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0) ) ).

fof(conj_thm_2Einteger__word_2Esaturate__w2sw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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)) ) ) ) ).

fof(conj_thm_2Einteger__word_2Esaturate__i2sw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0i] :
          ( mem(V0i,ty_2Einteger_2Eint)
         => ap(c_2Einteger__word_2Esaturate__i2w(A_27a),V0i) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Einteger_2Eint__lt,V0i),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0)),ap(c_2Ewords_2Esaturate__n2w(A_27a),ap(c_2Einteger_2ENum,V0i))) ) ) ).

fof(conj_thm_2Einteger__word_2Esaturate__sw2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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),c_2Enum_2E0))),ap(c_2Ewords_2En2w(A_27b),c_2Enum_2E0)),ap(c_2Ewords_2Esaturate__w2w(A_27a,A_27b),V0w)) ) ) ) ).

fof(conj_thm_2Einteger__word_2Esaturate__sw2sw,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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)))) ) ) ) ).

fof(conj_thm_2Einteger__word_2Esigned__saturate__sub,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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),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,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)))) ) ) ) ).

fof(lameq_f2672,axiom,
    ! [A_27a,V1b] :
      ( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V2sum] :
          ( mem(V2sum,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V3msba] : ap(f2672(A_27a,V1b,V2sum),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),V3msba),ap(c_2Ewords_2Eword__msb(A_27a),V1b))),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),V3msba),ap(c_2Ewords_2Eword__msb(A_27a),V2sum))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),V3msba),c_2Ewords_2Eword__L(A_27a)),c_2Ewords_2Eword__H(A_27a))),V2sum) ) ) ).

fof(lameq_f2673,axiom,
    ! [A_27a,V1b] :
      ( mem(V1b,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V2sum] : ap(f2673(A_27a,V1b),V2sum) = f2672(A_27a,V1b,V2sum) ) ).

fof(conj_thm_2Einteger__word_2Esigned__saturate__add,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1b] :
              ( 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)) ) ) ) ).

fof(conj_thm_2Einteger__word_2Edifferent__sign__then__no__overflow,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( 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)) )
               => ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y)) = ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger__word_2Ew2i(A_27a),V0x)),ap(c_2Einteger__word_2Ew2i(A_27a),V1y)) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__i2w__pos,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V0n),ap(c_2Ewords_2EINT__MAX(A_27a),c_2Ebool_2Ethe__value(A_27a))))
           => ap(c_2Einteger__word_2Ew2i(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),ap(c_2Einteger_2Eint__of__num,V0n))) = ap(c_2Einteger_2Eint__of__num,V0n) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__i2w__neg,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V0n),ap(c_2Ewords_2EINT__MIN(A_27a),c_2Ebool_2Ethe__value(A_27a))))
           => 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,V0n)))) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V0n)) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eoverflow,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ( ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y)) != 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))) ) ) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Esub__overflow,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ( ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__sub(A_27a),V0x),V1y)) != 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))) ) ) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eoverflow__add,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ( ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y)) != 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),c_2Ebool_2EF)))))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Eoverflow__sub,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ( ap(c_2Einteger__word_2Ew2i(A_27a),ap(ap(c_2Ewords_2Eword__sub(A_27a),V0x),V1y)) != 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)),c_2Ebool_2ET)))))) ) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__w2n__w2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0w] :
              ( 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) ) ) ) ).

fof(conj_thm_2Einteger__word_2Ei2w__w2n,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( 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 ) ) ).

fof(conj_thm_2Einteger__word_2Ew2n__i2w,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Einteger_2Eint)
         => ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Ew2n(A_27a),ap(c_2Einteger__word_2Ei2w(A_27a),V0n))) = ap(ap(c_2Einteger_2Eint__mod,V0n),ap(c_2Einteger_2Eint__of__num,ap(c_2Ewords_2Edimword(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ).

fof(conj_thm_2Einteger__word_2Ew2i__eq__w2n,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ap(c_2Einteger__word_2Ew2i(A_27a),V0w) = 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))))) ) ) ).

%------------------------------------------------------------------------------