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    :   47 (  17 unt;  17 typ;   0 def)
%            Number of atoms       :  311 (   6 equ)
%            Maximal formula atoms :   10 (   6 avg)
%            Number of connectives :   44 (   1   ~;   1   |;   9   &)
%                                         (   8 <=>;  25  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   4 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       :  238 ( 238 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   18 (  17   >;   1   *;   0   +;   0  <<)
%            Number of predicates  :   20 (  19 usr;   2 prp; 0-2 aty)
%            Number of functors    :   17 (  17 usr;   0 con; 1-2 aty)
%            Number of variables   :   53 (  51   !;   2   ?;  53   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Ewot_2EStrongWellOrder,type,
    c_2Ewot_2EStrongWellOrder: del > $i ).

tff(mem_c_2Ewot_2EStrongWellOrder,axiom,
    ! [A_27a: del] : mem(c_2Ewot_2EStrongWellOrder(A_27a),arr(arr(A_27a,arr(A_27a,bool)),bool)) ).

tff(tp_c_2Ewot_2EU,type,
    c_2Ewot_2EU: del > $i ).

tff(mem_c_2Ewot_2EU,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2EU(A_27x),arr(arr(A_27x,bool),arr(arr(A_27x,bool),bool))) ).

tff(tp_c_2Ewot_2EWeakWellOrder,type,
    c_2Ewot_2EWeakWellOrder: del > $i ).

tff(mem_c_2Ewot_2EWeakWellOrder,axiom,
    ! [A_27a: del] : mem(c_2Ewot_2EWeakWellOrder(A_27a),arr(arr(A_27a,arr(A_27a,bool)),bool)) ).

tff(tp_c_2Ewot_2Echain,type,
    c_2Ewot_2Echain: del > $i ).

tff(mem_c_2Ewot_2Echain,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Echain(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ).

tff(tp_c_2Ewot_2Ecomparable,type,
    c_2Ewot_2Ecomparable: del > $i ).

tff(mem_c_2Ewot_2Ecomparable,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Ecomparable(A_27x),arr(arr(A_27x,bool),bool)) ).

tff(tp_c_2Ewot_2Ecpl,type,
    c_2Ewot_2Ecpl: del > $i ).

tff(mem_c_2Ewot_2Ecpl,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Ecpl(A_27x),arr(arr(A_27x,bool),arr(arr(A_27x,bool),bool))) ).

tff(tp_c_2Ewot_2Elub__sub,type,
    c_2Ewot_2Elub__sub: del > $i ).

tff(mem_c_2Ewot_2Elub__sub,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Elub__sub(A_27x),arr(arr(arr(A_27x,bool),bool),arr(A_27x,bool))) ).

tff(tp_c_2Ewot_2Emex,type,
    c_2Ewot_2Emex: del > $i ).

tff(mem_c_2Ewot_2Emex,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Emex(A_27x),arr(arr(A_27x,bool),A_27x)) ).

tff(tp_c_2Ewot_2Emex__less,type,
    c_2Ewot_2Emex__less: del > $i ).

tff(mem_c_2Ewot_2Emex__less,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Emex__less(A_27x),arr(A_27x,arr(A_27x,bool))) ).

tff(tp_c_2Ewot_2Emex__less__eq,type,
    c_2Ewot_2Emex__less__eq: del > $i ).

tff(mem_c_2Ewot_2Emex__less__eq,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Emex__less__eq(A_27x),arr(A_27x,arr(A_27x,bool))) ).

tff(tp_c_2Ewot_2Epreds,type,
    c_2Ewot_2Epreds: del > $i ).

tff(mem_c_2Ewot_2Epreds,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Epreds(A_27x),arr(A_27x,arr(A_27x,bool))) ).

tff(tp_c_2Ewot_2Epreds__image,type,
    c_2Ewot_2Epreds__image: del > $i ).

tff(mem_c_2Ewot_2Epreds__image,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Epreds__image(A_27x),arr(arr(A_27x,bool),arr(arr(A_27x,bool),bool))) ).

tff(tp_c_2Ewot_2Esetsuc,type,
    c_2Ewot_2Esetsuc: del > $i ).

tff(mem_c_2Ewot_2Esetsuc,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Esetsuc(A_27x),arr(arr(A_27x,bool),arr(A_27x,bool))) ).

tff(tp_c_2Ewot_2Esuccl,type,
    c_2Ewot_2Esuccl: del > $i ).

tff(mem_c_2Ewot_2Esuccl,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Esuccl(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ).

tff(tp_c_2Ewot_2Etower,type,
    c_2Ewot_2Etower: del > $i ).

tff(mem_c_2Ewot_2Etower,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Etower(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ).

tff(tp_c_2Ewot_2Euncl,type,
    c_2Ewot_2Euncl: del > $i ).

tff(mem_c_2Ewot_2Euncl,axiom,
    ! [A_27x: del] : mem(c_2Ewot_2Euncl(A_27x),arr(arr(arr(A_27x,bool),bool),bool)) ).

tff(ax_thm_2Ewot_2Ecpl__def,axiom,
    ! [A_27x: del,V0A: $i] :
      ( mem(V0A,arr(A_27x,bool))
     => ! [V1B: $i] :
          ( 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)) ) ) ) ) ).

tff(ax_thm_2Ewot_2Echain__def,axiom,
    ! [A_27x: del,V0C: $i] :
      ( mem(V0C,arr(arr(A_27x,bool),bool))
     => ( p(ap(c_2Ewot_2Echain(A_27x),V0C))
      <=> ! [V1a: $i] :
            ( mem(V1a,arr(A_27x,bool))
           => ! [V2b: $i] :
                ( 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)) ) ) ) ) ) ).

tff(ax_thm_2Ewot_2Emex__def,axiom,
    ! [A_27x: del,V0s: $i] :
      ( 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)) ) ) ).

tff(ax_thm_2Ewot_2Esetsuc__def,axiom,
    ! [A_27x: del,V0s: $i] :
      ( 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) ) ) ).

tff(ax_thm_2Ewot_2Esuccl__def,axiom,
    ! [A_27x: del,V0c: $i] :
      ( mem(V0c,arr(arr(A_27x,bool),bool))
     => ( p(ap(c_2Ewot_2Esuccl(A_27x),V0c))
      <=> ! [V1s: $i] :
            ( 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)) ) ) ) ) ).

tff(ax_thm_2Ewot_2Euncl__def,axiom,
    ! [A_27x: del,V0c: $i] :
      ( mem(V0c,arr(arr(A_27x,bool),bool))
     => ( p(ap(c_2Ewot_2Euncl(A_27x),V0c))
      <=> ! [V1w: $i] :
            ( 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)) ) ) ) ) ).

tff(ax_thm_2Ewot_2Etower__def,axiom,
    ! [A_27x: del,V0A: $i] :
      ( 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)) ) ) ) ).

tff(ax_thm_2Ewot_2Emex__less__eq__def,axiom,
    ! [A_27x: del,V0a: $i] :
      ( mem(V0a,A_27x)
     => ! [V1b: $i] :
          ( 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))) ) ) ) ).

tff(ax_thm_2Ewot_2Emex__less__def,axiom,
    ! [A_27x: del] : ( c_2Ewot_2Emex__less(A_27x) = ap(c_2Erelation_2ESTRORD(A_27x),c_2Ewot_2Emex__less__eq(A_27x)) ) ).

tff(ax_thm_2Ewot_2EWeakWellOrder__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( 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: $i] :
              ( mem(V1B,arr(A_27a,bool))
             => ( ( V1B != c_2Epred__set_2EEMPTY(A_27a) )
               => ? [V2m: $i] :
                    ( mem(V2m,A_27a)
                    & p(ap(ap(c_2Ebool_2EIN(A_27a),V2m),V1B))
                    & ! [V3b: $i] :
                        ( mem(V3b,A_27a)
                       => ( p(ap(ap(c_2Ebool_2EIN(A_27a),V3b),V1B))
                         => p(ap(ap(V0R,V2m),V3b)) ) ) ) ) ) ) ) ) ).

tff(lamtp_f1151,type,
    f1151: ( del * $i ) > $i ).

tff(lameq_f1151,axiom,
    ! [A_27x: del,V0X: $i] :
      ( mem(V0X,arr(A_27x,bool))
     => ! [V1x: $i] : ( 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)) ) ) ).

tff(ax_thm_2Ewot_2Epreds__image__def,axiom,
    ! [A_27x: del,V0X: $i] :
      ( 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)) ) ) ).

tff(ax_thm_2Ewot_2EStrongWellOrder__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( 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)) ) ) ) ).

tff(conj_thm_2Ewot_2EStrongWellOrderExists,axiom,
    ! [A_27a: del] :
    ? [V0R: $i] :
      ( 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)) ) ).

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