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    :   11 (   2 unt;   0 def)
%            Number of atoms       :   63 (  11 equ)
%            Maximal formula atoms :   14 (   5 avg)
%            Number of connectives :   52 (   0   ~;   0   |;  16   &)
%                                         (   0 <=>;  36  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   16 (   7 avg)
%            Maximal term depth    :    5 (   2 avg)
%            Number of predicates  :    3 (   2 usr;   0 prp; 1-2 aty)
%            Number of functors    :   19 (  19 usr;  12 con; 0-2 aty)
%            Number of variables   :   22 (  21   !;   1   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2EprimeFactor_2EPRIME__FACTORS,axiom,
    mem(c_2EprimeFactor_2EPRIME__FACTORS,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(conj_thm_2EprimeFactor_2EPRIME__FACTORS__EXIST,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0n))
       => ? [V1b] :
            ( mem(V1b,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
            & p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V1b))
            & ! [V2m] :
                ( mem(V2m,ty_2Enum_2Enum)
               => ( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V2m),V1b))
                 => p(ap(c_2Edivides_2Eprime,V2m)) ) )
            & V0n = ap(ap(c_2Ebag_2EBAG__GEN__PROD,V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) ) ) ) ).

fof(ax_thm_2EprimeFactor_2EPRIME__FACTORS__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0n))
       => ( p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),ap(c_2EprimeFactor_2EPRIME__FACTORS,V0n)))
          & ! [V1m] :
              ( mem(V1m,ty_2Enum_2Enum)
             => ( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V1m),ap(c_2EprimeFactor_2EPRIME__FACTORS,V0n)))
               => p(ap(c_2Edivides_2Eprime,V1m)) ) )
          & V0n = ap(ap(c_2Ebag_2EBAG__GEN__PROD,ap(c_2EprimeFactor_2EPRIME__FACTORS,V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) ) ) ) ).

fof(conj_thm_2EprimeFactor_2EUNIQUE__PRIME__FACTORS,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1b1] :
          ( mem(V1b1,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
         => ! [V2b2] :
              ( mem(V2b2,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
             => ( ( p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V1b1))
                  & ! [V3m] :
                      ( mem(V3m,ty_2Enum_2Enum)
                     => ( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V3m),V1b1))
                       => p(ap(c_2Edivides_2Eprime,V3m)) ) )
                  & V0n = ap(ap(c_2Ebag_2EBAG__GEN__PROD,V1b1),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
                  & p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V2b2))
                  & ! [V4m] :
                      ( mem(V4m,ty_2Enum_2Enum)
                     => ( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V4m),V2b2))
                       => p(ap(c_2Edivides_2Eprime,V4m)) ) )
                  & V0n = ap(ap(c_2Ebag_2EBAG__GEN__PROD,V2b2),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) )
               => V1b1 = V2b2 ) ) ) ) ).

fof(conj_thm_2EprimeFactor_2EPRIME__FACTORIZATION,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0n))
       => ! [V1b] :
            ( mem(V1b,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
           => ( ( p(ap(c_2Ebag_2EFINITE__BAG(ty_2Enum_2Enum),V1b))
                & ! [V2x] :
                    ( mem(V2x,ty_2Enum_2Enum)
                   => ( p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V2x),V1b))
                     => p(ap(c_2Edivides_2Eprime,V2x)) ) )
                & ap(ap(c_2Ebag_2EBAG__GEN__PROD,V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) = V0n )
             => V1b = ap(c_2EprimeFactor_2EPRIME__FACTORS,V0n) ) ) ) ) ).

fof(conj_thm_2EprimeFactor_2EPRIME__FACTORS__1,axiom,
    ap(c_2EprimeFactor_2EPRIME__FACTORS,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) = c_2Ebag_2EEMPTY__BAG(ty_2Enum_2Enum) ).

fof(conj_thm_2EprimeFactor_2EPRIME__FACTOR__DIVIDES,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V1n))
              & p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V0x),ap(c_2EprimeFactor_2EPRIME__FACTORS,V1n))) )
           => p(ap(ap(c_2Edivides_2Edivides,V0x),V1n)) ) ) ) ).

fof(conj_thm_2EprimeFactor_2EDIVISOR__IN__PRIME__FACTORS,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V1n))
              & p(ap(c_2Edivides_2Eprime,V0p))
              & p(ap(ap(c_2Edivides_2Edivides,V0p),V1n)) )
           => p(ap(ap(c_2Ebag_2EBAG__IN(ty_2Enum_2Enum),V0p),ap(c_2EprimeFactor_2EPRIME__FACTORS,V1n))) ) ) ) ).

fof(conj_thm_2EprimeFactor_2EPRIME__FACTORS__MULT,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2Enum_2Enum)
     => ! [V1b] :
          ( mem(V1b,ty_2Enum_2Enum)
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0a))
              & p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V1b)) )
           => ap(c_2EprimeFactor_2EPRIME__FACTORS,ap(ap(c_2Earithmetic_2E_2A,V0a),V1b)) = ap(ap(c_2Ebag_2EBAG__UNION(ty_2Enum_2Enum),ap(c_2EprimeFactor_2EPRIME__FACTORS,V0a)),ap(c_2EprimeFactor_2EPRIME__FACTORS,V1b)) ) ) ) ).

fof(conj_thm_2EprimeFactor_2EFACTORS__prime,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ( p(ap(c_2Edivides_2Eprime,V0p))
       => ap(c_2EprimeFactor_2EPRIME__FACTORS,V0p) = ap(ap(c_2Ebag_2EBAG__INSERT(ty_2Enum_2Enum),V0p),c_2Ebag_2EEMPTY__BAG(ty_2Enum_2Enum)) ) ) ).

fof(conj_thm_2EprimeFactor_2EPRIME__FACTORS__EXP,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ! [V1e] :
          ( mem(V1e,ty_2Enum_2Enum)
         => ( p(ap(c_2Edivides_2Eprime,V0p))
           => ap(ap(c_2EprimeFactor_2EPRIME__FACTORS,ap(ap(c_2Earithmetic_2EEXP,V0p),V1e)),V0p) = V1e ) ) ) ).

%------------------------------------------------------------------------------