ITP001 Axioms: ITP029^5.ax


%------------------------------------------------------------------------------
% File     : ITP029^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    : gcdset^2.ax [Gau20]
%          : HL4029^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :    7 (   1 unt;   1 typ;   0 def)
%            Number of atoms       :  162 (   3 equ;   0 cnn)
%            Maximal formula atoms :   22 (  23 avg)
%            Number of connectives :  186 (   0   ~;   0   |;   0   &; 179   @)
%                                         (   0 <=>;   7  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   7 avg; 179 nst)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   30 (  29 usr;  29 con; 0-2 aty)
%            Number of variables   :   11 (   3   ^   8   !;   0   ?;  11   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Egcdset_2Egcdset,type,
    c_2Egcdset_2Egcdset: $i ).

thf(mem_c_2Egcdset_2Egcdset,axiom,
    mem @ c_2Egcdset_2Egcdset @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ty_2Enum_2Enum ) ).

thf(ax_thm_2Egcdset_2Egcdset__def,axiom,
    ! [V0s: $i] :
      ( ( mem @ V0s @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Egcdset_2Egcdset @ V0s ) )
        = ( surj__ty_2Enum_2Enum
          @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Ebool_2E_5C_2F @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( arr @ ty_2Enum_2Enum @ bool ) ) @ V0s ) @ ( c_2Epred__set_2EEMPTY @ ty_2Enum_2Enum ) ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( arr @ ty_2Enum_2Enum @ bool ) ) @ V0s ) @ ( ap @ ( ap @ ( c_2Epred__set_2EINSERT @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( c_2Epred__set_2EEMPTY @ ty_2Enum_2Enum ) ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
            @ ( ap @ c_2Epred__set_2EMAX__SET
              @ ( ap
                @ ( ap @ ( c_2Epred__set_2EINTER @ ty_2Enum_2Enum )
                  @ ( ap @ ( c_2Epred__set_2EGSPEC @ ty_2Enum_2Enum @ ty_2Enum_2Enum )
                    @ ( lam @ ty_2Enum_2Enum
                      @ ^ [V1n: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ bool ) @ V1n ) @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ V1n ) @ ( ap @ c_2Epred__set_2EMIN__SET @ ( ap @ ( ap @ ( c_2Epred__set_2EDELETE @ ty_2Enum_2Enum ) @ V0s ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ) ) )
                @ ( ap @ ( c_2Epred__set_2EGSPEC @ ty_2Enum_2Enum @ ty_2Enum_2Enum )
                  @ ( lam @ ty_2Enum_2Enum
                    @ ^ [V2d: $i] :
                        ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ bool ) @ V2d )
                        @ ( ap @ ( c_2Ebool_2E_21 @ ty_2Enum_2Enum )
                          @ ( lam @ ty_2Enum_2Enum
                            @ ^ [V3e: $i] : ( ap @ ( ap @ c_2Emin_2E_3D_3D_3E @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ty_2Enum_2Enum ) @ V3e ) @ V0s ) ) @ ( ap @ ( ap @ c_2Edivides_2Edivides @ V2d ) @ V3e ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Egcdset_2Egcdset__divides,axiom,
    ! [V0s: $i] :
      ( ( mem @ V0s @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ! [V1e: tp__ty_2Enum_2Enum] :
          ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V1e ) ) @ V0s ) )
         => ( p @ ( ap @ ( ap @ c_2Edivides_2Edivides @ ( ap @ c_2Egcdset_2Egcdset @ V0s ) ) @ ( inj__ty_2Enum_2Enum @ V1e ) ) ) ) ) ).

thf(conj_thm_2Egcdset_2Egcdset__greatest,axiom,
    ! [V0s: $i] :
      ( ( mem @ V0s @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ! [V1g: tp__ty_2Enum_2Enum] :
          ( ! [V2e: tp__ty_2Enum_2Enum] :
              ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2e ) ) @ V0s ) )
             => ( p @ ( ap @ ( ap @ c_2Edivides_2Edivides @ ( inj__ty_2Enum_2Enum @ V1g ) ) @ ( inj__ty_2Enum_2Enum @ V2e ) ) ) )
         => ( p @ ( ap @ ( ap @ c_2Edivides_2Edivides @ ( inj__ty_2Enum_2Enum @ V1g ) ) @ ( ap @ c_2Egcdset_2Egcdset @ V0s ) ) ) ) ) ).

thf(conj_thm_2Egcdset_2Egcdset__EMPTY,axiom,
    ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Egcdset_2Egcdset @ ( c_2Epred__set_2EEMPTY @ ty_2Enum_2Enum ) ) )
    = fo__c_2Enum_2E0 ) ).

thf(conj_thm_2Egcdset_2Egcdset__INSERT,axiom,
    ! [V0x: tp__ty_2Enum_2Enum,V1s: $i] :
      ( ( mem @ V1s @ ( arr @ ty_2Enum_2Enum @ bool ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Egcdset_2Egcdset @ ( ap @ ( ap @ ( c_2Epred__set_2EINSERT @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ V1s ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Egcd_2Egcd @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( ap @ c_2Egcdset_2Egcdset @ V1s ) ) ) ) ) ).

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