ITP001 Axioms: ITP100_5.ax


%------------------------------------------------------------------------------
% File     : ITP100_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    : int_arith_2.ax [Gau20]
%          : HL4100_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   76 (   9 unt;   4 typ;   0 def)
%            Number of atoms       : 2278 (  60 equ)
%            Maximal formula atoms :   16 (  29 avg)
%            Number of connectives :  183 (  20   ~;   2   |;  57   &)
%                                         (  54 <=>;  50  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   18 (   6 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       : 2043 (2043 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    3 (   3   >;   0   *;   0   +;   0  <<)
%            Number of predicates  :   43 (  40 usr;  31 prp; 0-2 aty)
%            Number of functors    :    4 (   4 usr;   1 con; 0-1 aty)
%            Number of variables   :  212 ( 196   !;  16   ?; 212   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Eint__arith_2Ebmarker,type,
    c_2Eint__arith_2Ebmarker: $i ).

tff(mem_c_2Eint__arith_2Ebmarker,axiom,
    mem(c_2Eint__arith_2Ebmarker,arr(bool,bool)) ).

tff(stp_fo_c_2Eint__arith_2Ebmarker,type,
    fo__c_2Eint__arith_2Ebmarker: tp__o > tp__o ).

tff(stp_eq_fo_c_2Eint__arith_2Ebmarker,axiom,
    ! [X0: tp__o] : ( inj__o(fo__c_2Eint__arith_2Ebmarker(X0)) = ap(c_2Eint__arith_2Ebmarker,inj__o(X0)) ) ).

tff(conj_thm_2Eint__arith_2Enot__less,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( ~ p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y)))
    <=> p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1y)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ).

tff(conj_thm_2Eint__arith_2Eelim__eq,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( ( V0x = V1y )
    <=> ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))
        & p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1y)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ) ).

tff(conj_thm_2Eint__arith_2Eless__to__leq__samel,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y)))
    <=> p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))) ) ).

tff(conj_thm_2Eint__arith_2Eless__to__leq__samer,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y)))
    <=> p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),inj__ty_2Einteger_2Eint(V1y))) ) ).

tff(conj_thm_2Eint__arith_2Elt__move__all__right,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y)))
    <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0x))))) ) ).

tff(conj_thm_2Eint__arith_2Elt__move__all__left,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y)))
    <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1y)))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) ) ).

tff(conj_thm_2Eint__arith_2Elt__move__left__left,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),inj__ty_2Einteger_2Eint(V2z))))
    <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1y)))),inj__ty_2Einteger_2Eint(V2z))) ) ).

tff(conj_thm_2Eint__arith_2Elt__move__left__right,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y))),inj__ty_2Einteger_2Eint(V2z)))
    <=> p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1y)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V2z)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0x))))) ) ).

tff(conj_thm_2Eint__arith_2Ele__move__right__left,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),inj__ty_2Einteger_2Eint(V2z))))
    <=> p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V2z)))),inj__ty_2Einteger_2Eint(V1y))) ) ).

tff(conj_thm_2Eint__arith_2Ele__move__all__right,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y)))
    <=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0x))))) ) ).

tff(conj_thm_2Eint__arith_2Eeq__move__all__right,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( ( V0x = V1y )
    <=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0x)))) ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__move__all__left,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint] :
      ( ( V0x = V1y )
    <=> ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1y)))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__move__left__left,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] :
      ( ( V0x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),inj__ty_2Einteger_2Eint(V2z))) )
    <=> ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1y)))) = V2z ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__move__left__right,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] :
      ( ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V1y))) = V2z )
    <=> ( V1y = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V2z)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0x)))) ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__move__right__left,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] :
      ( ( V0x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),inj__ty_2Einteger_2Eint(V2z))) )
    <=> ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V2z)))) = V1y ) ) ).

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

tff(conj_thm_2Eint__arith_2Elt__justify__multiplication,axiom,
    ! [V0n: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V0n)))
     => ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1x)),inj__ty_2Einteger_2Eint(V2y)))
      <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V1x))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V2y)))) ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__justify__multiplication,axiom,
    ! [V0n: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V0n)))
     => ( ( V1x = V2y )
      <=> ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V1x))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V2y))) ) ) ) ).

tff(conj_thm_2Eint__arith_2Ejustify__divides,axiom,
    ! [V0n: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V0n)))
     => ( p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V1x)),inj__ty_2Einteger_2Eint(V2y)))
      <=> p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V1x))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V2y)))) ) ) ).

tff(conj_thm_2Eint__arith_2Ejustify__divides2,axiom,
    ! [V0n: tp__ty_2Einteger_2Eint,V1c: tp__ty_2Einteger_2Eint,V2x: tp__ty_2Einteger_2Eint,V3y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V2x))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V3y))),inj__ty_2Einteger_2Eint(V1c))))
    <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V2x))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V3y))),inj__ty_2Einteger_2Eint(V1c))))
        & p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V1c))) ) ) ).

tff(conj_thm_2Eint__arith_2Ejustify__divides3,axiom,
    ! [V0n: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2c: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V0n)),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V1x))),inj__ty_2Einteger_2Eint(V2c))))
    <=> p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V0n)),inj__ty_2Einteger_2Eint(V2c))) ) ).

tff(conj_thm_2Eint__arith_2EINT__SUB__SUB3,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2z: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V1y)),inj__ty_2Einteger_2Eint(V2z)))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),inj__ty_2Einteger_2Eint(V2z))),inj__ty_2Einteger_2Eint(V1y))) ) ).

tff(conj_thm_2Eint__arith_2Emove__sub,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1b: tp__ty_2Einteger_2Eint,V2a: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V2a)),inj__ty_2Einteger_2Eint(V0c))),inj__ty_2Einteger_2Eint(V1b))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V2a)),inj__ty_2Einteger_2Eint(V1b))),inj__ty_2Einteger_2Eint(V0c))) ) ).

tff(conj_thm_2Eint__arith_2Ecan__get__small,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2d: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V2d)))
     => ? [V3c: tp__ty_2Einteger_2Eint] :
          ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V3c)))
          & p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V1y)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V3c)),inj__ty_2Einteger_2Eint(V2d)))),inj__ty_2Einteger_2Eint(V0x))) ) ) ).

tff(conj_thm_2Eint__arith_2Ecan__get__big,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Einteger_2Eint,V2d: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V2d)))
     => ? [V3c: tp__ty_2Einteger_2Eint] :
          ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V3c)))
          & p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1y)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V3c)),inj__ty_2Einteger_2Eint(V2d))))) ) ) ).

tff(conj_thm_2Eint__arith_2Epositive__product__implication,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1d: tp__ty_2Einteger_2Eint] :
      ( ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V0c)))
        & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V1d))) )
     => p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1d)))) ) ).

tff(conj_thm_2Eint__arith_2Erestricted__quantification__simp,axiom,
    ! [V0low: tp__ty_2Einteger_2Eint,V1high: tp__ty_2Einteger_2Eint,V2x: tp__ty_2Einteger_2Eint] :
      ( ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0low)),inj__ty_2Einteger_2Eint(V2x)))
        & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V2x)),inj__ty_2Einteger_2Eint(V1high))) )
    <=> ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0low)),inj__ty_2Einteger_2Eint(V1high)))
        & ( ( V2x = V1high )
          | ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0low)),inj__ty_2Einteger_2Eint(V2x)))
            & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V2x)),ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V1high)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ) ) ) ).

tff(conj_thm_2Eint__arith_2Etop__and__lessers,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1d: tp__ty_2Einteger_2Eint,V2x0: tp__ty_2Einteger_2Eint] :
          ( ( ! [V3x: tp__ty_2Einteger_2Eint] :
                ( p(ap(V0P,inj__ty_2Einteger_2Eint(V3x)))
               => p(ap(V0P,ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V3x)),inj__ty_2Einteger_2Eint(V1d)))) )
            & p(ap(V0P,inj__ty_2Einteger_2Eint(V2x0))) )
         => ! [V4c: tp__ty_2Einteger_2Eint] :
              ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V4c)))
             => p(ap(V0P,ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V2x0)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V4c)),inj__ty_2Einteger_2Eint(V1d))))) ) ) ) ).

tff(conj_thm_2Eint__arith_2Ebot__and__greaters,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1d: tp__ty_2Einteger_2Eint,V2x0: tp__ty_2Einteger_2Eint] :
          ( ( ! [V3x: tp__ty_2Einteger_2Eint] :
                ( p(ap(V0P,inj__ty_2Einteger_2Eint(V3x)))
               => p(ap(V0P,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V3x)),inj__ty_2Einteger_2Eint(V1d)))) )
            & p(ap(V0P,inj__ty_2Einteger_2Eint(V2x0))) )
         => ! [V4c: tp__ty_2Einteger_2Eint] :
              ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V4c)))
             => p(ap(V0P,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V2x0)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V4c)),inj__ty_2Einteger_2Eint(V1d))))) ) ) ) ).

tff(conj_thm_2Eint__arith_2Ein__additive__range,axiom,
    ! [V0low: tp__ty_2Einteger_2Eint,V1d: tp__ty_2Einteger_2Eint,V2x: tp__ty_2Einteger_2Eint] :
      ( ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0low)),inj__ty_2Einteger_2Eint(V2x)))
        & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V2x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0low)),inj__ty_2Einteger_2Eint(V1d)))) )
    <=> ? [V3j: tp__ty_2Einteger_2Eint] :
          ( ( V2x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0low)),inj__ty_2Einteger_2Eint(V3j))) )
          & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V3j)))
          & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V3j)),inj__ty_2Einteger_2Eint(V1d))) ) ) ).

tff(conj_thm_2Eint__arith_2Ein__subtractive__range,axiom,
    ! [V0high: tp__ty_2Einteger_2Eint,V1d: tp__ty_2Einteger_2Eint,V2x: tp__ty_2Einteger_2Eint] :
      ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V0high)),inj__ty_2Einteger_2Eint(V1d))),inj__ty_2Einteger_2Eint(V2x)))
        & p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V2x)),inj__ty_2Einteger_2Eint(V0high))) )
    <=> ? [V3j: tp__ty_2Einteger_2Eint] :
          ( ( V2x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V0high)),inj__ty_2Einteger_2Eint(V3j))) )
          & p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V3j)))
          & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V3j)),inj__ty_2Einteger_2Eint(V1d))) ) ) ).

tff(conj_thm_2Eint__arith_2Esubtract__to__small,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1d: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V1d)))
     => ? [V2k: tp__ty_2Einteger_2Eint] :
          ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2k)),inj__ty_2Einteger_2Eint(V1d)))))
          & p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__sub,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2k)),inj__ty_2Einteger_2Eint(V1d)))),inj__ty_2Einteger_2Eint(V1d))) ) ) ).

tff(conj_thm_2Eint__arith_2Eadd__to__great,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1d: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V1d)))
     => ? [V2k: tp__ty_2Einteger_2Eint] :
          ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2k)),inj__ty_2Einteger_2Eint(V1d)))))
          & p(ap(ap(c_2Einteger_2Eint__le,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2k)),inj__ty_2Einteger_2Eint(V1d)))),inj__ty_2Einteger_2Eint(V1d))) ) ) ).

tff(conj_thm_2Eint__arith_2EINT__LT__ADD__NUMERAL,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint,V1y: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V1y)))))))
      & p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(V1y)))))))
      & ~ p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0x)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,inj__ty_2Enum_2Enum(V1y))))))) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__FORALL,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ( ! [V1n: tp__ty_2Enum_2Enum] : p(ap(V0P,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))))
      <=> ! [V2x: tp__ty_2Einteger_2Eint] :
            ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V2x)))
           => p(ap(V0P,inj__ty_2Einteger_2Eint(V2x))) ) ) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__EXISTS,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ( ? [V1n: tp__ty_2Enum_2Enum] : p(ap(V0P,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))))
      <=> ? [V2x: tp__ty_2Einteger_2Eint] :
            ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V2x)))
            & p(ap(V0P,inj__ty_2Einteger_2Eint(V2x))) ) ) ) ).

tff(lamtp_f2511,type,
    f2511: $i > $i ).

tff(lameq_f2511,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1n: tp__ty_2Enum_2Enum] : ( ap(f2511(V0P),inj__ty_2Enum_2Enum(V1n)) = ap(V0P,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))) ) ) ).

tff(lamtp_f2512,type,
    f2512: $i > $i ).

tff(lameq_f2512,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V2x: tp__ty_2Einteger_2Eint] : ( ap(f2512(V0P),inj__ty_2Einteger_2Eint(V2x)) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V2x))),ap(V0P,inj__ty_2Einteger_2Eint(V2x))) ) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__UEXISTS,axiom,
    ! [V0P: $i] :
      ( 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))) ) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__SUB,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1m)))) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m)))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m))))) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__COND,axiom,
    ! [V0b: tp__o,V1n: tp__ty_2Enum_2Enum,V2m: tp__ty_2Enum_2Enum] : ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),inj__o(V0b)),inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(V2m)))) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),inj__o(V0b)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2m)))) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__ODD,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] :
      ( p(ap(c_2Earithmetic_2EODD,inj__ty_2Enum_2Enum(V0n)))
    <=> ~ p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n)))) ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__EVEN,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] :
      ( p(ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V0n)))
    <=> p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n)))) ) ).

tff(conj_thm_2Eint__arith_2EHO__SUB__ELIM,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Einteger_2Eint,bool))
     => ! [V1a: tp__ty_2Enum_2Enum,V2b: tp__ty_2Enum_2Enum] :
          ( p(ap(V0P,ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1a)),inj__ty_2Enum_2Enum(V2b)))))
        <=> ( ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2b))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a))))
              & p(ap(V0P,ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2b)))))) )
            | ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2b))))
              & p(ap(V0P,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) ) ) ) ) ).

tff(conj_thm_2Eint__arith_2ECONJ__EQ__ELIM,axiom,
    ! [A_27a: del,V0P: $i] :
      ( mem(V0P,arr(A_27a,bool))
     => ! [V1v: $i] :
          ( mem(V1v,A_27a)
         => ! [V2e: $i] :
              ( mem(V2e,A_27a)
             => ( ( ( V1v = V2e )
                  & p(ap(V0P,V1v)) )
              <=> ( ( V1v = V2e )
                  & p(ap(V0P,V2e)) ) ) ) ) ) ).

tff(conj_thm_2Eint__arith_2Eelim__neg__ones,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) = V0x ) ).

tff(conj_thm_2Eint__arith_2Eelim__minus__ones,axiom,
    ! [V0x: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0x)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) = V0x ) ).

tff(conj_thm_2Eint__arith_2EINT__NUM__DIVIDES,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m))))
    <=> p(ap(ap(c_2Edivides_2Edivides,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1m))) ) ).

tff(conj_thm_2Eint__arith_2EINT__LINEAR__GCD,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum] :
    ? [V2p: tp__ty_2Einteger_2Eint,V3q: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2p)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n)))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V3q)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m))))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(ap(c_2Egcd_2Egcd,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1m)))) ) ).

tff(conj_thm_2Eint__arith_2EINT__DIVIDES__LRMUL,axiom,
    ! [V0p: tp__ty_2Einteger_2Eint,V1q: tp__ty_2Einteger_2Eint,V2r: tp__ty_2Einteger_2Eint] :
      ( ( V1q != surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
     => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0p)),inj__ty_2Einteger_2Eint(V1q))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2r)),inj__ty_2Einteger_2Eint(V1q))))
      <=> p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V0p)),inj__ty_2Einteger_2Eint(V2r))) ) ) ).

tff(conj_thm_2Eint__arith_2EINT__DIVIDES__RELPRIME__MUL,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1q: tp__ty_2Enum_2Enum,V2r: tp__ty_2Einteger_2Eint] :
      ( ( surj__ty_2Enum_2Enum(ap(ap(c_2Egcd_2Egcd,inj__ty_2Enum_2Enum(V0p)),inj__ty_2Enum_2Enum(V1q))) = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
     => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0p))),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1q))),inj__ty_2Einteger_2Eint(V2r))))
      <=> p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0p))),inj__ty_2Einteger_2Eint(V2r))) ) ) ).

tff(conj_thm_2Eint__arith_2Egcdthm2,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1a: tp__ty_2Enum_2Enum,V2x: tp__ty_2Einteger_2Eint,V3b: tp__ty_2Einteger_2Eint,V4d: tp__ty_2Enum_2Enum,V5p: tp__ty_2Einteger_2Eint,V6q: tp__ty_2Einteger_2Eint] :
      ( ( ( V4d = surj__ty_2Enum_2Enum(ap(ap(c_2Egcd_2Egcd,inj__ty_2Enum_2Enum(V1a)),inj__ty_2Enum_2Enum(V0m))) )
        & ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4d))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V5p)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a)))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V6q)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))))) )
        & ( V4d != fo__c_2Enum_2E0 )
        & ( V0m != fo__c_2Enum_2E0 )
        & ( V1a != fo__c_2Enum_2E0 ) )
     => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a))),inj__ty_2Einteger_2Eint(V2x))),inj__ty_2Einteger_2Eint(V3b))))
      <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4d))),inj__ty_2Einteger_2Eint(V3b)))
          & ? [V7t: tp__ty_2Einteger_2Eint] : ( V2x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V5p))),ap(ap(c_2Einteger_2Eint__div,inj__ty_2Einteger_2Eint(V3b)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4d))))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V7t)),ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4d)))))) ) ) ) ) ).

tff(conj_thm_2Eint__arith_2Egcd1thm,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2p: tp__ty_2Einteger_2Eint,V3q: tp__ty_2Einteger_2Eint] :
      ( ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V2p)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m)))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V3q)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Egcd_2Egcd,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V1n))) = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) ) ) ).

tff(conj_thm_2Eint__arith_2Egcd21__thm,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1a: tp__ty_2Enum_2Enum,V2x: tp__ty_2Einteger_2Eint,V3b: tp__ty_2Einteger_2Eint,V4p: tp__ty_2Einteger_2Eint,V5q: tp__ty_2Einteger_2Eint] :
      ( ( ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V4p)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a)))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V5q)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))))) = surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
        & ( V0m != fo__c_2Enum_2E0 )
        & ( V1a != fo__c_2Enum_2E0 ) )
     => ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1a))),inj__ty_2Einteger_2Eint(V2x))),inj__ty_2Einteger_2Eint(V3b))))
      <=> ? [V6t: tp__ty_2Einteger_2Eint] : ( V2x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V4p))),inj__ty_2Einteger_2Eint(V3b))),ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V6t)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))))) ) ) ) ).

tff(conj_thm_2Eint__arith_2Eelim__lt__coeffs1,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2x: tp__ty_2Einteger_2Eint] :
      ( ( V1m != fo__c_2Enum_2E0 )
     => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m))),inj__ty_2Einteger_2Eint(V2x))))
      <=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m)))),inj__ty_2Einteger_2Eint(V2x))) ) ) ).

tff(conj_thm_2Eint__arith_2Eelim__lt__coeffs2,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2x: tp__ty_2Einteger_2Eint] :
      ( ( V1m != fo__c_2Enum_2E0 )
     => ( p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m))),inj__ty_2Einteger_2Eint(V2x))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))))
      <=> p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V2x)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n)))),ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m)))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1m)))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))) ) ) ).

tff(conj_thm_2Eint__arith_2Eelim__le__coeffs,axiom,
    ! [V0m: tp__ty_2Einteger_2Eint,V1n: tp__ty_2Einteger_2Eint,V2x: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V0m)))
     => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V0m)),inj__ty_2Einteger_2Eint(V2x))),inj__ty_2Einteger_2Eint(V1n))))
      <=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V2x)),ap(ap(c_2Einteger_2Eint__div,inj__ty_2Einteger_2Eint(V1n)),inj__ty_2Einteger_2Eint(V0m))))) ) ) ).

tff(conj_thm_2Eint__arith_2Eelim__eq__coeffs,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( ( V0m != fo__c_2Enum_2E0 )
     => ( ( surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),inj__ty_2Einteger_2Eint(V1x))) = V2y )
      <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),inj__ty_2Einteger_2Eint(V2y)))
          & ( V1x = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__div,inj__ty_2Einteger_2Eint(V2y)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m)))) ) ) ) ) ).

tff(conj_thm_2Eint__arith_2Ecooper__lemma__1,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2a: tp__ty_2Enum_2Enum,V3b: tp__ty_2Einteger_2Eint,V4u: tp__ty_2Enum_2Enum,V5v: tp__ty_2Einteger_2Eint,V6p: tp__ty_2Einteger_2Eint,V7q: tp__ty_2Einteger_2Eint,V8x: tp__ty_2Einteger_2Eint,V9d: tp__ty_2Enum_2Enum] :
      ( ( ( V9d = surj__ty_2Enum_2Enum(ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2A,inj__ty_2Enum_2Enum(V4u)),inj__ty_2Enum_2Enum(V0m))),ap(ap(c_2Earithmetic_2E_2A,inj__ty_2Enum_2Enum(V2a)),inj__ty_2Enum_2Enum(V1n)))) )
        & ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V9d))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V6p)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4u)))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m)))),ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V7q)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2a)))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))))) )
        & ( V0m != fo__c_2Enum_2E0 )
        & ( V1n != fo__c_2Enum_2E0 )
        & ( V2a != fo__c_2Enum_2E0 )
        & ( V4u != fo__c_2Enum_2E0 ) )
     => ( ( p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2a))),inj__ty_2Einteger_2Eint(V8x))),inj__ty_2Einteger_2Eint(V3b))))
          & p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n))),ap(ap(c_2Einteger_2Eint__add,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4u))),inj__ty_2Einteger_2Eint(V8x))),inj__ty_2Einteger_2Eint(V5v)))) )
      <=> ( p(ap(ap(c_2Einteger_2Eint__divides,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m))),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(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,inj__ty_2Enum_2Enum(V9d))),inj__ty_2Einteger_2Eint(V8x))),ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V5v)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0m)))),inj__ty_2Einteger_2Eint(V6p)))),ap(ap(c_2Einteger_2Eint__mul,ap(ap(c_2Einteger_2Eint__mul,inj__ty_2Einteger_2Eint(V3b)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V1n)))),inj__ty_2Einteger_2Eint(V7q)))))
          & p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V9d))),ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V2a))),inj__ty_2Einteger_2Eint(V5v))),ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V4u))),inj__ty_2Einteger_2Eint(V3b))))) ) ) ) ).

tff(ax_thm_2Eint__arith_2Ebmarker__def,axiom,
    ! [V0b: tp__o] :
      ( p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0b)))
    <=> p(inj__o(V0b)) ) ).

tff(conj_thm_2Eint__arith_2Ebmarker__rewrites,axiom,
    ! [V0p: tp__o,V1q: tp__o,V2r: tp__o] :
      ( ( ( p(inj__o(V1q))
          & p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0p))) )
      <=> ( p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0p)))
          & p(inj__o(V1q)) ) )
      & ( ( p(inj__o(V1q))
          & p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0p)))
          & p(inj__o(V2r)) )
      <=> ( p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0p)))
          & p(inj__o(V1q))
          & p(inj__o(V2r)) ) )
      & ( ( p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0p)))
          & p(inj__o(V1q))
          & p(inj__o(V2r)) )
      <=> ( p(ap(c_2Eint__arith_2Ebmarker,inj__o(V0p)))
          & p(inj__o(V1q))
          & p(inj__o(V2r)) ) ) ) ).

tff(conj_thm_2Eint__arith_2ENOT__INT__DIVIDES,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1d: tp__ty_2Einteger_2Eint] :
      ( ( V0c != surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
     => ( ~ p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1d)))
      <=> ? [V2i: tp__ty_2Einteger_2Eint] :
            ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Einteger_2Eint(V2i)))
            & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V2i)),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2EABS,inj__ty_2Einteger_2Eint(V0c))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))
            & p(ap(ap(c_2Einteger_2Eint__divides,inj__ty_2Einteger_2Eint(V0c)),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1d)),inj__ty_2Einteger_2Eint(V2i)))) ) ) ) ).

tff(conj_thm_2Eint__arith_2ENOT__INT__DIVIDES__POS,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1d: tp__ty_2Einteger_2Eint] :
      ( ( V0n != fo__c_2Enum_2E0 )
     => ( ~ p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),inj__ty_2Einteger_2Eint(V1d)))
      <=> ? [V2i: tp__ty_2Einteger_2Eint] :
            ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Einteger_2Eint(V2i)))
            & p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V2i)),ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))
            & p(ap(ap(c_2Einteger_2Eint__divides,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(V0n))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V1d)),inj__ty_2Einteger_2Eint(V2i)))) ) ) ) ).

tff(conj_thm_2Eint__arith_2Ele__context__rwt1,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))))
     => ( p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V1x)),inj__ty_2Einteger_2Eint(V2y)))
       => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V2y))))
        <=> $true ) ) ) ).

tff(conj_thm_2Eint__arith_2Ele__context__rwt2,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))))
     => ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V2y)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1x))))
       => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0c))),inj__ty_2Einteger_2Eint(V2y))))
        <=> $false ) ) ) ).

tff(conj_thm_2Eint__arith_2Ele__context__rwt3,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))))
     => ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1x)),inj__ty_2Einteger_2Eint(V2y)))
       => ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V2y))) )
        <=> $false ) ) ) ).

tff(conj_thm_2Eint__arith_2Ele__context__rwt4,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))))
     => ( p(ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1x)),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V2y))))
       => ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0c))),inj__ty_2Einteger_2Eint(V2y))) )
        <=> $false ) ) ) ).

tff(conj_thm_2Eint__arith_2Ele__context__rwt5,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint] :
      ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))))
     => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0c))),ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1x)))))
      <=> ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))) ) ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__context__rwt1,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))) )
     => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V2y))))
      <=> p(ap(ap(c_2Einteger_2Eint__le,inj__ty_2Einteger_2Eint(V1x)),inj__ty_2Einteger_2Eint(V2y))) ) ) ).

tff(conj_thm_2Eint__arith_2Eeq__context__rwt2,axiom,
    ! [V0c: tp__ty_2Einteger_2Eint,V1x: tp__ty_2Einteger_2Eint,V2y: tp__ty_2Einteger_2Eint] :
      ( ( surj__ty_2Einteger_2Eint(ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__add,inj__ty_2Einteger_2Eint(V0c)),inj__ty_2Einteger_2Eint(V1x))) )
     => ( p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Einteger_2Eint__add,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V0c))),inj__ty_2Einteger_2Eint(V2y))))
      <=> p(ap(ap(c_2Einteger_2Eint__le,ap(c_2Einteger_2Eint__neg,inj__ty_2Einteger_2Eint(V1x))),inj__ty_2Einteger_2Eint(V2y))) ) ) ).

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