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 ( 2 unt; 2 typ; 0 def)
% Number of atoms : 297 ( 12 equ; 0 cnn)
% Maximal formula atoms : 39 ( 21 avg)
% Number of connectives : 346 ( 0 ~; 0 |; 16 &; 312 @)
% ( 0 <=>; 18 =>; 0 <=; 0 <~>)
% Maximal formula depth : 20 ( 10 avg; 312 nst)
% Number of types : 1 ( 0 usr)
% Number of type conns : 2 ( 2 >; 0 *; 0 +; 0 <<)
% Number of symbols : 26 ( 25 usr; 24 con; 0-2 aty)
% Number of variables : 24 ( 0 ^ 23 !; 1 ?; 24 :)
% SPC : TH0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2EprimeFactor_2EPRIME__FACTORS,type,
c_2EprimeFactor_2EPRIME__FACTORS: $i ).
thf(mem_c_2EprimeFactor_2EPRIME__FACTORS,axiom,
mem @ c_2EprimeFactor_2EPRIME__FACTORS @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(stp_fo_c_2EprimeFactor_2EPRIME__FACTORS,type,
fo__c_2EprimeFactor_2EPRIME__FACTORS: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(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 ) ) ) ).
thf(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 ) ) ) ) ) ) ) ) ).
thf(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 ) ) ) ) ) ) ) ) ).
thf(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 ) ) ) ) ).
thf(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 ) ) ) ) ) ) ).
thf(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 ) ) ).
thf(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 ) ) ) ) ).
thf(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 ) ) ) ) ) ).
thf(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 ) ) ) ) ) ).
thf(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 ) ) ) ) ).
thf(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 ) ) ).
%------------------------------------------------------------------------------