ITP001 Axioms: ITP056_5.ax


%------------------------------------------------------------------------------
% File     : ITP056_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    : transfer_2.ax [Gau20]
%          : HL4056_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   31 (   9 unt;  10 typ;   0 def)
%            Number of atoms       :  265 (   5 equ)
%            Maximal formula atoms :    9 (   8 avg)
%            Number of connectives :   62 (   0   ~;   0   |;   8   &)
%                                         (   8 <=>;  46  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   9 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       :  182 ( 182 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   26 (  10   >;  16   *;   0   +;   0  <<)
%            Number of predicates  :   10 (   9 usr;   2 prp; 0-2 aty)
%            Number of functors    :   10 (  10 usr;   0 con; 2-4 aty)
%            Number of variables   :   98 (  96   !;   2   ?;  98   :)
% SPC      : TF0_SAT_EQU_NAR

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

tff(mem_c_2Etransfer_2EFUN__REL,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : mem(c_2Etransfer_2EFUN__REL(A_27a,A_27b,A_27c,A_27d),arr(arr(A_27a,arr(A_27b,bool)),arr(arr(A_27c,arr(A_27d,bool)),arr(arr(A_27a,A_27c),arr(arr(A_27b,A_27d),bool))))) ).

tff(tp_c_2Etransfer_2EPAIR__REL,type,
    c_2Etransfer_2EPAIR__REL: ( del * del * del * del ) > $i ).

tff(mem_c_2Etransfer_2EPAIR__REL,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : mem(c_2Etransfer_2EPAIR__REL(A_27a,A_27b,A_27c,A_27d),arr(arr(A_27a,arr(A_27b,bool)),arr(arr(A_27c,arr(A_27d,bool)),arr(ty_2Epair_2Eprod(A_27a,A_27c),arr(ty_2Epair_2Eprod(A_27b,A_27d),bool))))) ).

tff(tp_c_2Etransfer_2Ebi__unique,type,
    c_2Etransfer_2Ebi__unique: ( del * del ) > $i ).

tff(mem_c_2Etransfer_2Ebi__unique,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Etransfer_2Ebi__unique(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,bool)),bool)) ).

tff(tp_c_2Etransfer_2Ebitotal,type,
    c_2Etransfer_2Ebitotal: ( del * del ) > $i ).

tff(mem_c_2Etransfer_2Ebitotal,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Etransfer_2Ebitotal(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,bool)),bool)) ).

tff(tp_c_2Etransfer_2Eleft__unique,type,
    c_2Etransfer_2Eleft__unique: ( del * del ) > $i ).

tff(mem_c_2Etransfer_2Eleft__unique,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Etransfer_2Eleft__unique(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,bool)),bool)) ).

tff(tp_c_2Etransfer_2Eright__unique,type,
    c_2Etransfer_2Eright__unique: ( del * del ) > $i ).

tff(mem_c_2Etransfer_2Eright__unique,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Etransfer_2Eright__unique(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,bool)),bool)) ).

tff(tp_c_2Etransfer_2Esurj,type,
    c_2Etransfer_2Esurj: ( del * del ) > $i ).

tff(mem_c_2Etransfer_2Esurj,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Etransfer_2Esurj(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,bool)),bool)) ).

tff(tp_c_2Etransfer_2Etotal,type,
    c_2Etransfer_2Etotal: ( del * del ) > $i ).

tff(mem_c_2Etransfer_2Etotal,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Etransfer_2Etotal(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,bool)),bool)) ).

tff(ax_thm_2Etransfer_2Eright__unique__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27b,bool)))
     => ( p(ap(c_2Etransfer_2Eright__unique(A_27a,A_27b),V0R))
      <=> ! [V1a: $i] :
            ( mem(V1a,A_27a)
           => ! [V2b1: $i] :
                ( mem(V2b1,A_27b)
               => ! [V3b2: $i] :
                    ( mem(V3b2,A_27b)
                   => ( ( p(ap(ap(V0R,V1a),V2b1))
                        & p(ap(ap(V0R,V1a),V3b2)) )
                     => ( V2b1 = V3b2 ) ) ) ) ) ) ) ).

tff(ax_thm_2Etransfer_2Eleft__unique__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27b,bool)))
     => ( p(ap(c_2Etransfer_2Eleft__unique(A_27a,A_27b),V0R))
      <=> ! [V1a1: $i] :
            ( mem(V1a1,A_27a)
           => ! [V2a2: $i] :
                ( mem(V2a2,A_27a)
               => ! [V3b: $i] :
                    ( mem(V3b,A_27b)
                   => ( ( p(ap(ap(V0R,V1a1),V3b))
                        & p(ap(ap(V0R,V2a2),V3b)) )
                     => ( V1a1 = V2a2 ) ) ) ) ) ) ) ).

tff(ax_thm_2Etransfer_2Ebi__unique__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27b,bool)))
     => ( p(ap(c_2Etransfer_2Ebi__unique(A_27a,A_27b),V0R))
      <=> ( p(ap(c_2Etransfer_2Eleft__unique(A_27a,A_27b),V0R))
          & p(ap(c_2Etransfer_2Eright__unique(A_27a,A_27b),V0R)) ) ) ) ).

tff(ax_thm_2Etransfer_2Etotal__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27b,bool)))
     => ( p(ap(c_2Etransfer_2Etotal(A_27a,A_27b),V0R))
      <=> ! [V1x: $i] :
            ( mem(V1x,A_27a)
           => ? [V2y: $i] :
                ( mem(V2y,A_27b)
                & p(ap(ap(V0R,V1x),V2y)) ) ) ) ) ).

tff(ax_thm_2Etransfer_2Esurj__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27b,bool)))
     => ( p(ap(c_2Etransfer_2Esurj(A_27a,A_27b),V0R))
      <=> ! [V1y: $i] :
            ( mem(V1y,A_27b)
           => ? [V2x: $i] :
                ( mem(V2x,A_27a)
                & p(ap(ap(V0R,V2x),V1y)) ) ) ) ) ).

tff(ax_thm_2Etransfer_2Ebitotal__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27b,bool)))
     => ( p(ap(c_2Etransfer_2Ebitotal(A_27a,A_27b),V0R))
      <=> ( p(ap(c_2Etransfer_2Etotal(A_27a,A_27b),V0R))
          & p(ap(c_2Etransfer_2Esurj(A_27a,A_27b),V0R)) ) ) ) ).

tff(ax_thm_2Etransfer_2EFUN__REL__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0AB: $i] :
      ( mem(V0AB,arr(A_27a,arr(A_27b,bool)))
     => ! [V1CD: $i] :
          ( mem(V1CD,arr(A_27c,arr(A_27d,bool)))
         => ! [V2f: $i] :
              ( mem(V2f,arr(A_27a,A_27c))
             => ! [V3g: $i] :
                  ( mem(V3g,arr(A_27b,A_27d))
                 => ( p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(A_27a,A_27b,A_27c,A_27d),V0AB),V1CD),V2f),V3g))
                  <=> ! [V4a: $i] :
                        ( mem(V4a,A_27a)
                       => ! [V5b: $i] :
                            ( mem(V5b,A_27b)
                           => ( p(ap(ap(V0AB,V4a),V5b))
                             => p(ap(ap(V1CD,ap(V2f,V4a)),ap(V3g,V5b))) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2Etransfer_2EFUN__REL__COMB,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0AB: $i] :
      ( mem(V0AB,arr(A_27a,arr(A_27b,bool)))
     => ! [V1CD: $i] :
          ( mem(V1CD,arr(A_27c,arr(A_27d,bool)))
         => ! [V2f: $i] :
              ( mem(V2f,arr(A_27a,A_27c))
             => ! [V3g: $i] :
                  ( mem(V3g,arr(A_27b,A_27d))
                 => ! [V4a: $i] :
                      ( mem(V4a,A_27a)
                     => ! [V5b: $i] :
                          ( mem(V5b,A_27b)
                         => ( ( p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(A_27a,A_27b,A_27c,A_27d),V0AB),V1CD),V2f),V3g))
                              & p(ap(ap(V0AB,V4a),V5b)) )
                           => p(ap(ap(V1CD,ap(V2f,V4a)),ap(V3g,V5b))) ) ) ) ) ) ) ) ).

tff(lamtp_f978,type,
    f978: ( del * del * $i ) > $i ).

tff(lameq_f978,axiom,
    ! [A_27c: del,A_27a: del,V2f: $i] :
      ( mem(V2f,arr(A_27a,A_27c))
     => ! [V6a: $i] : ( ap(f978(A_27c,A_27a,V2f),V6a) = ap(V2f,V6a) ) ) ).

tff(lamtp_f979,type,
    f979: ( del * del * $i ) > $i ).

tff(lameq_f979,axiom,
    ! [A_27d: del,A_27b: del,V3g: $i] :
      ( mem(V3g,arr(A_27b,A_27d))
     => ! [V7b: $i] : ( ap(f979(A_27d,A_27b,V3g),V7b) = ap(V3g,V7b) ) ) ).

tff(conj_thm_2Etransfer_2EFUN__REL__ABS,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0AB: $i] :
      ( mem(V0AB,arr(A_27a,arr(A_27b,bool)))
     => ! [V1CD: $i] :
          ( mem(V1CD,arr(A_27c,arr(A_27d,bool)))
         => ! [V2f: $i] :
              ( mem(V2f,arr(A_27a,A_27c))
             => ! [V3g: $i] :
                  ( mem(V3g,arr(A_27b,A_27d))
                 => ( ! [V4a: $i] :
                        ( mem(V4a,A_27a)
                       => ! [V5b: $i] :
                            ( mem(V5b,A_27b)
                           => ( p(ap(ap(V0AB,V4a),V5b))
                             => p(ap(ap(V1CD,ap(V2f,V4a)),ap(V3g,V5b))) ) ) )
                   => p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(A_27a,A_27b,A_27c,A_27d),V0AB),V1CD),f978(A_27c,A_27a,V2f)),f979(A_27d,A_27b,V3g))) ) ) ) ) ) ).

tff(conj_thm_2Etransfer_2EFUN__REL__EQ2,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(ap(c_2Etransfer_2EFUN__REL(A_27a,A_27a,A_27b,A_27b),c_2Emin_2E_3D(A_27a)),c_2Emin_2E_3D(A_27b)) = c_2Emin_2E_3D(arr(A_27a,A_27b)) ) ).

tff(ax_thm_2Etransfer_2EPAIR__REL__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0AB: $i] :
      ( mem(V0AB,arr(A_27a,arr(A_27b,bool)))
     => ! [V1CD: $i] :
          ( mem(V1CD,arr(A_27c,arr(A_27d,bool)))
         => ! [V2a: $i] :
              ( mem(V2a,A_27a)
             => ! [V3c: $i] :
                  ( mem(V3c,A_27c)
                 => ! [V4b: $i] :
                      ( mem(V4b,A_27b)
                     => ! [V5d: $i] :
                          ( mem(V5d,A_27d)
                         => ( p(ap(ap(ap(ap(c_2Etransfer_2EPAIR__REL(A_27a,A_27b,A_27c,A_27d),V0AB),V1CD),ap(ap(c_2Epair_2E_2C(A_27a,A_27c),V2a),V3c)),ap(ap(c_2Epair_2E_2C(A_27b,A_27d),V4b),V5d)))
                          <=> ( p(ap(ap(V0AB,V2a),V4b))
                              & p(ap(ap(V1CD,V3c),V5d)) ) ) ) ) ) ) ) ) ).

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