ITP001 Axioms: ITP023+5.ax
%------------------------------------------------------------------------------
% File : ITP023+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 : gcd+2.ax [Gau20]
% : HL4023+5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 44 ( 3 unt; 0 def)
% Number of atoms : 240 ( 47 equ)
% Maximal formula atoms : 18 ( 5 avg)
% Number of connectives : 202 ( 6 ~; 4 |; 50 &)
% ( 3 <=>; 139 =>; 0 <=; 0 <~>)
% Maximal formula depth : 14 ( 7 avg)
% Maximal term depth : 11 ( 2 avg)
% Number of predicates : 3 ( 2 usr; 0 prp; 1-2 aty)
% Number of functors : 27 ( 27 usr; 23 con; 0-2 aty)
% Number of variables : 118 ( 114 !; 4 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Egcd_2Egcd,axiom,
mem(c_2Egcd_2Egcd,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
fof(mem_c_2Egcd_2Eis__gcd,axiom,
mem(c_2Egcd_2Eis__gcd,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))) ).
fof(mem_c_2Egcd_2Elcm,axiom,
mem(c_2Egcd_2Elcm,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
fof(ax_thm_2Egcd_2Eis__gcd__def,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ! [V2c] :
( mem(V2c,ty_2Enum_2Enum)
=> ( p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),V2c))
<=> ( p(ap(ap(c_2Edivides_2Edivides,V2c),V0a))
& p(ap(ap(c_2Edivides_2Edivides,V2c),V1b))
& ! [V3d] :
( mem(V3d,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Edivides_2Edivides,V3d),V0a))
& p(ap(ap(c_2Edivides_2Edivides,V3d),V1b)) )
=> p(ap(ap(c_2Edivides_2Edivides,V3d),V2c)) ) ) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__UNIQUE,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ! [V2c] :
( mem(V2c,ty_2Enum_2Enum)
=> ! [V3d] :
( mem(V3d,ty_2Enum_2Enum)
=> ( ( p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),V2c))
& p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),V3d)) )
=> V2c = V3d ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__REF,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V0a),V0a)) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__SYM,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ! [V2c] :
( mem(V2c,ty_2Enum_2Enum)
=> ( p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),V2c))
<=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,V1b),V0a),V2c)) ) ) ) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__0R,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),c_2Enum_2E0),V0a)) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__0L,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,c_2Enum_2E0),V0a),V0a)) ) ).
fof(conj_thm_2Egcd_2EPRIME__IS__GCD,axiom,
! [V0p] :
( mem(V0p,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ( p(ap(c_2Edivides_2Eprime,V0p))
=> ( p(ap(ap(c_2Edivides_2Edivides,V0p),V1b))
| p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0p),V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ) ) ) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__MINUS__L,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ! [V2c] :
( mem(V2c,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V1b),V0a))
& p(ap(ap(ap(c_2Egcd_2Eis__gcd,ap(ap(c_2Earithmetic_2E_2D,V0a),V1b)),V1b),V2c)) )
=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),V2c)) ) ) ) ) ).
fof(conj_thm_2Egcd_2EIS__GCD__MINUS__R,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ! [V2c] :
( mem(V2c,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V0a),V1b))
& p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),ap(ap(c_2Earithmetic_2E_2D,V1b),V0a)),V2c)) )
=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),V2c)) ) ) ) ) ).
fof(conj_thm_2Egcd_2Egcd__ind,axiom,
! [V0P] :
( mem(V0P,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ( ( ! [V1y] :
( mem(V1y,ty_2Enum_2Enum)
=> p(ap(ap(V0P,c_2Enum_2E0),V1y)) )
& ! [V2x] :
( mem(V2x,ty_2Enum_2Enum)
=> p(ap(ap(V0P,ap(c_2Enum_2ESUC,V2x)),c_2Enum_2E0)) )
& ! [V3x] :
( mem(V3x,ty_2Enum_2Enum)
=> ! [V4y] :
( mem(V4y,ty_2Enum_2Enum)
=> ( ( ( ~ p(ap(ap(c_2Earithmetic_2E_3C_3D,V4y),V3x))
=> p(ap(ap(V0P,ap(c_2Enum_2ESUC,V3x)),ap(ap(c_2Earithmetic_2E_2D,V4y),V3x))) )
& ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V4y),V3x))
=> p(ap(ap(V0P,ap(ap(c_2Earithmetic_2E_2D,V3x),V4y)),ap(c_2Enum_2ESUC,V4y))) ) )
=> p(ap(ap(V0P,ap(c_2Enum_2ESUC,V3x)),ap(c_2Enum_2ESUC,V4y))) ) ) ) )
=> ! [V5v] :
( mem(V5v,ty_2Enum_2Enum)
=> ! [V6v1] :
( mem(V6v1,ty_2Enum_2Enum)
=> p(ap(ap(V0P,V5v),V6v1)) ) ) ) ) ).
fof(conj_thm_2Egcd_2Egcd__def,axiom,
( ! [V0y] :
( mem(V0y,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,c_2Enum_2E0),V0y) = V0y )
& ! [V1x] :
( mem(V1x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Enum_2ESUC,V1x)),c_2Enum_2E0) = ap(c_2Enum_2ESUC,V1x) )
& ! [V2y] :
( mem(V2y,ty_2Enum_2Enum)
=> ! [V3x] :
( mem(V3x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Enum_2ESUC,V3x)),ap(c_2Enum_2ESUC,V2y)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_3C_3D,V2y),V3x)),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2D,V3x),V2y)),ap(c_2Enum_2ESUC,V2y))),ap(ap(c_2Egcd_2Egcd,ap(c_2Enum_2ESUC,V3x)),ap(ap(c_2Earithmetic_2E_2D,V2y),V3x))) ) ) ) ).
fof(conj_thm_2Egcd_2Egcd__def__compute,axiom,
( ! [V0y] :
( mem(V0y,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,c_2Enum_2E0),V0y) = V0y )
& ! [V1x] :
( mem(V1x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1x))),c_2Enum_2E0) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1x)) )
& ! [V2x] :
( mem(V2x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V2x))),c_2Enum_2E0) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V2x)) )
& ! [V3y] :
( mem(V3y,ty_2Enum_2Enum)
=> ! [V4x] :
( mem(V4x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V4x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3y))) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_3C_3D,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V4x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2D,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V4x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3y)))),ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V4x))),ap(ap(c_2Earithmetic_2E_2D,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V4x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) )
& ! [V5y] :
( mem(V5y,ty_2Enum_2Enum)
=> ! [V6x] :
( mem(V6x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V6x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V5y))) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_3C_3D,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V5y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V6x)))),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V6x))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V5y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V5y)))),ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V6x))),ap(ap(c_2Earithmetic_2E_2D,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V5y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V6x))))) ) )
& ! [V7y] :
( mem(V7y,ty_2Enum_2Enum)
=> ! [V8x] :
( mem(V8x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V8x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V7y))) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V7y))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V8x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2D,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V8x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V7y)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V7y)))),ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V8x))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V7y))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V8x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) )
& ! [V9y] :
( mem(V9y,ty_2Enum_2Enum)
=> ! [V10x] :
( mem(V10x,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V10x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V9y))) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V9y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V10x)))),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V10x))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V9y)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V9y)))),ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V10x))),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V9y))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V10x))))) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__IS__GCD,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> p(ap(ap(ap(c_2Egcd_2Eis__gcd,V0a),V1b),ap(ap(c_2Egcd_2Egcd,V0a),V1b))) ) ) ).
fof(conj_thm_2Egcd_2EGCD__IS__GREATEST__COMMON__DIVISOR,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Edivides_2Edivides,ap(ap(c_2Egcd_2Egcd,V0a),V1b)),V0a))
& p(ap(ap(c_2Edivides_2Edivides,ap(ap(c_2Egcd_2Egcd,V0a),V1b)),V1b))
& ! [V2d] :
( mem(V2d,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Edivides_2Edivides,V2d),V0a))
& p(ap(ap(c_2Edivides_2Edivides,V2d),V1b)) )
=> p(ap(ap(c_2Edivides_2Edivides,V2d),ap(ap(c_2Egcd_2Egcd,V0a),V1b))) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__REF,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V0a),V0a) = V0a ) ).
fof(conj_thm_2Egcd_2EGCD__SYM,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V0a),V1b) = ap(ap(c_2Egcd_2Egcd,V1b),V0a) ) ) ).
fof(conj_thm_2Egcd_2EGCD__0R,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V0a),c_2Enum_2E0) = V0a ) ).
fof(conj_thm_2Egcd_2EGCD__0L,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,c_2Enum_2E0),V0a) = V0a ) ).
fof(conj_thm_2Egcd_2EGCD__ADD__R,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V0a),ap(ap(c_2Earithmetic_2E_2B,V0a),V1b)) = ap(ap(c_2Egcd_2Egcd,V0a),V1b) ) ) ).
fof(conj_thm_2Egcd_2EGCD__ADD__R__THM,axiom,
( ! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V0a),ap(ap(c_2Earithmetic_2E_2B,V0a),V1b)) = ap(ap(c_2Egcd_2Egcd,V0a),V1b) ) )
& ! [V2a] :
( mem(V2a,ty_2Enum_2Enum)
=> ! [V3b] :
( mem(V3b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V2a),ap(ap(c_2Earithmetic_2E_2B,V3b),V2a)) = ap(ap(c_2Egcd_2Egcd,V2a),V3b) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__ADD__L,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2B,V0a),V1b)),V0a) = ap(ap(c_2Egcd_2Egcd,V0a),V1b) ) ) ).
fof(conj_thm_2Egcd_2EGCD__ADD__L__THM,axiom,
( ! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2B,V0a),V1b)),V0a) = ap(ap(c_2Egcd_2Egcd,V0a),V1b) ) )
& ! [V2a] :
( mem(V2a,ty_2Enum_2Enum)
=> ! [V3b] :
( mem(V3b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2B,V3b),V2a)),V2a) = ap(ap(c_2Egcd_2Egcd,V2a),V3b) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__EQ__0,axiom,
! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ! [V1m] :
( mem(V1m,ty_2Enum_2Enum)
=> ( ap(ap(c_2Egcd_2Egcd,V0n),V1m) = c_2Enum_2E0
<=> ( V0n = c_2Enum_2E0
& V1m = c_2Enum_2E0 ) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__1,axiom,
! [V0x] :
( mem(V0x,ty_2Enum_2Enum)
=> ( ap(ap(c_2Egcd_2Egcd,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0x) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
& ap(ap(c_2Egcd_2Egcd,V0x),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)) ) ) ).
fof(conj_thm_2Egcd_2EPRIME__GCD,axiom,
! [V0p] :
( mem(V0p,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ( p(ap(c_2Edivides_2Eprime,V0p))
=> ( p(ap(ap(c_2Edivides_2Edivides,V0p),V1b))
| ap(ap(c_2Egcd_2Egcd,V0p),V1b) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)) ) ) ) ) ).
fof(conj_thm_2Egcd_2EL__EUCLIDES,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ! [V2c] :
( mem(V2c,ty_2Enum_2Enum)
=> ( ( ap(ap(c_2Egcd_2Egcd,V0a),V1b) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
& p(ap(ap(c_2Edivides_2Edivides,V1b),ap(ap(c_2Earithmetic_2E_2A,V0a),V2c))) )
=> p(ap(ap(c_2Edivides_2Edivides,V1b),V2c)) ) ) ) ) ).
fof(conj_thm_2Egcd_2EP__EUCLIDES,axiom,
! [V0p] :
( mem(V0p,ty_2Enum_2Enum)
=> ! [V1a] :
( mem(V1a,ty_2Enum_2Enum)
=> ! [V2b] :
( mem(V2b,ty_2Enum_2Enum)
=> ( ( p(ap(c_2Edivides_2Eprime,V0p))
& p(ap(ap(c_2Edivides_2Edivides,V0p),ap(ap(c_2Earithmetic_2E_2A,V1a),V2b))) )
=> ( p(ap(ap(c_2Edivides_2Edivides,V0p),V1a))
| p(ap(ap(c_2Edivides_2Edivides,V0p),V2b)) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EFACTOR__OUT__GCD,axiom,
! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ! [V1m] :
( mem(V1m,ty_2Enum_2Enum)
=> ( ( V0n != c_2Enum_2E0
& V1m != c_2Enum_2E0 )
=> ? [V2p] :
( mem(V2p,ty_2Enum_2Enum)
& ? [V3q] :
( mem(V3q,ty_2Enum_2Enum)
& V0n = ap(ap(c_2Earithmetic_2E_2A,V2p),ap(ap(c_2Egcd_2Egcd,V0n),V1m))
& V1m = ap(ap(c_2Earithmetic_2E_2A,V3q),ap(ap(c_2Egcd_2Egcd,V0n),V1m))
& ap(ap(c_2Egcd_2Egcd,V2p),V3q) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__SUCfree__ind,axiom,
! [V0P] :
( mem(V0P,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ( ( ! [V1y] :
( mem(V1y,ty_2Enum_2Enum)
=> p(ap(ap(V0P,c_2Enum_2E0),V1y)) )
& ! [V2x] :
( mem(V2x,ty_2Enum_2Enum)
=> ! [V3y] :
( mem(V3y,ty_2Enum_2Enum)
=> ( p(ap(ap(V0P,V2x),V3y))
=> p(ap(ap(V0P,V3y),V2x)) ) ) )
& ! [V4x] :
( mem(V4x,ty_2Enum_2Enum)
=> p(ap(ap(V0P,V4x),V4x)) )
& ! [V5x] :
( mem(V5x,ty_2Enum_2Enum)
=> ! [V6y] :
( mem(V6y,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V5x))
& p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V6y))
& p(ap(ap(V0P,V5x),V6y)) )
=> p(ap(ap(V0P,V5x),ap(ap(c_2Earithmetic_2E_2B,V5x),V6y))) ) ) ) )
=> ! [V7m] :
( mem(V7m,ty_2Enum_2Enum)
=> ! [V8n] :
( mem(V8n,ty_2Enum_2Enum)
=> p(ap(ap(V0P,V7m),V8n)) ) ) ) ) ).
fof(conj_thm_2Egcd_2ELINEAR__GCD,axiom,
! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ! [V1m] :
( mem(V1m,ty_2Enum_2Enum)
=> ( V0n != c_2Enum_2E0
=> ? [V2p] :
( mem(V2p,ty_2Enum_2Enum)
& ? [V3q] :
( mem(V3q,ty_2Enum_2Enum)
& ap(ap(c_2Earithmetic_2E_2A,V2p),V0n) = ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,V3q),V1m)),ap(ap(c_2Egcd_2Egcd,V1m),V0n)) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__EFFICIENTLY,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,V0a),V1b) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V0a),c_2Enum_2E0)),V1b),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2EMOD,V1b),V0a)),V0a)) ) ) ).
fof(ax_thm_2Egcd_2Elcm__def,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Elcm,V0m),V1n) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Ebool_2E_5C_2F,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V0m),c_2Enum_2E0)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V1n),c_2Enum_2E0))),c_2Enum_2E0),ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2A,V0m),V1n)),ap(ap(c_2Egcd_2Egcd,V0m),V1n))) ) ) ).
fof(conj_thm_2Egcd_2ELCM__IS__LEAST__COMMON__MULTIPLE,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Edivides_2Edivides,V0m),ap(ap(c_2Egcd_2Elcm,V0m),V1n)))
& p(ap(ap(c_2Edivides_2Edivides,V1n),ap(ap(c_2Egcd_2Elcm,V0m),V1n)))
& ! [V2p] :
( mem(V2p,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Edivides_2Edivides,V0m),V2p))
& p(ap(ap(c_2Edivides_2Edivides,V1n),V2p)) )
=> p(ap(ap(c_2Edivides_2Edivides,ap(ap(c_2Egcd_2Elcm,V0m),V1n)),V2p)) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2ELCM__0,axiom,
! [V0x] :
( mem(V0x,ty_2Enum_2Enum)
=> ( ap(ap(c_2Egcd_2Elcm,c_2Enum_2E0),V0x) = c_2Enum_2E0
& ap(ap(c_2Egcd_2Elcm,V0x),c_2Enum_2E0) = c_2Enum_2E0 ) ) ).
fof(conj_thm_2Egcd_2ELCM__1,axiom,
! [V0x] :
( mem(V0x,ty_2Enum_2Enum)
=> ( ap(ap(c_2Egcd_2Elcm,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0x) = V0x
& ap(ap(c_2Egcd_2Elcm,V0x),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) = V0x ) ) ).
fof(conj_thm_2Egcd_2ELCM__COMM,axiom,
! [V0a] :
( mem(V0a,ty_2Enum_2Enum)
=> ! [V1b] :
( mem(V1b,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Elcm,V0a),V1b) = ap(ap(c_2Egcd_2Elcm,V1b),V0a) ) ) ).
fof(conj_thm_2Egcd_2ELCM__LE,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0m))
& p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V1n)) )
=> ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V0m),ap(ap(c_2Egcd_2Elcm,V0m),V1n)))
& p(ap(ap(c_2Earithmetic_2E_3C_3D,V0m),ap(ap(c_2Egcd_2Elcm,V1n),V0m))) ) ) ) ) ).
fof(conj_thm_2Egcd_2ELCM__LEAST,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0m))
& p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V1n)) )
=> ! [V2p] :
( mem(V2p,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V2p))
& p(ap(ap(c_2Eprim__rec_2E_3C,V2p),ap(ap(c_2Egcd_2Elcm,V0m),V1n))) )
=> ( ~ p(ap(ap(c_2Edivides_2Edivides,V0m),V2p))
| ~ p(ap(ap(c_2Edivides_2Edivides,V1n),V2p)) ) ) ) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__COMMON__FACTOR,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ! [V2k] :
( mem(V2k,ty_2Enum_2Enum)
=> ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2E_2A,V2k),V0m)),ap(ap(c_2Earithmetic_2E_2A,V2k),V1n)) = ap(ap(c_2Earithmetic_2E_2A,V2k),ap(ap(c_2Egcd_2Egcd,V0m),V1n)) ) ) ) ).
fof(conj_thm_2Egcd_2EGCD__CANCEL__MULT,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ! [V2k] :
( mem(V2k,ty_2Enum_2Enum)
=> ( ap(ap(c_2Egcd_2Egcd,V0m),V2k) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
=> ap(ap(c_2Egcd_2Egcd,V0m),ap(ap(c_2Earithmetic_2E_2A,V2k),V1n)) = ap(ap(c_2Egcd_2Egcd,V0m),V1n) ) ) ) ) ).
fof(conj_thm_2Egcd_2EBINARY__GCD,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ( ( ( p(ap(c_2Earithmetic_2EEVEN,V0m))
& p(ap(c_2Earithmetic_2EEVEN,V1n)) )
=> ap(ap(c_2Egcd_2Egcd,V0m),V1n) = ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2EDIV,V0m),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2EDIV,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) )
& ( ( p(ap(c_2Earithmetic_2EEVEN,V0m))
& p(ap(c_2Earithmetic_2EODD,V1n)) )
=> ap(ap(c_2Egcd_2Egcd,V0m),V1n) = ap(ap(c_2Egcd_2Egcd,ap(ap(c_2Earithmetic_2EDIV,V0m),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V1n) ) ) ) ) ).
%------------------------------------------------------------------------------