ITP001 Axioms: ITP069_5.ax
%------------------------------------------------------------------------------
% File : ITP069_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 : primeFactor_2.ax [Gau20]
% : HL4069_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 14 ( 3 unt; 2 typ; 0 def)
% Number of atoms : 297 ( 12 equ)
% Maximal formula atoms : 11 ( 21 avg)
% Number of connectives : 34 ( 0 ~; 0 |; 16 &)
% ( 0 <=>; 18 =>; 0 <=; 0 <~>)
% Maximal formula depth : 14 ( 6 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 251 ( 251 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 2 ( 1 >; 1 *; 0 +; 0 <<)
% Number of predicates : 24 ( 23 usr; 12 prp; 0-2 aty)
% Number of functors : 2 ( 2 usr; 1 con; 0-2 aty)
% Number of variables : 24 ( 23 !; 1 ?; 24 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2EprimeFactor_2EPRIME__FACTORS,type,
c_2EprimeFactor_2EPRIME__FACTORS: $i ).
tff(mem_c_2EprimeFactor_2EPRIME__FACTORS,axiom,
mem(c_2EprimeFactor_2EPRIME__FACTORS,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
tff(stp_fo_c_2EprimeFactor_2EPRIME__FACTORS,type,
fo__c_2EprimeFactor_2EPRIME__FACTORS: ( tp__ty_2Enum_2Enum * tp__ty_2Enum_2Enum ) > tp__ty_2Enum_2Enum ).
tff(stp_eq_fo_c_2EprimeFactor_2EPRIME__FACTORS,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2EprimeFactor_2EPRIME__FACTORS(X0,X1)) = ap(ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(X0)),inj__ty_2Enum_2Enum(X1)) ) ).
tff(conj_thm_2EprimeFactor_2EPRIME__FACTORS__EXIST,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n)))
=> ? [V1b: $i] :
( mem(V1b,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
& p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V1b))
& ! [V2m: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2m)),V1b))
=> p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V2m))) )
& ( V0n = surj__ty_2Enum_2Enum(ap(ap(c_2Ebag_2EBAG__GEN__PROD,V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) ) ) ) ).
tff(ax_thm_2EprimeFactor_2EPRIME__FACTORS__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n)))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V0n))))
& ! [V1m: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V1m)),ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V0n))))
=> p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V1m))) )
& ( V0n = surj__ty_2Enum_2Enum(ap(ap(c_2Ebag_2EBAG__GEN__PROD,ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V0n))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) ) ) ) ).
tff(conj_thm_2EprimeFactor_2EUNIQUE__PRIME__FACTORS,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1b1: $i] :
( mem(V1b1,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
=> ! [V2b2: $i] :
( mem(V2b2,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
=> ( ( p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V1b1))
& ! [V3m: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V3m)),V1b1))
=> p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V3m))) )
& ( V0n = surj__ty_2Enum_2Enum(ap(ap(c_2Ebag_2EBAG__GEN__PROD,V1b1),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
& p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V2b2))
& ! [V4m: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V4m)),V2b2))
=> p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V4m))) )
& ( V0n = surj__ty_2Enum_2Enum(ap(ap(c_2Ebag_2EBAG__GEN__PROD,V2b2),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) ) )
=> ( V1b1 = V2b2 ) ) ) ) ).
tff(conj_thm_2EprimeFactor_2EPRIME__FACTORIZATION,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n)))
=> ! [V1b: $i] :
( mem(V1b,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
=> ( ( p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V1b))
& ! [V2x: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2x)),V1b))
=> p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V2x))) )
& ( surj__ty_2Enum_2Enum(ap(ap(c_2Ebag_2EBAG__GEN__PROD,V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) = V0n ) )
=> ( V1b = ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V0n)) ) ) ) ) ).
tff(conj_thm_2EprimeFactor_2EPRIME__FACTORS__1,axiom,
ap(c_2EprimeFactor_2EPRIME__FACTORS,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) = c_2Ebag_2EEMPTY__BAG(ty_2Enum_2Enum) ).
tff(conj_thm_2EprimeFactor_2EPRIME__FACTOR__DIVIDES,axiom,
! [V0x: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V1n)))
& p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0x)),ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V1n)))) )
=> p(ap(ap(c_2Edivides_2Edivides,inj__ty_2Enum_2Enum(V0x)),inj__ty_2Enum_2Enum(V1n))) ) ).
tff(conj_thm_2EprimeFactor_2EDIVISOR__IN__PRIME__FACTORS,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V1n)))
& p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V0p)))
& p(ap(ap(c_2Edivides_2Edivides,inj__ty_2Enum_2Enum(V0p)),inj__ty_2Enum_2Enum(V1n))) )
=> p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0p)),ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V1n)))) ) ).
tff(conj_thm_2EprimeFactor_2EPRIME__FACTORS__MULT,axiom,
! [V0a: tp__ty_2Enum_2Enum,V1b: tp__ty_2Enum_2Enum] :
( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0a)))
& p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V1b))) )
=> ( ap(c_2EprimeFactor_2EPRIME__FACTORS,ap(ap(c_2Earithmetic_2E_2A,inj__ty_2Enum_2Enum(V0a)),inj__ty_2Enum_2Enum(V1b))) = ap(ap(c_2Ebag_2EBAG__UNION(ty_2Enum_2Enum),ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V0a))),ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V1b))) ) ) ).
tff(conj_thm_2EprimeFactor_2EFACTORS__prime,axiom,
! [V0p: tp__ty_2Enum_2Enum] :
( p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V0p)))
=> ( ap(c_2EprimeFactor_2EPRIME__FACTORS,inj__ty_2Enum_2Enum(V0p)) = ap(ap(c_2Ebag_2EBAG__INSERT(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0p)),c_2Ebag_2EEMPTY__BAG(ty_2Enum_2Enum)) ) ) ).
tff(conj_thm_2EprimeFactor_2EPRIME__FACTORS__EXP,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1e: tp__ty_2Enum_2Enum] :
( p(ap(c_2Edivides_2Eprime,inj__ty_2Enum_2Enum(V0p)))
=> ( surj__ty_2Enum_2Enum(ap(ap(c_2EprimeFactor_2EPRIME__FACTORS,ap(ap(c_2Earithmetic_2EEXP,inj__ty_2Enum_2Enum(V0p)),inj__ty_2Enum_2Enum(V1e))),inj__ty_2Enum_2Enum(V0p))) = V1e ) ) ).
%------------------------------------------------------------------------------