ITP001 Axioms: ITP084+5.ax


%------------------------------------------------------------------------------
% File     : ITP084+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    : hrat+2.ax [Gau20]
%          : HL4084+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   72 (  21 unt;   0 def)
%            Number of atoms       :  209 (  41 equ)
%            Maximal formula atoms :    7 (   2 avg)
%            Number of connectives :  139 (   2   ~;   4   |;  19   &)
%                                         (   5 <=>; 109  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   4 avg)
%            Maximal term depth    :    9 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   37 (  37 usr;  26 con; 0-2 aty)
%            Number of variables   :  116 ( 106   !;  10   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(ne_ty_2Ehrat_2Ehrat,axiom,
    ne(ty_2Ehrat_2Ehrat) ).

fof(mem_c_2Ehrat_2Ehrat__1,axiom,
    mem(c_2Ehrat_2Ehrat__1,ty_2Ehrat_2Ehrat) ).

fof(mem_c_2Ehrat_2Ehrat__ABS,axiom,
    mem(c_2Ehrat_2Ehrat__ABS,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Ehrat_2Ehrat)) ).

fof(mem_c_2Ehrat_2Ehrat__ABS__CLASS,axiom,
    mem(c_2Ehrat_2Ehrat__ABS__CLASS,arr(arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool),ty_2Ehrat_2Ehrat)) ).

fof(mem_c_2Ehrat_2Ehrat__REP,axiom,
    mem(c_2Ehrat_2Ehrat__REP,arr(ty_2Ehrat_2Ehrat,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(mem_c_2Ehrat_2Ehrat__REP__CLASS,axiom,
    mem(c_2Ehrat_2Ehrat__REP__CLASS,arr(ty_2Ehrat_2Ehrat,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))) ).

fof(mem_c_2Ehrat_2Ehrat__add,axiom,
    mem(c_2Ehrat_2Ehrat__add,arr(ty_2Ehrat_2Ehrat,arr(ty_2Ehrat_2Ehrat,ty_2Ehrat_2Ehrat))) ).

fof(mem_c_2Ehrat_2Ehrat__inv,axiom,
    mem(c_2Ehrat_2Ehrat__inv,arr(ty_2Ehrat_2Ehrat,ty_2Ehrat_2Ehrat)) ).

fof(mem_c_2Ehrat_2Ehrat__mul,axiom,
    mem(c_2Ehrat_2Ehrat__mul,arr(ty_2Ehrat_2Ehrat,arr(ty_2Ehrat_2Ehrat,ty_2Ehrat_2Ehrat))) ).

fof(mem_c_2Ehrat_2Ehrat__sucint,axiom,
    mem(c_2Ehrat_2Ehrat__sucint,arr(ty_2Enum_2Enum,ty_2Ehrat_2Ehrat)) ).

fof(mem_c_2Ehrat_2Etrat__1,axiom,
    mem(c_2Ehrat_2Etrat__1,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).

fof(mem_c_2Ehrat_2Etrat__add,axiom,
    mem(c_2Ehrat_2Etrat__add,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)))) ).

fof(mem_c_2Ehrat_2Etrat__eq,axiom,
    mem(c_2Ehrat_2Etrat__eq,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))) ).

fof(mem_c_2Ehrat_2Etrat__inv,axiom,
    mem(c_2Ehrat_2Etrat__inv,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(mem_c_2Ehrat_2Etrat__mul,axiom,
    mem(c_2Ehrat_2Etrat__mul,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)))) ).

fof(mem_c_2Ehrat_2Etrat__sucint,axiom,
    mem(c_2Ehrat_2Etrat__sucint,arr(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(ax_thm_2Ehrat_2Etrat__1,axiom,
    c_2Ehrat_2Etrat__1 = ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),c_2Enum_2E0),c_2Enum_2E0) ).

fof(ax_thm_2Ehrat_2Etrat__inv,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ap(c_2Ehrat_2Etrat__inv,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V0x),V1y)) = ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V1y),V0x) ) ) ).

fof(ax_thm_2Ehrat_2Etrat__add,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ! [V2x_27] :
              ( mem(V2x_27,ty_2Enum_2Enum)
             => ! [V3y_27] :
                  ( mem(V3y_27,ty_2Enum_2Enum)
                 => ap(ap(c_2Ehrat_2Etrat__add,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V0x),V1y)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V2x_27),V3y_27)) = ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(c_2Eprim__rec_2EPRE,ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V0x)),ap(c_2Enum_2ESUC,V3y_27))),ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V2x_27)),ap(c_2Enum_2ESUC,V1y))))),ap(c_2Eprim__rec_2EPRE,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V1y)),ap(c_2Enum_2ESUC,V3y_27)))) ) ) ) ) ).

fof(ax_thm_2Ehrat_2Etrat__mul,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ! [V2x_27] :
              ( mem(V2x_27,ty_2Enum_2Enum)
             => ! [V3y_27] :
                  ( mem(V3y_27,ty_2Enum_2Enum)
                 => ap(ap(c_2Ehrat_2Etrat__mul,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V0x),V1y)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V2x_27),V3y_27)) = ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(c_2Eprim__rec_2EPRE,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V0x)),ap(c_2Enum_2ESUC,V2x_27)))),ap(c_2Eprim__rec_2EPRE,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V1y)),ap(c_2Enum_2ESUC,V3y_27)))) ) ) ) ) ).

fof(ax_thm_2Ehrat_2Etrat__sucint,axiom,
    ( ap(c_2Ehrat_2Etrat__sucint,c_2Enum_2E0) = c_2Ehrat_2Etrat__1
    & ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => ap(c_2Ehrat_2Etrat__sucint,ap(c_2Enum_2ESUC,V0n)) = ap(ap(c_2Ehrat_2Etrat__add,ap(c_2Ehrat_2Etrat__sucint,V0n)),c_2Ehrat_2Etrat__1) ) ) ).

fof(ax_thm_2Ehrat_2Etrat__eq,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ! [V2x_27] :
              ( mem(V2x_27,ty_2Enum_2Enum)
             => ! [V3y_27] :
                  ( mem(V3y_27,ty_2Enum_2Enum)
                 => ( p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V0x),V1y)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V2x_27),V3y_27)))
                  <=> ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V0x)),ap(c_2Enum_2ESUC,V3y_27)) = ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,V2x_27)),ap(c_2Enum_2ESUC,V1y)) ) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__EQ__REFL,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V0p)) ) ).

fof(conj_thm_2Ehrat_2ETRAT__EQ__SYM,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q))
          <=> p(ap(ap(c_2Ehrat_2Etrat__eq,V1q),V0p)) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__EQ__TRANS,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2r] :
              ( mem(V2r,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => ( ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q))
                  & p(ap(ap(c_2Ehrat_2Etrat__eq,V1q),V2r)) )
               => p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V2r)) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__EQ__AP,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ( V0p = V1q
           => p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q)) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ADD__SYM__EQ,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ap(ap(c_2Ehrat_2Etrat__add,V0h),V1i) = ap(ap(c_2Ehrat_2Etrat__add,V1i),V0h) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__SYM__EQ,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ap(ap(c_2Ehrat_2Etrat__mul,V0h),V1i) = ap(ap(c_2Ehrat_2Etrat__mul,V1i),V0h) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__INV__WELLDEFINED,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q))
           => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__inv,V0p)),ap(c_2Ehrat_2Etrat__inv,V1q))) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ADD__WELLDEFINED,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2r] :
              ( mem(V2r,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q))
               => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,V0p),V2r)),ap(ap(c_2Ehrat_2Etrat__add,V1q),V2r))) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ADD__WELLDEFINED2,axiom,
    ! [V0p1] :
      ( mem(V0p1,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1p2] :
          ( mem(V1p2,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2q1] :
              ( mem(V2q1,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => ! [V3q2] :
                  ( mem(V3q2,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
                 => ( ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p1),V1p2))
                      & p(ap(ap(c_2Ehrat_2Etrat__eq,V2q1),V3q2)) )
                   => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,V0p1),V2q1)),ap(ap(c_2Ehrat_2Etrat__add,V1p2),V3q2))) ) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__WELLDEFINED,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2r] :
              ( mem(V2r,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q))
               => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,V0p),V2r)),ap(ap(c_2Ehrat_2Etrat__mul,V1q),V2r))) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__WELLDEFINED2,axiom,
    ! [V0p1] :
      ( mem(V0p1,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1p2] :
          ( mem(V1p2,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2q1] :
              ( mem(V2q1,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => ! [V3q2] :
                  ( mem(V3q2,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
                 => ( ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p1),V1p2))
                      & p(ap(ap(c_2Ehrat_2Etrat__eq,V2q1),V3q2)) )
                   => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,V0p1),V2q1)),ap(ap(c_2Ehrat_2Etrat__mul,V1p2),V3q2))) ) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ADD__SYM,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,V0h),V1i)),ap(ap(c_2Ehrat_2Etrat__add,V1i),V0h))) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ADD__ASSOC,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2j] :
              ( mem(V2j,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,V0h),ap(ap(c_2Ehrat_2Etrat__add,V1i),V2j))),ap(ap(c_2Ehrat_2Etrat__add,ap(ap(c_2Ehrat_2Etrat__add,V0h),V1i)),V2j))) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__SYM,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,V0h),V1i)),ap(ap(c_2Ehrat_2Etrat__mul,V1i),V0h))) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__ASSOC,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2j] :
              ( mem(V2j,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,V0h),ap(ap(c_2Ehrat_2Etrat__mul,V1i),V2j))),ap(ap(c_2Ehrat_2Etrat__mul,ap(ap(c_2Ehrat_2Etrat__mul,V0h),V1i)),V2j))) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__LDISTRIB,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2j] :
              ( mem(V2j,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,V0h),ap(ap(c_2Ehrat_2Etrat__add,V1i),V2j))),ap(ap(c_2Ehrat_2Etrat__add,ap(ap(c_2Ehrat_2Etrat__mul,V0h),V1i)),ap(ap(c_2Ehrat_2Etrat__mul,V0h),V2j)))) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__LID,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,c_2Ehrat_2Etrat__1),V0h)),V0h)) ) ).

fof(conj_thm_2Ehrat_2ETRAT__MUL__LINV,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,ap(c_2Ehrat_2Etrat__inv,V0h)),V0h)),c_2Ehrat_2Etrat__1)) ) ).

fof(conj_thm_2Ehrat_2ETRAT__NOZERO,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ~ p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,V0h),V1i)),V0h)) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ADD__TOTAL,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1i] :
          ( mem(V1i,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0h),V1i))
            | ? [V2d] :
                ( mem(V2d,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
                & p(ap(ap(c_2Ehrat_2Etrat__eq,V0h),ap(ap(c_2Ehrat_2Etrat__add,V1i),V2d))) )
            | ? [V3d] :
                ( mem(V3d,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
                & p(ap(ap(c_2Ehrat_2Etrat__eq,V1i),ap(ap(c_2Ehrat_2Etrat__add,V0h),V3d))) ) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__SUCINT__0,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,V0n)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V0n),c_2Enum_2E0))) ) ).

fof(conj_thm_2Ehrat_2ETRAT__ARCH,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ? [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
          & ? [V2d] :
              ( mem(V2d,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
              & p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,V1n)),ap(ap(c_2Ehrat_2Etrat__add,V0h),V2d))) ) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__SUCINT,axiom,
    ( p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,c_2Enum_2E0)),c_2Ehrat_2Etrat__1))
    & ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,ap(c_2Enum_2ESUC,V0n))),ap(ap(c_2Ehrat_2Etrat__add,ap(c_2Ehrat_2Etrat__sucint,V0n)),c_2Ehrat_2Etrat__1))) ) ) ).

fof(conj_thm_2Ehrat_2ETRAT__EQ__EQUIV,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1q] :
          ( mem(V1q,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ( p(ap(ap(c_2Ehrat_2Etrat__eq,V0p),V1q))
          <=> ap(c_2Ehrat_2Etrat__eq,V0p) = ap(c_2Ehrat_2Etrat__eq,V1q) ) ) ) ).

fof(lameq_f2275,axiom,
    ! [V1c] :
      ( mem(V1c,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))
     => ! [V2r] : ap(f2275(V1c),V2r) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Ehrat_2Etrat__eq,V2r),V2r)),ap(ap(c_2Emin_2E_3D(arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool)),V1c),ap(c_2Ehrat_2Etrat__eq,V2r))) ) ).

fof(lameq_f2276,axiom,
    ! [V1c] : ap(f2276,V1c) = ap(c_2Ebool_2E_3F(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)),f2275(V1c)) ).

fof(ax_thm_2Ehrat_2Ehrat__TY__DEF,axiom,
    ? [V0rep] :
      ( mem(V0rep,arr(ty_2Ehrat_2Ehrat,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool)))
      & p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool),ty_2Ehrat_2Ehrat),f2276),V0rep)) ) ).

fof(lameq_f2277,axiom,
    ! [V2c] :
      ( mem(V2c,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))
     => ! [V3r] : ap(f2277(V2c),V3r) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Ehrat_2Etrat__eq,V3r),V3r)),ap(ap(c_2Emin_2E_3D(arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool)),V2c),ap(c_2Ehrat_2Etrat__eq,V3r))) ) ).

fof(lameq_f2278,axiom,
    ! [V2c] : ap(f2278,V2c) = ap(c_2Ebool_2E_3F(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)),f2277(V2c)) ).

fof(ax_thm_2Ehrat_2Ehrat__bijections,axiom,
    ( ! [V0a] :
        ( mem(V0a,ty_2Ehrat_2Ehrat)
       => ap(c_2Ehrat_2Ehrat__ABS__CLASS,ap(c_2Ehrat_2Ehrat__REP__CLASS,V0a)) = V0a )
    & ! [V1r] :
        ( mem(V1r,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))
       => ( p(ap(f2278,V1r))
        <=> ap(c_2Ehrat_2Ehrat__REP__CLASS,ap(c_2Ehrat_2Ehrat__ABS__CLASS,V1r)) = V1r ) ) ) ).

fof(conj_thm_2Ehrat_2Ehrat__ABS__REP__CLASS,axiom,
    ( ! [V0a] :
        ( mem(V0a,ty_2Ehrat_2Ehrat)
       => ap(c_2Ehrat_2Ehrat__ABS__CLASS,ap(c_2Ehrat_2Ehrat__REP__CLASS,V0a)) = V0a )
    & ! [V1c] :
        ( mem(V1c,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))
       => ( ? [V2r] :
              ( mem(V2r,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
              & p(ap(ap(c_2Ehrat_2Etrat__eq,V2r),V2r))
              & V1c = ap(c_2Ehrat_2Etrat__eq,V2r) )
        <=> ap(c_2Ehrat_2Ehrat__REP__CLASS,ap(c_2Ehrat_2Ehrat__ABS__CLASS,V1c)) = V1c ) ) ) ).

fof(ax_thm_2Ehrat_2Ehrat__REP__def,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2Ehrat_2Ehrat)
     => ap(c_2Ehrat_2Ehrat__REP,V0a) = ap(c_2Emin_2E_40(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)),ap(c_2Ehrat_2Ehrat__REP__CLASS,V0a)) ) ).

fof(ax_thm_2Ehrat_2Ehrat__ABS__def,axiom,
    ! [V0r] :
      ( mem(V0r,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ap(c_2Ehrat_2Ehrat__ABS,V0r) = ap(c_2Ehrat_2Ehrat__ABS__CLASS,ap(c_2Ehrat_2Etrat__eq,V0r)) ) ).

fof(conj_thm_2Ehrat_2Ehrat__QUOTIENT,axiom,
    p(ap(ap(ap(c_2Equotient_2EQUOTIENT(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Ehrat_2Ehrat),c_2Ehrat_2Etrat__eq),c_2Ehrat_2Ehrat__ABS),c_2Ehrat_2Ehrat__REP)) ).

fof(ax_thm_2Ehrat_2Ehrat__1,axiom,
    c_2Ehrat_2Ehrat__1 = ap(c_2Ehrat_2Ehrat__ABS,c_2Ehrat_2Etrat__1) ).

fof(ax_thm_2Ehrat_2Ehrat__inv,axiom,
    ! [V0T1] :
      ( mem(V0T1,ty_2Ehrat_2Ehrat)
     => ap(c_2Ehrat_2Ehrat__inv,V0T1) = ap(c_2Ehrat_2Ehrat__ABS,ap(c_2Ehrat_2Etrat__inv,ap(c_2Ehrat_2Ehrat__REP,V0T1))) ) ).

fof(ax_thm_2Ehrat_2Ehrat__add,axiom,
    ! [V0T1] :
      ( mem(V0T1,ty_2Ehrat_2Ehrat)
     => ! [V1T2] :
          ( mem(V1T2,ty_2Ehrat_2Ehrat)
         => ap(ap(c_2Ehrat_2Ehrat__add,V0T1),V1T2) = ap(c_2Ehrat_2Ehrat__ABS,ap(ap(c_2Ehrat_2Etrat__add,ap(c_2Ehrat_2Ehrat__REP,V0T1)),ap(c_2Ehrat_2Ehrat__REP,V1T2))) ) ) ).

fof(ax_thm_2Ehrat_2Ehrat__mul,axiom,
    ! [V0T1] :
      ( mem(V0T1,ty_2Ehrat_2Ehrat)
     => ! [V1T2] :
          ( mem(V1T2,ty_2Ehrat_2Ehrat)
         => ap(ap(c_2Ehrat_2Ehrat__mul,V0T1),V1T2) = ap(c_2Ehrat_2Ehrat__ABS,ap(ap(c_2Ehrat_2Etrat__mul,ap(c_2Ehrat_2Ehrat__REP,V0T1)),ap(c_2Ehrat_2Ehrat__REP,V1T2))) ) ) ).

fof(ax_thm_2Ehrat_2Ehrat__sucint,axiom,
    ! [V0T1] :
      ( mem(V0T1,ty_2Enum_2Enum)
     => ap(c_2Ehrat_2Ehrat__sucint,V0T1) = ap(c_2Ehrat_2Ehrat__ABS,ap(c_2Ehrat_2Etrat__sucint,V0T1)) ) ).

fof(conj_thm_2Ehrat_2EHRAT__ADD__SYM,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ap(ap(c_2Ehrat_2Ehrat__add,V0h),V1i) = ap(ap(c_2Ehrat_2Ehrat__add,V1i),V0h) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__ADD__ASSOC,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ! [V2j] :
              ( mem(V2j,ty_2Ehrat_2Ehrat)
             => ap(ap(c_2Ehrat_2Ehrat__add,V0h),ap(ap(c_2Ehrat_2Ehrat__add,V1i),V2j)) = ap(ap(c_2Ehrat_2Ehrat__add,ap(ap(c_2Ehrat_2Ehrat__add,V0h),V1i)),V2j) ) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__MUL__SYM,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ap(ap(c_2Ehrat_2Ehrat__mul,V0h),V1i) = ap(ap(c_2Ehrat_2Ehrat__mul,V1i),V0h) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__MUL__ASSOC,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ! [V2j] :
              ( mem(V2j,ty_2Ehrat_2Ehrat)
             => ap(ap(c_2Ehrat_2Ehrat__mul,V0h),ap(ap(c_2Ehrat_2Ehrat__mul,V1i),V2j)) = ap(ap(c_2Ehrat_2Ehrat__mul,ap(ap(c_2Ehrat_2Ehrat__mul,V0h),V1i)),V2j) ) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__LDISTRIB,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ! [V2j] :
              ( mem(V2j,ty_2Ehrat_2Ehrat)
             => ap(ap(c_2Ehrat_2Ehrat__mul,V0h),ap(ap(c_2Ehrat_2Ehrat__add,V1i),V2j)) = ap(ap(c_2Ehrat_2Ehrat__add,ap(ap(c_2Ehrat_2Ehrat__mul,V0h),V1i)),ap(ap(c_2Ehrat_2Ehrat__mul,V0h),V2j)) ) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__MUL__LID,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ap(ap(c_2Ehrat_2Ehrat__mul,c_2Ehrat_2Ehrat__1),V0h) = V0h ) ).

fof(conj_thm_2Ehrat_2EHRAT__MUL__LINV,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ap(ap(c_2Ehrat_2Ehrat__mul,ap(c_2Ehrat_2Ehrat__inv,V0h)),V0h) = c_2Ehrat_2Ehrat__1 ) ).

fof(conj_thm_2Ehrat_2EHRAT__NOZERO,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ap(ap(c_2Ehrat_2Ehrat__add,V0h),V1i) != V0h ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__ADD__TOTAL,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ! [V1i] :
          ( mem(V1i,ty_2Ehrat_2Ehrat)
         => ( V0h = V1i
            | ? [V2d] :
                ( mem(V2d,ty_2Ehrat_2Ehrat)
                & V0h = ap(ap(c_2Ehrat_2Ehrat__add,V1i),V2d) )
            | ? [V3d] :
                ( mem(V3d,ty_2Ehrat_2Ehrat)
                & V1i = ap(ap(c_2Ehrat_2Ehrat__add,V0h),V3d) ) ) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__ARCH,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Ehrat_2Ehrat)
     => ? [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
          & ? [V2d] :
              ( mem(V2d,ty_2Ehrat_2Ehrat)
              & ap(c_2Ehrat_2Ehrat__sucint,V1n) = ap(ap(c_2Ehrat_2Ehrat__add,V0h),V2d) ) ) ) ).

fof(conj_thm_2Ehrat_2EHRAT__SUCINT,axiom,
    ( ap(c_2Ehrat_2Ehrat__sucint,c_2Enum_2E0) = c_2Ehrat_2Ehrat__1
    & ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => ap(c_2Ehrat_2Ehrat__sucint,ap(c_2Enum_2ESUC,V0n)) = ap(ap(c_2Ehrat_2Ehrat__add,ap(c_2Ehrat_2Ehrat__sucint,V0n)),c_2Ehrat_2Ehrat__1) ) ) ).

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