ITP001 Axioms: ITP058+5.ax


%------------------------------------------------------------------------------
% File     : ITP058+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    : wot+2.ax [Gau20]
%          : HL4058+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   30 (   0 unt;   0 def)
%            Number of atoms       :  102 (   6 equ)
%            Maximal formula atoms :   11 (   3 avg)
%            Number of connectives :   73 (   1   ~;   1   |;   9   &)
%                                         (   8 <=>;  54  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   16 (   5 avg)
%            Maximal term depth    :    5 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   33 (  33 usr;   1 con; 0-2 aty)
%            Number of variables   :   53 (  51   !;   2   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Ewot_2EStrongWellOrder,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Ewot_2EStrongWellOrder(A_27a),arr(arr(A_27a,arr(A_27a,bool)),bool)) ) ).

fof(mem_c_2Ewot_2EU,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2EU(A_27x),arr(arr(A_27x,bool),arr(arr(A_27x,bool),bool))) ) ).

fof(mem_c_2Ewot_2EWeakWellOrder,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Ewot_2EWeakWellOrder(A_27a),arr(arr(A_27a,arr(A_27a,bool)),bool)) ) ).

fof(mem_c_2Ewot_2Echain,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Echain(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ) ).

fof(mem_c_2Ewot_2Ecomparable,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Ecomparable(A_27x),arr(arr(A_27x,bool),bool)) ) ).

fof(mem_c_2Ewot_2Ecpl,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Ecpl(A_27x),arr(arr(A_27x,bool),arr(arr(A_27x,bool),bool))) ) ).

fof(mem_c_2Ewot_2Elub__sub,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Elub__sub(A_27x),arr(arr(arr(A_27x,bool),bool),arr(A_27x,bool))) ) ).

fof(mem_c_2Ewot_2Emex,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Emex(A_27x),arr(arr(A_27x,bool),A_27x)) ) ).

fof(mem_c_2Ewot_2Emex__less,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Emex__less(A_27x),arr(A_27x,arr(A_27x,bool))) ) ).

fof(mem_c_2Ewot_2Emex__less__eq,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Emex__less__eq(A_27x),arr(A_27x,arr(A_27x,bool))) ) ).

fof(mem_c_2Ewot_2Epreds,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Epreds(A_27x),arr(A_27x,arr(A_27x,bool))) ) ).

fof(mem_c_2Ewot_2Epreds__image,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Epreds__image(A_27x),arr(arr(A_27x,bool),arr(arr(A_27x,bool),bool))) ) ).

fof(mem_c_2Ewot_2Esetsuc,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Esetsuc(A_27x),arr(arr(A_27x,bool),arr(A_27x,bool))) ) ).

fof(mem_c_2Ewot_2Esuccl,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Esuccl(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ) ).

fof(mem_c_2Ewot_2Etower,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Etower(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ) ).

fof(mem_c_2Ewot_2Euncl,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => mem(c_2Ewot_2Euncl(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ) ).

fof(ax_thm_2Ewot_2Ecpl__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0A] :
          ( mem(V0A,arr(A_27x,bool))
         => ! [V1B] :
              ( mem(V1B,arr(A_27x,bool))
             => ( p(ap(ap(c_2Ewot_2Ecpl(A_27x),V0A),V1B))
              <=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27x),V0A),V1B))
                  | p(ap(ap(c_2Epred__set_2ESUBSET(A_27x),V1B),V0A)) ) ) ) ) ) ).

fof(ax_thm_2Ewot_2Echain__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0C] :
          ( mem(V0C,arr(arr(A_27x,bool),bool))
         => ( p(ap(c_2Ewot_2Echain(A_27x),V0C))
          <=> ! [V1a] :
                ( mem(V1a,arr(A_27x,bool))
               => ! [V2b] :
                    ( mem(V2b,arr(A_27x,bool))
                   => ( ( p(ap(ap(c_2Ebool_2EIN(arr(A_27x,bool)),V1a),V0C))
                        & p(ap(ap(c_2Ebool_2EIN(arr(A_27x,bool)),V2b),V0C)) )
                     => p(ap(ap(c_2Ewot_2Ecpl(A_27x),V1a),V2b)) ) ) ) ) ) ) ).

fof(ax_thm_2Ewot_2Emex__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0s] :
          ( mem(V0s,arr(A_27x,bool))
         => ap(c_2Ewot_2Emex(A_27x),V0s) = ap(c_2Epred__set_2ECHOICE(A_27x),ap(c_2Epred__set_2ECOMPL(A_27x),V0s)) ) ) ).

fof(ax_thm_2Ewot_2Esetsuc__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0s] :
          ( mem(V0s,arr(A_27x,bool))
         => ap(c_2Ewot_2Esetsuc(A_27x),V0s) = ap(ap(c_2Epred__set_2EINSERT(A_27x),ap(c_2Ewot_2Emex(A_27x),V0s)),V0s) ) ) ).

fof(ax_thm_2Ewot_2Esuccl__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0c] :
          ( mem(V0c,arr(arr(A_27x,bool),bool))
         => ( p(ap(c_2Ewot_2Esuccl(A_27x),V0c))
          <=> ! [V1s] :
                ( mem(V1s,arr(A_27x,bool))
               => ( p(ap(ap(c_2Ebool_2EIN(arr(A_27x,bool)),V1s),V0c))
                 => p(ap(ap(c_2Ebool_2EIN(arr(A_27x,bool)),ap(c_2Ewot_2Esetsuc(A_27x),V1s)),V0c)) ) ) ) ) ) ).

fof(ax_thm_2Ewot_2Euncl__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0c] :
          ( mem(V0c,arr(arr(A_27x,bool),bool))
         => ( p(ap(c_2Ewot_2Euncl(A_27x),V0c))
          <=> ! [V1w] :
                ( mem(V1w,arr(arr(A_27x,bool),bool))
               => ( ( p(ap(ap(c_2Epred__set_2ESUBSET(arr(A_27x,bool)),V1w),V0c))
                    & p(ap(c_2Ewot_2Echain(A_27x),V1w)) )
                 => p(ap(ap(c_2Ebool_2EIN(arr(A_27x,bool)),ap(c_2Epred__set_2EBIGUNION(A_27x),V1w)),V0c)) ) ) ) ) ) ).

fof(ax_thm_2Ewot_2Etower__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0A] :
          ( mem(V0A,arr(arr(A_27x,bool),bool))
         => ( p(ap(c_2Ewot_2Etower(A_27x),V0A))
          <=> ( p(ap(c_2Ewot_2Esuccl(A_27x),V0A))
              & p(ap(c_2Ewot_2Euncl(A_27x),V0A)) ) ) ) ) ).

fof(ax_thm_2Ewot_2Emex__less__eq__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0a] :
          ( mem(V0a,A_27x)
         => ! [V1b] :
              ( mem(V1b,A_27x)
             => ( p(ap(ap(c_2Ewot_2Emex__less__eq(A_27x),V0a),V1b))
              <=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27x),ap(c_2Ewot_2Epreds(A_27x),V0a)),ap(c_2Ewot_2Epreds(A_27x),V1b))) ) ) ) ) ).

fof(ax_thm_2Ewot_2Emex__less__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => c_2Ewot_2Emex__less(A_27x) = ap(c_2Erelation_2ESTRORD(A_27x),c_2Ewot_2Emex__less__eq(A_27x)) ) ).

fof(ax_thm_2Ewot_2EWeakWellOrder__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0R] :
          ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
         => ( p(ap(c_2Ewot_2EWeakWellOrder(A_27a),V0R))
          <=> ( p(ap(c_2Erelation_2EWeakOrder(A_27a),V0R))
              & ! [V1B] :
                  ( mem(V1B,arr(A_27a,bool))
                 => ( V1B != c_2Epred__set_2EEMPTY(A_27a)
                   => ? [V2m] :
                        ( mem(V2m,A_27a)
                        & p(ap(ap(c_2Ebool_2EIN(A_27a),V2m),V1B))
                        & ! [V3b] :
                            ( mem(V3b,A_27a)
                           => ( p(ap(ap(c_2Ebool_2EIN(A_27a),V3b),V1B))
                             => p(ap(ap(V0R,V2m),V3b)) ) ) ) ) ) ) ) ) ) ).

fof(lameq_f1151,axiom,
    ! [A_27x,V0X] :
      ( mem(V0X,arr(A_27x,bool))
     => ! [V1x] : ap(f1151(A_27x,V0X),V1x) = ap(ap(c_2Epair_2E_2C(arr(A_27x,bool),bool),ap(c_2Ewot_2Epreds(A_27x),V1x)),ap(ap(c_2Ebool_2EIN(A_27x),V1x),V0X)) ) ).

fof(ax_thm_2Ewot_2Epreds__image__def,axiom,
    ! [A_27x] :
      ( ne(A_27x)
     => ! [V0X] :
          ( mem(V0X,arr(A_27x,bool))
         => ap(c_2Ewot_2Epreds__image(A_27x),V0X) = ap(c_2Epred__set_2EGSPEC(arr(A_27x,bool),A_27x),f1151(A_27x,V0X)) ) ) ).

fof(ax_thm_2Ewot_2EStrongWellOrder__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0R] :
          ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
         => ( p(ap(c_2Ewot_2EStrongWellOrder(A_27a),V0R))
          <=> ( p(ap(c_2Erelation_2EStrongLinearOrder(A_27a),V0R))
              & p(ap(c_2Erelation_2EWF(A_27a),V0R)) ) ) ) ) ).

fof(conj_thm_2Ewot_2EStrongWellOrderExists,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ? [V0R] :
          ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
          & p(ap(c_2Erelation_2EStrongLinearOrder(A_27a),V0R))
          & p(ap(c_2Erelation_2EWF(A_27a),V0R)) ) ) ).

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