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    :  113 (  61 unt;  31 typ;   0 def)
%            Number of atoms       :  863 (  51 equ)
%            Maximal formula atoms :    5 (   7 avg)
%            Number of connectives :   33 (   2   ~;   4   |;  10   &)
%                                         (   5 <=>;  12  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    7 (   3 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of FOOLs       :  750 ( 750 fml;   0 var)
%            Number of types       :    2 (   1 usr)
%            Number of type conns  :   15 (  11   >;   4   *;   0   +;   0  <<)
%            Number of predicates  :   29 (  28 usr;  12 prp; 0-2 aty)
%            Number of functors    :   30 (  30 usr;  19 con; 0-2 aty)
%            Number of variables   :  130 ( 120   !;  10   ?; 130   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_ty_2Ehrat_2Ehrat,type,
    ty_2Ehrat_2Ehrat: del ).

tff(stp_ty_2Ehrat_2Ehrat,type,
    tp__ty_2Ehrat_2Ehrat: $tType ).

tff(stp_inj_ty_2Ehrat_2Ehrat,type,
    inj__ty_2Ehrat_2Ehrat: tp__ty_2Ehrat_2Ehrat > $i ).

tff(stp_surj_ty_2Ehrat_2Ehrat,type,
    surj__ty_2Ehrat_2Ehrat: $i > tp__ty_2Ehrat_2Ehrat ).

tff(stp_inj_surj_ty_2Ehrat_2Ehrat,axiom,
    ! [X: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(inj__ty_2Ehrat_2Ehrat(X)) = X ) ).

tff(stp_inj_mem_ty_2Ehrat_2Ehrat,axiom,
    ! [X: tp__ty_2Ehrat_2Ehrat] : mem(inj__ty_2Ehrat_2Ehrat(X),ty_2Ehrat_2Ehrat) ).

tff(stp_iso_mem_ty_2Ehrat_2Ehrat,axiom,
    ! [X: $i] :
      ( mem(X,ty_2Ehrat_2Ehrat)
     => ( X = inj__ty_2Ehrat_2Ehrat(surj__ty_2Ehrat_2Ehrat(X)) ) ) ).

tff(tp_c_2Ehrat_2Ehrat__1,type,
    c_2Ehrat_2Ehrat__1: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__1,type,
    fo__c_2Ehrat_2Ehrat__1: tp__ty_2Ehrat_2Ehrat ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__1,axiom,
    inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__1) = c_2Ehrat_2Ehrat__1 ).

tff(tp_c_2Ehrat_2Ehrat__ABS,type,
    c_2Ehrat_2Ehrat__ABS: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__ABS,type,
    fo__c_2Ehrat_2Ehrat__ABS: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum > tp__ty_2Ehrat_2Ehrat ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__ABS,axiom,
    ! [X0: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__ABS(X0)) = ap(c_2Ehrat_2Ehrat__ABS,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Ehrat_2Ehrat__ABS__CLASS,type,
    c_2Ehrat_2Ehrat__ABS__CLASS: $i ).

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

tff(tp_c_2Ehrat_2Ehrat__REP,type,
    c_2Ehrat_2Ehrat__REP: $i ).

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

tff(tp_c_2Ehrat_2Ehrat__REP__CLASS,type,
    c_2Ehrat_2Ehrat__REP__CLASS: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__REP__CLASS,type,
    fo__c_2Ehrat_2Ehrat__REP__CLASS: ( tp__ty_2Ehrat_2Ehrat * tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum ) > tp__o ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__REP__CLASS,axiom,
    ! [X0: tp__ty_2Ehrat_2Ehrat,X1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( inj__o(fo__c_2Ehrat_2Ehrat__REP__CLASS(X0,X1)) = ap(ap(c_2Ehrat_2Ehrat__REP__CLASS,inj__ty_2Ehrat_2Ehrat(X0)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X1)) ) ).

tff(tp_c_2Ehrat_2Ehrat__add,type,
    c_2Ehrat_2Ehrat__add: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__add,type,
    fo__c_2Ehrat_2Ehrat__add: ( tp__ty_2Ehrat_2Ehrat * tp__ty_2Ehrat_2Ehrat ) > tp__ty_2Ehrat_2Ehrat ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__add,axiom,
    ! [X0: tp__ty_2Ehrat_2Ehrat,X1: tp__ty_2Ehrat_2Ehrat] : ( inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__add(X0,X1)) = ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(X0)),inj__ty_2Ehrat_2Ehrat(X1)) ) ).

tff(tp_c_2Ehrat_2Ehrat__inv,type,
    c_2Ehrat_2Ehrat__inv: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__inv,type,
    fo__c_2Ehrat_2Ehrat__inv: tp__ty_2Ehrat_2Ehrat > tp__ty_2Ehrat_2Ehrat ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__inv,axiom,
    ! [X0: tp__ty_2Ehrat_2Ehrat] : ( inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__inv(X0)) = ap(c_2Ehrat_2Ehrat__inv,inj__ty_2Ehrat_2Ehrat(X0)) ) ).

tff(tp_c_2Ehrat_2Ehrat__mul,type,
    c_2Ehrat_2Ehrat__mul: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__mul,type,
    fo__c_2Ehrat_2Ehrat__mul: ( tp__ty_2Ehrat_2Ehrat * tp__ty_2Ehrat_2Ehrat ) > tp__ty_2Ehrat_2Ehrat ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__mul,axiom,
    ! [X0: tp__ty_2Ehrat_2Ehrat,X1: tp__ty_2Ehrat_2Ehrat] : ( inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__mul(X0,X1)) = ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(X0)),inj__ty_2Ehrat_2Ehrat(X1)) ) ).

tff(tp_c_2Ehrat_2Ehrat__sucint,type,
    c_2Ehrat_2Ehrat__sucint: $i ).

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

tff(stp_fo_c_2Ehrat_2Ehrat__sucint,type,
    fo__c_2Ehrat_2Ehrat__sucint: tp__ty_2Enum_2Enum > tp__ty_2Ehrat_2Ehrat ).

tff(stp_eq_fo_c_2Ehrat_2Ehrat__sucint,axiom,
    ! [X0: tp__ty_2Enum_2Enum] : ( inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__sucint(X0)) = ap(c_2Ehrat_2Ehrat__sucint,inj__ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Ehrat_2Etrat__1,type,
    c_2Ehrat_2Etrat__1: $i ).

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

tff(tp_c_2Ehrat_2Etrat__add,type,
    c_2Ehrat_2Etrat__add: $i ).

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

tff(tp_c_2Ehrat_2Etrat__eq,type,
    c_2Ehrat_2Etrat__eq: $i ).

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

tff(stp_fo_c_2Ehrat_2Etrat__eq,type,
    fo__c_2Ehrat_2Etrat__eq: ( tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum * tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum ) > tp__o ).

tff(stp_eq_fo_c_2Ehrat_2Etrat__eq,axiom,
    ! [X0: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,X1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( inj__o(fo__c_2Ehrat_2Etrat__eq(X0,X1)) = ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X0)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X1)) ) ).

tff(tp_c_2Ehrat_2Etrat__inv,type,
    c_2Ehrat_2Etrat__inv: $i ).

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

tff(tp_c_2Ehrat_2Etrat__mul,type,
    c_2Ehrat_2Etrat__mul: $i ).

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

tff(tp_c_2Ehrat_2Etrat__sucint,type,
    c_2Ehrat_2Etrat__sucint: $i ).

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

tff(ax_thm_2Ehrat_2Etrat__1,axiom,
    surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(c_2Ehrat_2Etrat__1) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ).

tff(ax_thm_2Ehrat_2Etrat__inv,axiom,
    ! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(c_2Ehrat_2Etrat__inv,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0x)),inj__ty_2Enum_2Enum(V1y)))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V1y)),inj__ty_2Enum_2Enum(V0x))) ) ).

tff(ax_thm_2Ehrat_2Etrat__add,axiom,
    ! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum,V2x_27: tp__ty_2Enum_2Enum,V3y_27: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__add,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0x)),inj__ty_2Enum_2Enum(V1y))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2x_27)),inj__ty_2Enum_2Enum(V3y_27)))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(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,inj__ty_2Enum_2Enum(V0x))),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V3y_27)))),ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V2x_27))),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1y)))))),ap(c_2Eprim__rec_2EPRE,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1y))),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V3y_27)))))) ) ).

tff(ax_thm_2Ehrat_2Etrat__mul,axiom,
    ! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum,V2x_27: tp__ty_2Enum_2Enum,V3y_27: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__mul,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0x)),inj__ty_2Enum_2Enum(V1y))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2x_27)),inj__ty_2Enum_2Enum(V3y_27)))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(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,inj__ty_2Enum_2Enum(V0x))),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V2x_27))))),ap(c_2Eprim__rec_2EPRE,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1y))),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V3y_27)))))) ) ).

tff(ax_thm_2Ehrat_2Etrat__sucint,axiom,
    ( ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(c_2Ehrat_2Etrat__1) )
    & ! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(c_2Ehrat_2Etrat__sucint,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V0n)))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__add,ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(V0n))),c_2Ehrat_2Etrat__1)) ) ) ).

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

tff(conj_thm_2Ehrat_2ETRAT__EQ__REFL,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p))) ).

tff(conj_thm_2Ehrat_2ETRAT__EQ__SYM,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))
    <=> p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__EQ__TRANS,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2r: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))
        & p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r))) )
     => p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__EQ__AP,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( ( V0p = V1q )
     => p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__ADD__SYM__EQ,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__SYM__EQ,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__INV__WELLDEFINED,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__inv,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p))),ap(c_2Ehrat_2Etrat__inv,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__ADD__WELLDEFINED,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2r: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r))),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r)))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__ADD__WELLDEFINED2,axiom,
    ! [V0p1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1p2: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2q1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V3q2: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p1)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1p2)))
        & p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2q1)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V3q2))) )
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p1)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2q1))),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1p2)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V3q2)))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__WELLDEFINED,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2r: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r))),ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r)))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__WELLDEFINED2,axiom,
    ! [V0p1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1p2: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2q1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V3q2: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p1)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1p2)))
        & p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2q1)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V3q2))) )
     => p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p1)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2q1))),ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1p2)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V3q2)))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__ADD__SYM,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)))) ).

tff(conj_thm_2Ehrat_2ETRAT__ADD__ASSOC,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2j: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2j)))),ap(ap(c_2Ehrat_2Etrat__add,ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2j)))) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__SYM,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))),ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)))) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__ASSOC,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2j: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2j)))),ap(ap(c_2Ehrat_2Etrat__mul,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2j)))) ).

tff(conj_thm_2Ehrat_2ETRAT__LDISTRIB,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V2j: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2j)))),ap(ap(c_2Ehrat_2Etrat__add,ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))),ap(ap(c_2Ehrat_2Etrat__mul,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2j))))) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__LID,axiom,
    ! [V0h: tp__c_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),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))) ).

tff(conj_thm_2Ehrat_2ETRAT__MUL__LINV,axiom,
    ! [V0h: tp__c_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,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))),c_2Ehrat_2Etrat__1)) ).

tff(conj_thm_2Ehrat_2ETRAT__NOZERO,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ~ p(ap(ap(c_2Ehrat_2Etrat__eq,ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i))),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h))) ).

tff(conj_thm_2Ehrat_2ETRAT__ADD__TOTAL,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1i: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)))
      | ? [V2d: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2d))))
      | ? [V3d: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1i)),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V3d)))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__SUCINT__0,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(V0n))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))) ).

tff(conj_thm_2Ehrat_2ETRAT__ARCH,axiom,
    ! [V0h: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
    ? [V1n: tp__ty_2Enum_2Enum,V2d: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(V1n))),ap(ap(c_2Ehrat_2Etrat__add,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0h)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2d)))) ).

tff(conj_thm_2Ehrat_2ETRAT__SUCINT,axiom,
    ( p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Ehrat_2Etrat__1))
    & ! [V0n: tp__ty_2Enum_2Enum] : p(ap(ap(c_2Ehrat_2Etrat__eq,ap(c_2Ehrat_2Etrat__sucint,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V0n)))),ap(ap(c_2Ehrat_2Etrat__add,ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(V0n))),c_2Ehrat_2Etrat__1))) ) ).

tff(conj_thm_2Ehrat_2ETRAT__EQ__EQUIV,axiom,
    ! [V0p: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,V1q: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)))
    <=> ( ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0p)) = ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V1q)) ) ) ).

tff(lamtp_f2275,type,
    f2275: $i > $i ).

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

tff(lamtp_f2276,type,
    f2276: $i ).

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

tff(ax_thm_2Ehrat_2Ehrat__TY__DEF,axiom,
    ? [V0rep: $i] :
      ( 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)) ) ).

tff(lamtp_f2277,type,
    f2277: $i > $i ).

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

tff(lamtp_f2278,type,
    f2278: $i ).

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

tff(ax_thm_2Ehrat_2Ehrat__bijections,axiom,
    ( ! [V0a: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS__CLASS,ap(c_2Ehrat_2Ehrat__REP__CLASS,inj__ty_2Ehrat_2Ehrat(V0a)))) = V0a )
    & ! [V1r: $i] :
        ( 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 ) ) ) ) ).

tff(conj_thm_2Ehrat_2Ehrat__ABS__REP__CLASS,axiom,
    ( ! [V0a: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS__CLASS,ap(c_2Ehrat_2Ehrat__REP__CLASS,inj__ty_2Ehrat_2Ehrat(V0a)))) = V0a )
    & ! [V1c: $i] :
        ( mem(V1c,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),bool))
       => ( ? [V2r: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] :
              ( p(ap(ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r)))
              & ( V1c = ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V2r)) ) )
        <=> ( ap(c_2Ehrat_2Ehrat__REP__CLASS,ap(c_2Ehrat_2Ehrat__ABS__CLASS,V1c)) = V1c ) ) ) ) ).

tff(ax_thm_2Ehrat_2Ehrat__REP__def,axiom,
    ! [V0a: tp__ty_2Ehrat_2Ehrat] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(c_2Ehrat_2Ehrat__REP,inj__ty_2Ehrat_2Ehrat(V0a))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(c_2Emin_2E_40(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)),ap(c_2Ehrat_2Ehrat__REP__CLASS,inj__ty_2Ehrat_2Ehrat(V0a)))) ) ).

tff(ax_thm_2Ehrat_2Ehrat__ABS__def,axiom,
    ! [V0r: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0r))) = surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS__CLASS,ap(c_2Ehrat_2Etrat__eq,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(V0r)))) ) ).

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

tff(ax_thm_2Ehrat_2Ehrat__1,axiom,
    fo__c_2Ehrat_2Ehrat__1 = surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS,c_2Ehrat_2Etrat__1)) ).

tff(ax_thm_2Ehrat_2Ehrat__inv,axiom,
    ! [V0T1: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__inv,inj__ty_2Ehrat_2Ehrat(V0T1))) = surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS,ap(c_2Ehrat_2Etrat__inv,ap(c_2Ehrat_2Ehrat__REP,inj__ty_2Ehrat_2Ehrat(V0T1))))) ) ).

tff(ax_thm_2Ehrat_2Ehrat__add,axiom,
    ! [V0T1: tp__ty_2Ehrat_2Ehrat,V1T2: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0T1)),inj__ty_2Ehrat_2Ehrat(V1T2))) = surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS,ap(ap(c_2Ehrat_2Etrat__add,ap(c_2Ehrat_2Ehrat__REP,inj__ty_2Ehrat_2Ehrat(V0T1))),ap(c_2Ehrat_2Ehrat__REP,inj__ty_2Ehrat_2Ehrat(V1T2))))) ) ).

tff(ax_thm_2Ehrat_2Ehrat__mul,axiom,
    ! [V0T1: tp__ty_2Ehrat_2Ehrat,V1T2: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0T1)),inj__ty_2Ehrat_2Ehrat(V1T2))) = surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS,ap(ap(c_2Ehrat_2Etrat__mul,ap(c_2Ehrat_2Ehrat__REP,inj__ty_2Ehrat_2Ehrat(V0T1))),ap(c_2Ehrat_2Ehrat__REP,inj__ty_2Ehrat_2Ehrat(V1T2))))) ) ).

tff(ax_thm_2Ehrat_2Ehrat__sucint,axiom,
    ! [V0T1: tp__ty_2Enum_2Enum] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__sucint,inj__ty_2Enum_2Enum(V0T1))) = surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__ABS,ap(c_2Ehrat_2Etrat__sucint,inj__ty_2Enum_2Enum(V0T1)))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__ADD__SYM,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V1i))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V1i)),inj__ty_2Ehrat_2Ehrat(V0h))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__ADD__ASSOC,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat,V2j: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0h)),ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V1i)),inj__ty_2Ehrat_2Ehrat(V2j)))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V1i))),inj__ty_2Ehrat_2Ehrat(V2j))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__MUL__SYM,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V1i))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V1i)),inj__ty_2Ehrat_2Ehrat(V0h))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__MUL__ASSOC,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat,V2j: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0h)),ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V1i)),inj__ty_2Ehrat_2Ehrat(V2j)))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V1i))),inj__ty_2Ehrat_2Ehrat(V2j))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__LDISTRIB,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat,V2j: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0h)),ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V1i)),inj__ty_2Ehrat_2Ehrat(V2j)))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V1i))),ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V2j)))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__MUL__LID,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__1)),inj__ty_2Ehrat_2Ehrat(V0h))) = V0h ) ).

tff(conj_thm_2Ehrat_2EHRAT__MUL__LINV,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__mul,ap(c_2Ehrat_2Ehrat__inv,inj__ty_2Ehrat_2Ehrat(V0h))),inj__ty_2Ehrat_2Ehrat(V0h))) = fo__c_2Ehrat_2Ehrat__1 ) ).

tff(conj_thm_2Ehrat_2EHRAT__NOZERO,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V1i))) != V0h ) ).

tff(conj_thm_2Ehrat_2EHRAT__ADD__TOTAL,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat,V1i: tp__ty_2Ehrat_2Ehrat] :
      ( ( V0h = V1i )
      | ? [V2d: tp__ty_2Ehrat_2Ehrat] : ( V0h = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V1i)),inj__ty_2Ehrat_2Ehrat(V2d))) )
      | ? [V3d: tp__ty_2Ehrat_2Ehrat] : ( V1i = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V3d))) ) ) ).

tff(conj_thm_2Ehrat_2EHRAT__ARCH,axiom,
    ! [V0h: tp__ty_2Ehrat_2Ehrat] :
    ? [V1n: tp__ty_2Enum_2Enum,V2d: tp__ty_2Ehrat_2Ehrat] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__sucint,inj__ty_2Enum_2Enum(V1n))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,inj__ty_2Ehrat_2Ehrat(V0h)),inj__ty_2Ehrat_2Ehrat(V2d))) ) ).

tff(conj_thm_2Ehrat_2EHRAT__SUCINT,axiom,
    ( ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__sucint,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) = fo__c_2Ehrat_2Ehrat__1 )
    & ! [V0n: tp__ty_2Enum_2Enum] : ( surj__ty_2Ehrat_2Ehrat(ap(c_2Ehrat_2Ehrat__sucint,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V0n)))) = surj__ty_2Ehrat_2Ehrat(ap(ap(c_2Ehrat_2Ehrat__add,ap(c_2Ehrat_2Ehrat__sucint,inj__ty_2Enum_2Enum(V0n))),inj__ty_2Ehrat_2Ehrat(fo__c_2Ehrat_2Ehrat__1))) ) ) ).

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