ITP001 Axioms: ITP120+5.ax
%------------------------------------------------------------------------------
% File : ITP120+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 : intreal+2.ax [Gau20]
% : HL4120+5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 28 ( 4 unt; 0 def)
% Number of atoms : 88 ( 28 equ)
% Maximal formula atoms : 12 ( 3 avg)
% Number of connectives : 60 ( 0 ~; 0 |; 12 &)
% ( 6 <=>; 42 =>; 0 <=; 0 <~>)
% Maximal formula depth : 10 ( 4 avg)
% Maximal term depth : 8 ( 2 avg)
% Number of predicates : 3 ( 2 usr; 0 prp; 1-2 aty)
% Number of functors : 40 ( 40 usr; 32 con; 0-2 aty)
% Number of variables : 42 ( 42 !; 0 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Eintreal_2EINT__CEILING,axiom,
mem(c_2Eintreal_2EINT__CEILING,arr(ty_2Erealax_2Ereal,ty_2Einteger_2Eint)) ).
fof(mem_c_2Eintreal_2EINT__FLOOR,axiom,
mem(c_2Eintreal_2EINT__FLOOR,arr(ty_2Erealax_2Ereal,ty_2Einteger_2Eint)) ).
fof(mem_c_2Eintreal_2Eis__int,axiom,
mem(c_2Eintreal_2Eis__int,arr(ty_2Erealax_2Ereal,bool)) ).
fof(mem_c_2Eintreal_2Ereal__of__int,axiom,
mem(c_2Eintreal_2Ereal__of__int,arr(ty_2Einteger_2Eint,ty_2Erealax_2Ereal)) ).
fof(ax_thm_2Eintreal_2Ereal__of__int,axiom,
! [V0i] :
( mem(V0i,ty_2Einteger_2Eint)
=> ap(c_2Eintreal_2Ereal__of__int,V0i) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Erealax_2Ereal),ap(ap(c_2Einteger_2Eint__lt,V0i),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))),ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,ap(c_2Einteger_2ENum,ap(c_2Einteger_2Eint__neg,V0i))))),ap(c_2Ereal_2Ereal__of__num,ap(c_2Einteger_2ENum,V0i))) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__def,axiom,
! [V0i] :
( mem(V0i,ty_2Einteger_2Eint)
=> ap(c_2Eintreal_2Ereal__of__int,V0i) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Erealax_2Ereal),ap(ap(c_2Einteger_2Eint__lt,V0i),ap(c_2Einteger_2Eint__of__num,c_2Enum_2E0))),ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,ap(c_2Einteger_2ENum,ap(c_2Einteger_2Eint__neg,V0i))))),ap(c_2Ereal_2Ereal__of__num,ap(c_2Einteger_2ENum,V0i))) ) ).
fof(lameq_f2741,axiom,
! [V0x] :
( mem(V0x,ty_2Erealax_2Ereal)
=> ! [V1i] : ap(f2741(V0x),V1i) = ap(ap(c_2Erealax_2Ereal__lt,V0x),ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__add,V1i),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) ).
fof(ax_thm_2Eintreal_2EINT__FLOOR__def,axiom,
! [V0x] :
( mem(V0x,ty_2Erealax_2Ereal)
=> ap(c_2Eintreal_2EINT__FLOOR,V0x) = ap(c_2Einteger_2ELEAST__INT,f2741(V0x)) ) ).
fof(lameq_f2742,axiom,
! [V0x] :
( mem(V0x,ty_2Erealax_2Ereal)
=> ! [V1i] : ap(f2742(V0x),V1i) = ap(ap(c_2Ereal_2Ereal__lte,V0x),ap(c_2Eintreal_2Ereal__of__int,V1i)) ) ).
fof(ax_thm_2Eintreal_2EINT__CEILING__def,axiom,
! [V0x] :
( mem(V0x,ty_2Erealax_2Ereal)
=> ap(c_2Eintreal_2EINT__CEILING,V0x) = ap(c_2Einteger_2ELEAST__INT,f2742(V0x)) ) ).
fof(ax_thm_2Eintreal_2Eis__int__def,axiom,
! [V0x] :
( mem(V0x,ty_2Erealax_2Ereal)
=> ( p(ap(c_2Eintreal_2Eis__int,V0x))
<=> V0x = ap(c_2Eintreal_2Ereal__of__int,ap(c_2Eintreal_2EINT__FLOOR,V0x)) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__monotonic,axiom,
! [V0i] :
( mem(V0i,ty_2Einteger_2Eint)
=> ! [V1j] :
( mem(V1j,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Einteger_2Eint__lt,V0i),V1j))
=> p(ap(ap(c_2Erealax_2Ereal__lt,ap(c_2Eintreal_2Ereal__of__int,V0i)),ap(c_2Eintreal_2Ereal__of__int,V1j))) ) ) ) ).
fof(conj_thm_2Eintreal_2EINT__FLOOR__BOUNDS,axiom,
! [V0r] :
( mem(V0r,ty_2Erealax_2Ereal)
=> ( p(ap(ap(c_2Ereal_2Ereal__lte,ap(c_2Eintreal_2Ereal__of__int,ap(c_2Eintreal_2EINT__FLOOR,V0r))),V0r))
& p(ap(ap(c_2Erealax_2Ereal__lt,V0r),ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__add,ap(c_2Eintreal_2EINT__FLOOR,V0r)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))) ) ) ).
fof(conj_thm_2Eintreal_2EINT__FLOOR,axiom,
! [V0r] :
( mem(V0r,ty_2Erealax_2Ereal)
=> ! [V1i] :
( mem(V1i,ty_2Einteger_2Eint)
=> ( ap(c_2Eintreal_2EINT__FLOOR,V0r) = V1i
<=> ( p(ap(ap(c_2Ereal_2Ereal__lte,ap(c_2Eintreal_2Ereal__of__int,V1i)),V0r))
& p(ap(ap(c_2Erealax_2Ereal__lt,V0r),ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__add,V1i),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))) ) ) ) ) ).
fof(lameq_f2743,axiom,
! [V0r] :
( mem(V0r,ty_2Erealax_2Ereal)
=> ! [V1i] : ap(f2743(V0r),V1i) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),ap(ap(c_2Emin_2E_3D(ty_2Erealax_2Ereal),ap(c_2Eintreal_2Ereal__of__int,V1i)),V0r)),V1i),ap(ap(c_2Einteger_2Eint__add,V1i),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ) ).
fof(conj_thm_2Eintreal_2EINT__CEILING__INT__FLOOR,axiom,
! [V0r] :
( mem(V0r,ty_2Erealax_2Ereal)
=> ap(c_2Eintreal_2EINT__CEILING,V0r) = ap(ap(c_2Ebool_2ELET(ty_2Einteger_2Eint,ty_2Einteger_2Eint),f2743(V0r)),ap(c_2Eintreal_2EINT__FLOOR,V0r)) ) ).
fof(conj_thm_2Eintreal_2EINT__CEILING__BOUNDS,axiom,
! [V0r] :
( mem(V0r,ty_2Erealax_2Ereal)
=> ( p(ap(ap(c_2Erealax_2Ereal__lt,ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__sub,ap(c_2Eintreal_2EINT__CEILING,V0r)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))),V0r))
& p(ap(ap(c_2Ereal_2Ereal__lte,V0r),ap(c_2Eintreal_2Ereal__of__int,ap(c_2Eintreal_2EINT__CEILING,V0r)))) ) ) ).
fof(conj_thm_2Eintreal_2EINT__CEILING,axiom,
! [V0r] :
( mem(V0r,ty_2Erealax_2Ereal)
=> ! [V1i] :
( mem(V1i,ty_2Einteger_2Eint)
=> ( ap(c_2Eintreal_2EINT__CEILING,V0r) = V1i
<=> ( p(ap(ap(c_2Erealax_2Ereal__lt,ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__sub,V1i),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))),V0r))
& p(ap(ap(c_2Ereal_2Ereal__lte,V0r),ap(c_2Eintreal_2Ereal__of__int,V1i))) ) ) ) ) ).
fof(conj_thm_2Eintreal_2EINT__FLOOR__EQNS,axiom,
( ! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ap(c_2Eintreal_2EINT__FLOOR,ap(c_2Ereal_2Ereal__of__num,V0n)) = ap(c_2Einteger_2Eint__of__num,V0n) )
& ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ap(c_2Eintreal_2EINT__FLOOR,ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,V1n))) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V1n)) )
& ! [V2n] :
( mem(V2n,ty_2Enum_2Enum)
=> ! [V3m] :
( mem(V3m,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V3m))
=> ap(c_2Eintreal_2EINT__FLOOR,ap(ap(c_2Ereal_2E_2F,ap(c_2Ereal_2Ereal__of__num,V2n)),ap(c_2Ereal_2Ereal__of__num,V3m))) = ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V2n)),ap(c_2Einteger_2Eint__of__num,V3m)) ) ) )
& ! [V4n] :
( mem(V4n,ty_2Enum_2Enum)
=> ! [V5m] :
( mem(V5m,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V5m))
=> ap(c_2Eintreal_2EINT__FLOOR,ap(ap(c_2Ereal_2E_2F,ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,V4n))),ap(c_2Ereal_2Ereal__of__num,V5m))) = ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V4n))),ap(c_2Einteger_2Eint__of__num,V5m)) ) ) ) ) ).
fof(conj_thm_2Eintreal_2EINT__FLOOR__compute,axiom,
! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ! [V1m] :
( mem(V1m,ty_2Enum_2Enum)
=> ( ap(c_2Eintreal_2EINT__FLOOR,ap(c_2Ereal_2Ereal__of__num,V0n)) = ap(c_2Einteger_2Eint__of__num,V0n)
& ap(c_2Eintreal_2EINT__FLOOR,ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,V0n))) = ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V0n))
& ap(c_2Eintreal_2EINT__FLOOR,ap(ap(c_2Ereal_2E_2F,ap(c_2Ereal_2Ereal__of__num,V0n)),ap(c_2Ereal_2Ereal__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))))) = ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))))
& ap(c_2Eintreal_2EINT__FLOOR,ap(ap(c_2Ereal_2E_2F,ap(c_2Ereal_2Ereal__of__num,V0n)),ap(c_2Ereal_2Ereal__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1m))))) = ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__of__num,V0n)),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1m))))
& ap(c_2Eintreal_2EINT__FLOOR,ap(ap(c_2Ereal_2E_2F,ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,V0n))),ap(c_2Ereal_2Ereal__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))))) = ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V0n))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))))
& ap(c_2Eintreal_2EINT__FLOOR,ap(ap(c_2Ereal_2E_2F,ap(c_2Erealax_2Ereal__neg,ap(c_2Ereal_2Ereal__of__num,V0n))),ap(c_2Ereal_2Ereal__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1m))))) = ap(ap(c_2Einteger_2Eint__div,ap(c_2Einteger_2Eint__neg,ap(c_2Einteger_2Eint__of__num,V0n))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1m)))) ) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__num,axiom,
! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ap(c_2Eintreal_2Ereal__of__int,ap(c_2Einteger_2Eint__of__num,V0n)) = ap(c_2Ereal_2Ereal__of__num,V0n) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__add,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ! [V1n] :
( mem(V1n,ty_2Einteger_2Eint)
=> ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__add,V0m),V1n)) = ap(ap(c_2Erealax_2Ereal__add,ap(c_2Eintreal_2Ereal__of__int,V0m)),ap(c_2Eintreal_2Ereal__of__int,V1n)) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__neg,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ap(c_2Eintreal_2Ereal__of__int,ap(c_2Einteger_2Eint__neg,V0m)) = ap(c_2Erealax_2Ereal__neg,ap(c_2Eintreal_2Ereal__of__int,V0m)) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__sub,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ! [V1n] :
( mem(V1n,ty_2Einteger_2Eint)
=> ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__sub,V0m),V1n)) = ap(ap(c_2Ereal_2Ereal__sub,ap(c_2Eintreal_2Ereal__of__int,V0m)),ap(c_2Eintreal_2Ereal__of__int,V1n)) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__mul,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ! [V1n] :
( mem(V1n,ty_2Einteger_2Eint)
=> ap(c_2Eintreal_2Ereal__of__int,ap(ap(c_2Einteger_2Eint__mul,V0m),V1n)) = ap(ap(c_2Erealax_2Ereal__mul,ap(c_2Eintreal_2Ereal__of__int,V0m)),ap(c_2Eintreal_2Ereal__of__int,V1n)) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__lt,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ! [V1n] :
( mem(V1n,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Erealax_2Ereal__lt,ap(c_2Eintreal_2Ereal__of__int,V0m)),ap(c_2Eintreal_2Ereal__of__int,V1n)))
<=> p(ap(ap(c_2Einteger_2Eint__lt,V0m),V1n)) ) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__11,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ! [V1n] :
( mem(V1n,ty_2Einteger_2Eint)
=> ( ap(c_2Eintreal_2Ereal__of__int,V0m) = ap(c_2Eintreal_2Ereal__of__int,V1n)
<=> V0m = V1n ) ) ) ).
fof(conj_thm_2Eintreal_2Ereal__of__int__le,axiom,
! [V0m] :
( mem(V0m,ty_2Einteger_2Eint)
=> ! [V1n] :
( mem(V1n,ty_2Einteger_2Eint)
=> ( p(ap(ap(c_2Ereal_2Ereal__lte,ap(c_2Eintreal_2Ereal__of__int,V0m)),ap(c_2Eintreal_2Ereal__of__int,V1n)))
<=> p(ap(ap(c_2Einteger_2Eint__le,V0m),V1n)) ) ) ) ).
%------------------------------------------------------------------------------