ITP001 Axioms: ITP029+5.ax


%------------------------------------------------------------------------------
% File     : ITP029+5 : TPTP v8.2.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    :    9 (   2 unt;   0 def)
%            Number of atoms       :   24 (   6 equ)
%            Maximal formula atoms :    6 (   2 avg)
%            Number of connectives :   15 (   0   ~;   0   |;   0   &)
%                                         (   0 <=>;  15  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   4 avg)
%            Maximal term depth    :   10 (   2 avg)
%            Number of predicates  :    3 (   2 usr;   0 prp; 1-2 aty)
%            Number of functors    :   26 (  26 usr;  11 con; 0-2 aty)
%            Number of variables   :   15 (  15   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

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

fof(lameq_f314,axiom,
    ! [V0s] :
      ( mem(V0s,arr(ty_2Enum_2Enum,bool))
     => ! [V1n] : ap(f314(V0s),V1n) = 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),c_2Enum_2E0)))) ) ).

fof(lameq_f315,axiom,
    ! [V0s] :
      ( mem(V0s,arr(ty_2Enum_2Enum,bool))
     => ! [V2d] :
          ( mem(V2d,ty_2Enum_2Enum)
         => ! [V3e] : ap(f315(V0s,V2d),V3e) = 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)) ) ) ).

fof(lameq_f316,axiom,
    ! [V0s] :
      ( mem(V0s,arr(ty_2Enum_2Enum,bool))
     => ! [V2d] : ap(f316(V0s),V2d) = ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,bool),V2d),ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f315(V0s,V2d))) ) ).

fof(ax_thm_2Egcdset_2Egcdset__def,axiom,
    ! [V0s] :
      ( mem(V0s,arr(ty_2Enum_2Enum,bool))
     => ap(c_2Egcdset_2Egcdset,V0s) = 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),c_2Enum_2E0),c_2Epred__set_2EEMPTY(ty_2Enum_2Enum))))),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),f314(V0s))),ap(c_2Epred__set_2EGSPEC(ty_2Enum_2Enum,ty_2Enum_2Enum),f316(V0s))))) ) ).

fof(conj_thm_2Egcdset_2Egcdset__divides,axiom,
    ! [V0s] :
      ( mem(V0s,arr(ty_2Enum_2Enum,bool))
     => ! [V1e] :
          ( mem(V1e,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Ebool_2EIN(ty_2Enum_2Enum),V1e),V0s))
           => p(ap(ap(c_2Edivides_2Edivides,ap(c_2Egcdset_2Egcdset,V0s)),V1e)) ) ) ) ).

fof(conj_thm_2Egcdset_2Egcdset__greatest,axiom,
    ! [V0s] :
      ( mem(V0s,arr(ty_2Enum_2Enum,bool))
     => ! [V1g] :
          ( mem(V1g,ty_2Enum_2Enum)
         => ( ! [V2e] :
                ( mem(V2e,ty_2Enum_2Enum)
               => ( p(ap(ap(c_2Ebool_2EIN(ty_2Enum_2Enum),V2e),V0s))
                 => p(ap(ap(c_2Edivides_2Edivides,V1g),V2e)) ) )
           => p(ap(ap(c_2Edivides_2Edivides,V1g),ap(c_2Egcdset_2Egcdset,V0s))) ) ) ) ).

fof(conj_thm_2Egcdset_2Egcdset__EMPTY,axiom,
    ap(c_2Egcdset_2Egcdset,c_2Epred__set_2EEMPTY(ty_2Enum_2Enum)) = c_2Enum_2E0 ).

fof(conj_thm_2Egcdset_2Egcdset__INSERT,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1s] :
          ( mem(V1s,arr(ty_2Enum_2Enum,bool))
         => ap(c_2Egcdset_2Egcdset,ap(ap(c_2Epred__set_2EINSERT(ty_2Enum_2Enum),V0x),V1s)) = ap(ap(c_2Egcd_2Egcd,V0x),ap(c_2Egcdset_2Egcdset,V1s)) ) ) ).

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