ITP001 Axioms: ITP119+5.ax
%------------------------------------------------------------------------------
% File : ITP119+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 : intExtension+2.ax [Gau20]
% : HL4119+5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 28 ( 2 unt; 0 def)
% Number of atoms : 114 ( 40 equ)
% Maximal formula atoms : 9 ( 4 avg)
% Number of connectives : 102 ( 16 ~; 5 |; 5 &)
% ( 9 <=>; 67 =>; 0 <=; 0 <~>)
% Maximal formula depth : 11 ( 6 avg)
% Maximal term depth : 8 ( 2 avg)
% Number of predicates : 3 ( 2 usr; 0 prp; 1-2 aty)
% Number of functors : 18 ( 18 usr; 14 con; 0-2 aty)
% Number of variables : 41 ( 41 !; 0 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2EintExtension_2ESGN,axiom,
mem(c_2EintExtension_2ESGN,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint)) ).
fof(ax_thm_2EintExtension_2ESGN__def,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ap(c_2EintExtension_2ESGN,V0x) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Einteger_2Eint),V0x),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Einteger_2Eint__lt,V0x),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))),ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ) ).
fof(conj_thm_2EintExtension_2EABS__EQ__MUL__SGN,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ap(c_2Einteger_2EABS,V0x) = ap(ap(c_2Einteger_2Eint__mul,V0x),ap(c_2EintExtension_2ESGN,V0x)) ) ).
fof(conj_thm_2EintExtension_2EMUL__ABS__SGN,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ap(ap(c_2Einteger_2Eint__mul,ap(c_2Einteger_2EABS,V0x)),ap(c_2EintExtension_2ESGN,V0x)) = V0x ) ).
fof(conj_thm_2EintExtension_2EINT__MUL__POS__SIGN,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ! [V1b] :
( mem(V1b,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0a))
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V1b))
=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(ap(c_2Einteger_2Eint__mul,V0a),V1b))) ) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__NE__IMP__LTGT,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ( V0x != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
<=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0x))
| p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__NOTGT__IMP__EQLT,axiom,
! [V0n] :
( mem(V0n,ty_2Einteger_2Eint)
=> ( ~ p(ap(ap(c_2Einteger_2Eint__lt,V0n),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)))
<=> ( ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) = V0n
| p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0n)) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__NO__ZERODIV,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ! [V1y] :
( mem(V1y,ty_2Einteger_2Eint)
=> ( ( V0x = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
| V1y = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) )
<=> ap(ap(c_2Einteger_2Eint__mul,V0x),V1y) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__NOTPOS0__NEG,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ( ~ p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0a))
=> ( V0a != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(c_2Einteger_2Eint__neg,V0a))) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__NOT0__MUL,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ! [V1b] :
( mem(V1b,ty_2Einteger_2Eint)
=> ( V0a != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> ( V1b != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> ap(ap(c_2Einteger_2Eint__mul,V0a),V1b) != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__GT0__IMP__NOT0,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0a))
=> V0a != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ).
fof(conj_thm_2EintExtension_2EINT__NOTLTEQ__GT,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ( ~ p(ap(ap(c_2Einteger_2Eint__lt,V0a),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)))
=> ( V0a != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0a)) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__ABS__NOT0POS,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ( V0x != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),ap(c_2Einteger_2EABS,V0x))) ) ) ).
fof(conj_thm_2EintExtension_2EINT__SGN__NOTPOSNEG,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ( ap(c_2EintExtension_2ESGN,V0x) != ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))
=> ( ap(c_2EintExtension_2ESGN,V0x) != ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
=> ap(c_2EintExtension_2ESGN,V0x) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ) ).
fof(conj_thm_2EintExtension_2ELESS__IMP__NOT__0,axiom,
! [V0n] :
( mem(V0n,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0n))
=> V0n != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ).
fof(conj_thm_2EintExtension_2EINT__EQ__RMUL__EXP,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ! [V1b] :
( mem(V1b,ty_2Einteger_2Eint)
=> ! [V2n] :
( mem(V2n,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2n))
=> ( V0a = V1b
<=> ap(ap(c_2Einteger_2Eint__mul,V0a),V2n) = ap(ap(c_2Einteger_2Eint__mul,V1b),V2n) ) ) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__LT__RMUL__EXP,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ! [V1b] :
( mem(V1b,ty_2Einteger_2Eint)
=> ! [V2n] :
( mem(V2n,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2n))
=> ( p(ap(ap(c_2Einteger_2Eint__lt,V0a),V1b))
<=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__mul,V0a),V2n)),ap(ap(c_2Einteger_2Eint__mul,V1b),V2n))) ) ) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__GT__RMUL__EXP,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ! [V1b] :
( mem(V1b,ty_2Einteger_2Eint)
=> ! [V2n] :
( mem(V2n,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V2n))
=> ( p(ap(ap(c_2Einteger_2Eint__gt,V0a),V1b))
<=> p(ap(ap(c_2Einteger_2Eint__gt,ap(ap(c_2Einteger_2Eint__mul,V0a),V2n)),ap(ap(c_2Einteger_2Eint__mul,V1b),V2n))) ) ) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__ABS__CALCULATE__NEG,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,V0a),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)))
=> ap(c_2Einteger_2EABS,V0a) = ap(c_2Einteger_2Eint__neg,V0a) ) ) ).
fof(conj_thm_2EintExtension_2EINT__ABS__CALCULATE__0,axiom,
ap(c_2Einteger_2EABS,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ).
fof(conj_thm_2EintExtension_2EINT__ABS__CALCULATE__POS,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)),V0a))
=> ap(c_2Einteger_2EABS,V0a) = V0a ) ) ).
fof(conj_thm_2EintExtension_2EINT__NOT0__SGNNOT0,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ( V0x != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> ap(c_2EintExtension_2ESGN,V0x) != ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) ) ) ).
fof(conj_thm_2EintExtension_2EINT__SGN__CLAUSES,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ( ( ap(c_2EintExtension_2ESGN,V0x) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))
<=> p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) )
& ( ap(c_2EintExtension_2ESGN,V0x) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
<=> V0x = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0) )
& ( ap(c_2EintExtension_2ESGN,V0x) = ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
<=> p(ap(ap(c_2Einteger_2Eint__gt,V0x),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__SGN__MUL,axiom,
! [V0x1] :
( mem(V0x1,ty_2Einteger_2Eint)
=> ! [V1x2] :
( mem(V1x2,ty_2Einteger_2Eint)
=> ! [V2y1] :
( mem(V2y1,ty_2Einteger_2Eint)
=> ! [V3y2] :
( mem(V3y2,ty_2Einteger_2Eint)
=> ( ap(c_2EintExtension_2ESGN,V0x1) = V2y1
=> ( ap(c_2EintExtension_2ESGN,V1x2) = V3y2
=> ap(c_2EintExtension_2ESGN,ap(ap(c_2Einteger_2Eint__mul,V0x1),V1x2)) = ap(ap(c_2Einteger_2Eint__mul,V2y1),V3y2) ) ) ) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__SGN__MUL2,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ! [V1y] :
( mem(V1y,ty_2Einteger_2Eint)
=> ap(c_2EintExtension_2ESGN,ap(ap(c_2Einteger_2Eint__mul,V0x),V1y)) = ap(ap(c_2Einteger_2Eint__mul,ap(c_2EintExtension_2ESGN,V0x)),ap(c_2EintExtension_2ESGN,V1y)) ) ) ).
fof(conj_thm_2EintExtension_2EINT__SGN__TOTAL,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ( ap(c_2EintExtension_2ESGN,V0a) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))
| ap(c_2EintExtension_2ESGN,V0a) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
| ap(c_2EintExtension_2ESGN,V0a) = ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) ) ) ).
fof(conj_thm_2EintExtension_2EINT__SGN__CASES,axiom,
! [V0a] :
( mem(V0a,ty_2Einteger_2Eint)
=> ! [V1P] :
( mem(V1P,bool)
=> ( ( ( ap(c_2EintExtension_2ESGN,V0a) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))
=> p(V1P) )
& ( ap(c_2EintExtension_2ESGN,V0a) = ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)
=> p(V1P) )
& ( ap(c_2EintExtension_2ESGN,V0a) = ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
=> p(V1P) ) )
=> p(V1P) ) ) ) ).
fof(conj_thm_2EintExtension_2EINT__LT__ADD__NEG,axiom,
! [V0x] :
( mem(V0x,ty_2Einteger_2Eint)
=> ! [V1y] :
( mem(V1y,ty_2Einteger_2Eint)
=> ( ( p(ap(ap(c_2Einteger_2Eint__lt,V0x),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0)))
& p(ap(ap(c_2Einteger_2Eint__lt,V1y),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) )
=> p(ap(ap(c_2Einteger_2Eint__lt,ap(ap(c_2Einteger_2Eint__add,V0x),V1y)),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))) ) ) ) ).
%------------------------------------------------------------------------------