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) ) ) ).
%------------------------------------------------------------------------------