ITP001 Axioms: ITP100+5.ax


%------------------------------------------------------------------------------
% File     : ITP100+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    : int_arith+2.ax [Gau20]
%          : HL4100+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   71 (   1 unt;   0 def)
%            Number of atoms       :  431 (  59 equ)
%            Maximal formula atoms :   20 (   6 avg)
%            Number of connectives :  380 (  20   ~;   2   |;  73   &)
%                                         (  54 <=>; 231  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   28 (   9 avg)
%            Maximal term depth    :    9 (   2 avg)
%            Number of predicates  :    6 (   3 usr;   2 prp; 0-2 aty)
%            Number of functors    :   32 (  32 usr;  26 con; 0-2 aty)
%            Number of variables   :  211 ( 195   !;  16   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Eint__arith_2Ebmarker,axiom,
    mem(c_2Eint__arith_2Ebmarker,arr(bool,bool)) ).

fof(conj_thm_2Eint__arith_2Enot__less,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( ~ p(ap(ap(c_2Einteger_2Eint__lt,V0x),V1y))
          <=> p(ap(ap(c_2Einteger_2Eint__lt,V1y),ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eelim__eq,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( V0x = V1y
          <=> ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(ap(c_2Einteger_2Eint__add,V1y),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))
              & p(ap(ap(c_2Einteger_2Eint__lt,V1y),ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eless__to__leq__samel,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),V1y))
          <=> p(ap(ap(c_2Einteger_2Eint__le,V0x),ap(ap(c_2Einteger_2Eint__add,V1y),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_2Eint__arith_2Eless__to__leq__samer,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),V1y))
          <=> p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),V1y)) ) ) ) ).

fof(conj_thm_2Eint__arith_2Elt__move__all__right,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),V1y))
          <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V1y),ap(c_2Einteger_2Eint__neg,V0x)))) ) ) ) ).

fof(conj_thm_2Eint__arith_2Elt__move__all__left,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),V1y))
          <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,V1y))),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) ) ) ) ).

fof(conj_thm_2Eint__arith_2Elt__move__left__left,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(ap(c_2Einteger_2Eint__add,V1y),V2z)))
              <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,V1y))),V2z)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Elt__move__left__right,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,V0x),V1y)),V2z))
              <=> p(ap(ap(c_2Einteger_2Eint__lt,V1y),ap(ap(c_2Einteger_2Eint__add,V2z),ap(c_2Einteger_2Eint__neg,V0x)))) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__move__right__left,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__le,V0x),ap(ap(c_2Einteger_2Eint__add,V1y),V2z)))
              <=> p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,V2z))),V1y)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__move__all__right,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__le,V0x),V1y))
          <=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V1y),ap(c_2Einteger_2Eint__neg,V0x)))) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__move__all__right,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( V0x = V1y
          <=> ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = ap(ap(c_2Einteger_2Eint__add,V1y),ap(c_2Einteger_2Eint__neg,V0x)) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__move__all__left,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ( V0x = V1y
          <=> ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,V1y)) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__move__left__left,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ( V0x = ap(ap(c_2Einteger_2Eint__add,V1y),V2z)
              <=> ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,V1y)) = V2z ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__move__left__right,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ( ap(ap(c_2Einteger_2Eint__add,V0x),V1y) = V2z
              <=> V1y = ap(ap(c_2Einteger_2Eint__add,V2z),ap(c_2Einteger_2Eint__neg,V0x)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__move__right__left,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ( V0x = ap(ap(c_2Einteger_2Eint__add,V1y),V2z)
              <=> ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,V2z)) = V1y ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Elcm__eliminate,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1c] :
          ( mem(V1c,ty_2Einteger_2Eint)
         => ( ? [V2x] :
                ( mem(V2x,ty_2Einteger_2Eint)
                & p(ap(V0P,ap(ap(c_2Einteger_2Eint__mul,V1c),V2x))) )
          <=> ? [V3x] :
                ( mem(V3x,ty_2Einteger_2Eint)
                & p(ap(V0P,V3x))
                & p(ap(ap(c_2Einteger_2Eint__divides,V1c),V3x)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Elt__justify__multiplication,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0n))
               => ( p(ap(ap(c_2Einteger_2Eint__lt,V1x),V2y))
                <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__mul,V0n),V1x)),ap(ap(c_2Einteger_2Eint__mul,V0n),V2y))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__justify__multiplication,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0n))
               => ( V1x = V2y
                <=> ap(ap(c_2Einteger_2Eint__mul,V0n),V1x) = ap(ap(c_2Einteger_2Eint__mul,V0n),V2y) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ejustify__divides,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0n))
               => ( p(ap(ap(c_2Einteger_2Eint__divides,V1x),V2y))
                <=> p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,V0n),V1x)),ap(ap(c_2Einteger_2Eint__mul,V0n),V2y))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ejustify__divides2,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Einteger_2Eint)
     => ! [V1c] :
          ( mem(V1c,ty_2Einteger_2Eint)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ! [V3y] :
                  ( mem(V3y,ty_2Einteger_2Eint)
                 => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,V0n),V2x)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V0n),V3y)),V1c)))
                  <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,V0n),V2x)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V0n),V3y)),V1c)))
                      & p(ap(ap(c_2Einteger_2Eint__divides,V0n),V1c)) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ejustify__divides3,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2c] :
              ( mem(V2c,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__divides,V0n),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V0n),V1x)),V2c)))
              <=> p(ap(ap(c_2Einteger_2Eint__divides,V0n),V2c)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__SUB__SUB3,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2z] :
              ( mem(V2z,ty_2Einteger_2Eint)
             => ap(ap(c_2Einteger_2Eint__sub,V0x),ap(ap(c_2Einteger_2Eint__sub,V1y),V2z)) = ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__add,V0x),V2z)),V1y) ) ) ) ).

fof(conj_thm_2Eint__arith_2Emove__sub,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1b] :
          ( mem(V1b,ty_2Einteger_2Eint)
         => ! [V2a] :
              ( mem(V2a,ty_2Einteger_2Eint)
             => ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__sub,V2a),V0c)),V1b) = ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__add,V2a),V1b)),V0c) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ecan__get__small,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2d] :
              ( mem(V2d,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2d))
               => ? [V3c] :
                    ( mem(V3c,ty_2Einteger_2Eint)
                    & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V3c))
                    & p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__sub,V1y),ap(ap(c_2Einteger_2Eint__mul,V3c),V2d))),V0x)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ecan__get__big,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Einteger_2Eint)
         => ! [V2d] :
              ( mem(V2d,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2d))
               => ? [V3c] :
                    ( mem(V3c,ty_2Einteger_2Eint)
                    & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V3c))
                    & p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(ap(c_2Einteger_2Eint__add,V1y),ap(ap(c_2Einteger_2Eint__mul,V3c),V2d)))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Epositive__product__implication,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ( ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0c))
              & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V1d)) )
           => p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__mul,V0c),V1d))) ) ) ) ).

fof(conj_thm_2Eint__arith_2Erestricted__quantification__simp,axiom,
    ! [V0low] :
      ( mem(V0low,ty_2Einteger_2Eint)
     => ! [V1high] :
          ( mem(V1high,ty_2Einteger_2Eint)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ( ( p(ap(ap(c_2Einteger_2Eint__lt,V0low),V2x))
                  & p(ap(ap(c_2Einteger_2Eint__le,V2x),V1high)) )
              <=> ( p(ap(ap(c_2Einteger_2Eint__lt,V0low),V1high))
                  & ( V2x = V1high
                    | ( p(ap(ap(c_2Einteger_2Eint__lt,V0low),V2x))
                      & p(ap(ap(c_2Einteger_2Eint__le,V2x),ap(ap(c_2Einteger_2Eint__sub,V1high),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Etop__and__lessers,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ! [V2x0] :
              ( mem(V2x0,ty_2Einteger_2Eint)
             => ( ( ! [V3x] :
                      ( mem(V3x,ty_2Einteger_2Eint)
                     => ( p(ap(V0P,V3x))
                       => p(ap(V0P,ap(ap(c_2Einteger_2Eint__sub,V3x),V1d))) ) )
                  & p(ap(V0P,V2x0)) )
               => ! [V4c] :
                    ( mem(V4c,ty_2Einteger_2Eint)
                   => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V4c))
                     => p(ap(V0P,ap(ap(c_2Einteger_2Eint__sub,V2x0),ap(ap(c_2Einteger_2Eint__mul,V4c),V1d)))) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ebot__and__greaters,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ! [V2x0] :
              ( mem(V2x0,ty_2Einteger_2Eint)
             => ( ( ! [V3x] :
                      ( mem(V3x,ty_2Einteger_2Eint)
                     => ( p(ap(V0P,V3x))
                       => p(ap(V0P,ap(ap(c_2Einteger_2Eint__add,V3x),V1d))) ) )
                  & p(ap(V0P,V2x0)) )
               => ! [V4c] :
                    ( mem(V4c,ty_2Einteger_2Eint)
                   => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V4c))
                     => p(ap(V0P,ap(ap(c_2Einteger_2Eint__add,V2x0),ap(ap(c_2Einteger_2Eint__mul,V4c),V1d)))) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ein__additive__range,axiom,
    ! [V0low] :
      ( mem(V0low,ty_2Einteger_2Eint)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ( ( p(ap(ap(c_2Einteger_2Eint__lt,V0low),V2x))
                  & p(ap(ap(c_2Einteger_2Eint__le,V2x),ap(ap(c_2Einteger_2Eint__add,V0low),V1d))) )
              <=> ? [V3j] :
                    ( mem(V3j,ty_2Einteger_2Eint)
                    & V2x = ap(ap(c_2Einteger_2Eint__add,V0low),V3j)
                    & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V3j))
                    & p(ap(ap(c_2Einteger_2Eint__le,V3j),V1d)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ein__subtractive__range,axiom,
    ! [V0high] :
      ( mem(V0high,ty_2Einteger_2Eint)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__sub,V0high),V1d)),V2x))
                  & p(ap(ap(c_2Einteger_2Eint__lt,V2x),V0high)) )
              <=> ? [V3j] :
                    ( mem(V3j,ty_2Einteger_2Eint)
                    & V2x = ap(ap(c_2Einteger_2Eint__sub,V0high),V3j)
                    & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V3j))
                    & p(ap(ap(c_2Einteger_2Eint__le,V3j),V1d)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Esubtract__to__small,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V1d))
           => ? [V2k] :
                ( mem(V2k,ty_2Einteger_2Eint)
                & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__sub,V0x),ap(ap(c_2Einteger_2Eint__mul,V2k),V1d))))
                & p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__sub,V0x),ap(ap(c_2Einteger_2Eint__mul,V2k),V1d))),V1d)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eadd__to__great,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V1d))
           => ? [V2k] :
                ( mem(V2k,ty_2Einteger_2Eint)
                & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0x),ap(ap(c_2Einteger_2Eint__mul,V2k),V1d))))
                & p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__add,V0x),ap(ap(c_2Einteger_2Eint__mul,V2k),V1d))),V1d)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__LT__ADD__NUMERAL,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1y))))))
            & p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1y))))))
            & ~ p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(ap(c_2Einteger_2Eint__add,V0x),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,V1y)))))) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__FORALL,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ( ! [V1n] :
            ( mem(V1n,ty_2Enum_2Enum)
           => p(ap(V0P,ap(c_2Einteger_2Eint__of__num,V1n))) )
      <=> ! [V2x] :
            ( mem(V2x,ty_2Einteger_2Eint)
           => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2x))
             => p(ap(V0P,V2x)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__EXISTS,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ( ? [V1n] :
            ( mem(V1n,ty_2Enum_2Enum)
            & p(ap(V0P,ap(c_2Einteger_2Eint__of__num,V1n))) )
      <=> ? [V2x] :
            ( mem(V2x,ty_2Einteger_2Eint)
            & p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2x))
            & p(ap(V0P,V2x)) ) ) ) ).

fof(lameq_f2511,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1n] : ap(f2511(V0P),V1n) = ap(V0P,ap(c_2Einteger_2Eint__of__num,V1n)) ) ).

fof(lameq_f2512,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V2x] : ap(f2512(V0P),V2x) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2x)),ap(V0P,V2x)) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__UEXISTS,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ( p(ap(c_2Ebool_2E_3F_21(ty_2Enum_2Enum),f2511(V0P)))
      <=> p(ap(c_2Ebool_2E_3F_21(ty_2Einteger_2Eint),f2512(V0P))) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__SUB,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Earithmetic_2E_2D,V0n),V1m)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,V1m))),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,V1m))) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__COND,axiom,
    ! [V0b] :
      ( mem(V0b,bool)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ! [V2m] :
              ( mem(V2m,ty_2Enum_2Enum)
             => ap(c_2Einteger_2Eint__of__num,ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),V0b),V1n),V2m)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),V0b),ap(c_2Einteger_2Eint__of__num,V1n)),ap(c_2Einteger_2Eint__of__num,V2m)) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__ODD,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( p(ap(c_2Earithmetic_2EODD,V0n))
      <=> ~ p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Einteger_2Eint__of__num,V0n))) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__EVEN,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( p(ap(c_2Earithmetic_2EEVEN,V0n))
      <=> p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Einteger_2Eint__of__num,V0n))) ) ) ).

fof(conj_thm_2Eint__arith_2EHO__SUB__ELIM,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1a] :
          ( mem(V1a,ty_2Enum_2Enum)
         => ! [V2b] :
              ( mem(V2b,ty_2Enum_2Enum)
             => ( p(ap(V0P,ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Earithmetic_2E_2D,V1a),V2b))))
              <=> ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,V2b)),ap(c_2Einteger_2Eint__of__num,V1a)))
                    & p(ap(V0P,ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__of__num,V1a)),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V2b))))) )
                  | ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,V1a)),ap(c_2Einteger_2Eint__of__num,V2b)))
                    & p(ap(V0P,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2ECONJ__EQ__ELIM,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0P] :
          ( mem(V0P,arr(A_27a,bool))
         => ! [V1v] :
              ( mem(V1v,A_27a)
             => ! [V2e] :
                  ( mem(V2e,A_27a)
                 => ( ( V1v = V2e
                      & p(ap(V0P,V1v)) )
                  <=> ( V1v = V2e
                      & p(ap(V0P,V2e)) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eelim__neg__ones,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__add,V0x),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)))) = V0x ) ).

fof(conj_thm_2Eint__arith_2Eelim__minus__ones,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Einteger_2Eint)
     => ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__add,V0x),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)))) = V0x ) ).

fof(conj_thm_2Eint__arith_2EINT__NUM__DIVIDES,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,V1m)))
          <=> p(ap(ap(c_2Edivides_2Edivides,V0n),V1m)) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__LINEAR__GCD,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ? [V2p] :
              ( mem(V2p,ty_2Einteger_2Eint)
              & ? [V3q] :
                  ( mem(V3q,ty_2Einteger_2Eint)
                  & ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V2p),ap(c_2Einteger_2Eint__of__num,V0n))),ap(ap(c_2Einteger_2Eint__mul,V3q),ap(c_2Einteger_2Eint__of__num,V1m))) = ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Egcd_2Egcd,V0n),V1m)) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__DIVIDES__LRMUL,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Einteger_2Eint)
     => ! [V1q] :
          ( mem(V1q,ty_2Einteger_2Eint)
         => ! [V2r] :
              ( mem(V2r,ty_2Einteger_2Eint)
             => ( V1q != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
               => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,V0p),V1q)),ap(ap(c_2Einteger_2Eint__mul,V2r),V1q)))
                <=> p(ap(ap(c_2Einteger_2Eint__divides,V0p),V2r)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2EINT__DIVIDES__RELPRIME__MUL,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ! [V1q] :
          ( mem(V1q,ty_2Enum_2Enum)
         => ! [V2r] :
              ( mem(V2r,ty_2Einteger_2Eint)
             => ( ap(ap(c_2Egcd_2Egcd,V0p),V1q) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
               => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0p)),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V1q)),V2r)))
                <=> p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0p)),V2r)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Egcdthm2,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1a] :
          ( mem(V1a,ty_2Enum_2Enum)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ! [V3b] :
                  ( mem(V3b,ty_2Einteger_2Eint)
                 => ! [V4d] :
                      ( mem(V4d,ty_2Enum_2Enum)
                     => ! [V5p] :
                          ( mem(V5p,ty_2Einteger_2Eint)
                         => ! [V6q] :
                              ( mem(V6q,ty_2Einteger_2Eint)
                             => ( ( V4d = ap(ap(c_2Egcd_2Egcd,V1a),V0m)
                                  & ap(c_2Einteger_2Eint__of__num,V4d) = ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V5p),ap(c_2Einteger_2Eint__of__num,V1a))),ap(ap(c_2Einteger_2Eint__mul,V6q),ap(c_2Einteger_2Eint__of__num,V0m)))
                                  & V4d != c_2Enum_2E0
                                  & V0m != c_2Enum_2E0
                                  & V1a != c_2Enum_2E0 )
                               => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0m)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V1a)),V2x)),V3b)))
                                <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V4d)),V3b))
                                    & ? [V7t] :
                                        ( mem(V7t,ty_2Einteger_2Eint)
                                        & V2x = ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__neg,V5p)),ap(ap(c_2Einteger_2Eint__div,V3b),ap(c_2Einteger_2Eint__of__num,V4d)))),ap(ap(c_2Einteger_2Eint__mul,V7t),ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V0m)),ap(c_2Einteger_2Eint__of__num,V4d)))) ) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Egcd1thm,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ! [V2p] :
              ( mem(V2p,ty_2Einteger_2Eint)
             => ! [V3q] :
                  ( mem(V3q,ty_2Einteger_2Eint)
                 => ( ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V2p),ap(c_2Einteger_2Eint__of__num,V0m))),ap(ap(c_2Einteger_2Eint__mul,V3q),ap(c_2Einteger_2Eint__of__num,V1n))) = ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
                   => ap(ap(c_2Egcd_2Egcd,V0m),V1n) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Egcd21__thm,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1a] :
          ( mem(V1a,ty_2Enum_2Enum)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ! [V3b] :
                  ( mem(V3b,ty_2Einteger_2Eint)
                 => ! [V4p] :
                      ( mem(V4p,ty_2Einteger_2Eint)
                     => ! [V5q] :
                          ( mem(V5q,ty_2Einteger_2Eint)
                         => ( ( ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V4p),ap(c_2Einteger_2Eint__of__num,V1a))),ap(ap(c_2Einteger_2Eint__mul,V5q),ap(c_2Einteger_2Eint__of__num,V0m))) = ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
                              & V0m != c_2Enum_2E0
                              & V1a != c_2Enum_2E0 )
                           => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0m)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V1a)),V2x)),V3b)))
                            <=> ? [V6t] :
                                  ( mem(V6t,ty_2Einteger_2Eint)
                                  & V2x = ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__neg,V4p)),V3b)),ap(ap(c_2Einteger_2Eint__mul,V6t),ap(c_2Einteger_2Eint__of__num,V0m))) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eelim__lt__coeffs1,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ( V1m != c_2Enum_2E0
               => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,V0n)),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V1m)),V2x)))
                <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,V1m))),V2x)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eelim__lt__coeffs2,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ( V1m != c_2Enum_2E0
               => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V1m)),V2x)),ap(c_2Einteger_2Eint__of__num,V0n)))
                <=> p(ap(ap(c_2Einteger_2Eint__lt,V2x),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V1m)),ap(c_2Einteger_2Eint__of__num,V0n))),ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,V1m))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,V1m))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eelim__le__coeffs,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Einteger_2Eint)
     => ! [V1n] :
          ( mem(V1n,ty_2Einteger_2Eint)
         => ! [V2x] :
              ( mem(V2x,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0m))
               => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,V0m),V2x)),V1n)))
                <=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V2x),ap(ap(c_2Einteger_2Eint__div,V1n),V0m)))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eelim__eq__coeffs,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( V0m != c_2Enum_2E0
               => ( ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V0m)),V1x) = V2y
                <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0m)),V2y))
                    & V1x = ap(ap(c_2Einteger_2Eint__div,V2y),ap(c_2Einteger_2Eint__of__num,V0m)) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ecooper__lemma__1,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ! [V2a] :
              ( mem(V2a,ty_2Enum_2Enum)
             => ! [V3b] :
                  ( mem(V3b,ty_2Einteger_2Eint)
                 => ! [V4u] :
                      ( mem(V4u,ty_2Enum_2Enum)
                     => ! [V5v] :
                          ( mem(V5v,ty_2Einteger_2Eint)
                         => ! [V6p] :
                              ( mem(V6p,ty_2Einteger_2Eint)
                             => ! [V7q] :
                                  ( mem(V7q,ty_2Einteger_2Eint)
                                 => ! [V8x] :
                                      ( mem(V8x,ty_2Einteger_2Eint)
                                     => ! [V9d] :
                                          ( mem(V9d,ty_2Enum_2Enum)
                                         => ( ( V9d = ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2A,V4u),V0m)),ap(ap(c_2Earithmetic_2E_2A,V2a),V1n))
                                              & ap(c_2Einteger_2Eint__of__num,V9d) = ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,V6p),ap(c_2Einteger_2Eint__of__num,V4u))),ap(c_2Einteger_2Eint__of__num,V0m))),ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,V7q),ap(c_2Einteger_2Eint__of__num,V2a))),ap(c_2Einteger_2Eint__of__num,V1n)))
                                              & V0m != c_2Enum_2E0
                                              & V1n != c_2Enum_2E0
                                              & V2a != c_2Enum_2E0
                                              & V4u != c_2Enum_2E0 )
                                           => ( ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0m)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V2a)),V8x)),V3b)))
                                                & p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V1n)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V4u)),V8x)),V5v))) )
                                            <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V0m)),ap(c_2Einteger_2Eint__of__num,V1n))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V9d)),V8x)),ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,V5v),ap(c_2Einteger_2Eint__of__num,V0m))),V6p))),ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,V3b),ap(c_2Einteger_2Eint__of__num,V1n))),V7q))))
                                                & p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V9d)),ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V2a)),V5v)),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,V4u)),V3b)))) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

fof(ax_thm_2Eint__arith_2Ebmarker__def,axiom,
    ! [V0b] :
      ( mem(V0b,bool)
     => ( p(ap(c_2Eint__arith_2Ebmarker,V0b))
      <=> p(V0b) ) ) ).

fof(conj_thm_2Eint__arith_2Ebmarker__rewrites,axiom,
    ! [V0p] :
      ( mem(V0p,bool)
     => ! [V1q] :
          ( mem(V1q,bool)
         => ! [V2r] :
              ( mem(V2r,bool)
             => ( ( ( p(V1q)
                    & p(ap(c_2Eint__arith_2Ebmarker,V0p)) )
                <=> ( p(ap(c_2Eint__arith_2Ebmarker,V0p))
                    & p(V1q) ) )
                & ( ( p(V1q)
                    & p(ap(c_2Eint__arith_2Ebmarker,V0p))
                    & p(V2r) )
                <=> ( p(ap(c_2Eint__arith_2Ebmarker,V0p))
                    & p(V1q)
                    & p(V2r) ) )
                & ( ( p(ap(c_2Eint__arith_2Ebmarker,V0p))
                    & p(V1q)
                    & p(V2r) )
                <=> ( p(ap(c_2Eint__arith_2Ebmarker,V0p))
                    & p(V1q)
                    & p(V2r) ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2ENOT__INT__DIVIDES,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ( V0c != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
           => ( ~ p(ap(ap(c_2Einteger_2Eint__divides,V0c),V1d))
            <=> ? [V2i] :
                  ( mem(V2i,ty_2Einteger_2Eint)
                  & p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V2i))
                  & p(ap(ap(c_2Einteger_2Eint__le,V2i),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2EABS,V0c)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))
                  & p(ap(ap(c_2Einteger_2Eint__divides,V0c),ap(ap(c_2Einteger_2Eint__add,V1d),V2i))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2ENOT__INT__DIVIDES__POS,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1d] :
          ( mem(V1d,ty_2Einteger_2Eint)
         => ( V0n != c_2Enum_2E0
           => ( ~ p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0n)),V1d))
            <=> ? [V2i] :
                  ( mem(V2i,ty_2Einteger_2Eint)
                  & p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V2i))
                  & p(ap(ap(c_2Einteger_2Eint__le,V2i),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))
                  & p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,V0n)),ap(ap(c_2Einteger_2Eint__add,V1d),V2i))) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__context__rwt1,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V1x)))
               => ( p(ap(ap(c_2Einteger_2Eint__le,V1x),V2y))
                 => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V2y)))
                  <=> $true ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__context__rwt2,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V1x)))
               => ( p(ap(ap(c_2Einteger_2Eint__lt,V2y),ap(c_2Einteger_2Eint__neg,V1x)))
                 => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,V0c)),V2y)))
                  <=> $false ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__context__rwt3,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V1x)))
               => ( p(ap(ap(c_2Einteger_2Eint__lt,V1x),V2y))
                 => ( ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = ap(ap(c_2Einteger_2Eint__add,V0c),V2y)
                  <=> $false ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__context__rwt4,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V1x)))
               => ( p(ap(ap(c_2Einteger_2Eint__lt,V1x),ap(c_2Einteger_2Eint__neg,V2y)))
                 => ( ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,V0c)),V2y)
                  <=> $false ) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Ele__context__rwt5,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V1x)))
           => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,V0c)),ap(c_2Einteger_2Eint__neg,V1x))))
            <=> ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = ap(ap(c_2Einteger_2Eint__add,V0c),V1x) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__context__rwt1,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = ap(ap(c_2Einteger_2Eint__add,V0c),V1x)
               => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,V0c),V2y)))
                <=> p(ap(ap(c_2Einteger_2Eint__le,V1x),V2y)) ) ) ) ) ) ).

fof(conj_thm_2Eint__arith_2Eeq__context__rwt2,axiom,
    ! [V0c] :
      ( mem(V0c,ty_2Einteger_2Eint)
     => ! [V1x] :
          ( mem(V1x,ty_2Einteger_2Eint)
         => ! [V2y] :
              ( mem(V2y,ty_2Einteger_2Eint)
             => ( ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = ap(ap(c_2Einteger_2Eint__add,V0c),V1x)
               => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,V0c)),V2y)))
                <=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__neg,V1x)),V2y)) ) ) ) ) ) ).

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