ITP001 Axioms: ITP012_5.ax


%------------------------------------------------------------------------------
% File     : ITP012_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    : sum_2.ax [Gau20]
%          : HL4012_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   80 (  13 unt;  22 typ;   0 def)
%            Number of atoms       :  644 (  58 equ)
%            Maximal formula atoms :   24 (   8 avg)
%            Number of connectives :  192 (   9   ~;   4   |;  31   &)
%                                         (  19 <=>; 129  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   22 (   8 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of FOOLs       :  403 ( 403 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   60 (  22   >;  38   *;   0   +;   0  <<)
%            Number of predicates  :   19 (  18 usr;   5 prp; 0-3 aty)
%            Number of functors    :   22 (  22 usr;   0 con; 2-5 aty)
%            Number of variables   :  274 ( 265   !;   9   ?; 274   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_ty_2Esum_2Esum,type,
    ty_2Esum_2Esum: ( del * del ) > del ).

tff(tp_c_2Esum_2E_2B_2B,type,
    c_2Esum_2E_2B_2B: ( del * del * del * del ) > $i ).

tff(mem_c_2Esum_2E_2B_2B,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : mem(c_2Esum_2E_2B_2B(A_27a,A_27b,A_27c,A_27d),arr(arr(A_27a,A_27c),arr(arr(A_27b,A_27d),arr(ty_2Esum_2Esum(A_27a,A_27b),ty_2Esum_2Esum(A_27c,A_27d))))) ).

tff(tp_c_2Esum_2EABS__sum,type,
    c_2Esum_2EABS__sum: ( del * del ) > $i ).

tff(mem_c_2Esum_2EABS__sum,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EABS__sum(A_27a,A_27b),arr(arr(bool,arr(A_27a,arr(A_27b,bool))),ty_2Esum_2Esum(A_27a,A_27b))) ).

tff(tp_c_2Esum_2EINL,type,
    c_2Esum_2EINL: ( del * del ) > $i ).

tff(mem_c_2Esum_2EINL,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EINL(A_27a,A_27b),arr(A_27a,ty_2Esum_2Esum(A_27a,A_27b))) ).

tff(tp_c_2Esum_2EINR,type,
    c_2Esum_2EINR: ( del * del ) > $i ).

tff(mem_c_2Esum_2EINR,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EINR(A_27a,A_27b),arr(A_27b,ty_2Esum_2Esum(A_27a,A_27b))) ).

tff(tp_c_2Esum_2EISL,type,
    c_2Esum_2EISL: ( del * del ) > $i ).

tff(mem_c_2Esum_2EISL,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EISL(A_27a,A_27b),arr(ty_2Esum_2Esum(A_27a,A_27b),bool)) ).

tff(tp_c_2Esum_2EISR,type,
    c_2Esum_2EISR: ( del * del ) > $i ).

tff(mem_c_2Esum_2EISR,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EISR(A_27a,A_27b),arr(ty_2Esum_2Esum(A_27a,A_27b),bool)) ).

tff(tp_c_2Esum_2EIS__SUM__REP,type,
    c_2Esum_2EIS__SUM__REP: ( del * del ) > $i ).

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

tff(tp_c_2Esum_2EOUTL,type,
    c_2Esum_2EOUTL: ( del * del ) > $i ).

tff(mem_c_2Esum_2EOUTL,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EOUTL(A_27a,A_27b),arr(ty_2Esum_2Esum(A_27a,A_27b),A_27a)) ).

tff(tp_c_2Esum_2EOUTR,type,
    c_2Esum_2EOUTR: ( del * del ) > $i ).

tff(mem_c_2Esum_2EOUTR,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EOUTR(A_27a,A_27b),arr(ty_2Esum_2Esum(A_27a,A_27b),A_27b)) ).

tff(tp_c_2Esum_2EREP__sum,type,
    c_2Esum_2EREP__sum: ( del * del ) > $i ).

tff(mem_c_2Esum_2EREP__sum,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2EREP__sum(A_27a,A_27b),arr(ty_2Esum_2Esum(A_27a,A_27b),arr(bool,arr(A_27a,arr(A_27b,bool))))) ).

tff(tp_c_2Esum_2ESUM__ALL,type,
    c_2Esum_2ESUM__ALL: ( del * del ) > $i ).

tff(mem_c_2Esum_2ESUM__ALL,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Esum_2ESUM__ALL(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Esum_2Esum(A_27a,A_27b),bool)))) ).

tff(tp_c_2Esum_2Esum__CASE,type,
    c_2Esum_2Esum__CASE: ( del * del * del ) > $i ).

tff(mem_c_2Esum_2Esum__CASE,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Esum_2Esum__CASE(A_27a,A_27b,A_27c),arr(ty_2Esum_2Esum(A_27a,A_27b),arr(arr(A_27a,A_27c),arr(arr(A_27b,A_27c),A_27c)))) ).

tff(lamtp_f88,type,
    f88: ( del * del * $i * tp__o ) > $i ).

tff(lameq_f88,axiom,
    ! [A_27b: del,A_27a: del,V1v1: $i] :
      ( mem(V1v1,A_27a)
     => ! [V3b: tp__o,V4x: $i] : ( ap(f88(A_27b,A_27a,V1v1,V3b),V4x) = k(A_27b,ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(A_27a),V4x),V1v1)),inj__o(V3b))) ) ) ).

tff(lamtp_f89,type,
    f89: ( del * del * $i ) > $i ).

tff(lameq_f89,axiom,
    ! [A_27a: del,A_27b: del,V1v1: $i] :
      ( mem(V1v1,A_27a)
     => ! [V3b: tp__o] : ( ap(f89(A_27a,A_27b,V1v1),inj__o(V3b)) = f88(A_27b,A_27a,V1v1,V3b) ) ) ).

tff(lamtp_f90,type,
    f90: ( del * $i * tp__o ) > $i ).

tff(lameq_f90,axiom,
    ! [A_27b: del,V2v2: $i] :
      ( mem(V2v2,A_27b)
     => ! [V6b: tp__o,V8y: $i] : ( ap(f90(A_27b,V2v2,V6b),V8y) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(A_27b),V8y),V2v2)),ap(c_2Ebool_2E_7E,inj__o(V6b))) ) ) ).

tff(lamtp_f91,type,
    f91: ( del * del * $i ) > $i ).

tff(lameq_f91,axiom,
    ! [A_27b: del,A_27a: del,V2v2: $i] :
      ( mem(V2v2,A_27b)
     => ! [V6b: tp__o] : ( ap(f91(A_27b,A_27a,V2v2),inj__o(V6b)) = k(A_27a,f90(A_27b,V2v2,V6b)) ) ) ).

tff(ax_thm_2Esum_2EIS__SUM__REP,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( mem(V0f,arr(bool,arr(A_27a,arr(A_27b,bool))))
     => ( p(ap(c_2Esum_2EIS__SUM__REP(A_27a,A_27b),V0f))
      <=> ? [V1v1: $i] :
            ( mem(V1v1,A_27a)
            & ? [V2v2: $i] :
                ( mem(V2v2,A_27b)
                & ( ( V0f = f89(A_27a,A_27b,V1v1) )
                  | ( V0f = f91(A_27b,A_27a,V2v2) ) ) ) ) ) ) ).

tff(ax_thm_2Esum_2Esum__TY__DEF,axiom,
    ! [A_27a: del,A_27b: del] :
    ? [V0rep: $i] :
      ( mem(V0rep,arr(ty_2Esum_2Esum(A_27a,A_27b),arr(bool,arr(A_27a,arr(A_27b,bool)))))
      & p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(arr(bool,arr(A_27a,arr(A_27b,bool))),ty_2Esum_2Esum(A_27a,A_27b)),c_2Esum_2EIS__SUM__REP(A_27a,A_27b)),V0rep)) ) ).

tff(ax_thm_2Esum_2Esum__ISO__DEF,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0a: $i] :
          ( mem(V0a,ty_2Esum_2Esum(A_27a,A_27b))
         => ( ap(c_2Esum_2EABS__sum(A_27a,A_27b),ap(c_2Esum_2EREP__sum(A_27a,A_27b),V0a)) = V0a ) )
      & ! [V1r: $i] :
          ( mem(V1r,arr(bool,arr(A_27a,arr(A_27b,bool))))
         => ( p(ap(c_2Esum_2EIS__SUM__REP(A_27a,A_27b),V1r))
          <=> ( ap(c_2Esum_2EREP__sum(A_27a,A_27b),ap(c_2Esum_2EABS__sum(A_27a,A_27b),V1r)) = V1r ) ) ) ) ).

tff(lamtp_f92,type,
    f92: ( del * del * $i * tp__o ) > $i ).

tff(lameq_f92,axiom,
    ! [A_27b: del,A_27a: del,V0e: $i] :
      ( mem(V0e,A_27a)
     => ! [V1b: tp__o,V2x: $i] : ( ap(f92(A_27b,A_27a,V0e,V1b),V2x) = k(A_27b,ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(A_27a),V2x),V0e)),inj__o(V1b))) ) ) ).

tff(lamtp_f93,type,
    f93: ( del * del * $i ) > $i ).

tff(lameq_f93,axiom,
    ! [A_27a: del,A_27b: del,V0e: $i] :
      ( mem(V0e,A_27a)
     => ! [V1b: tp__o] : ( ap(f93(A_27a,A_27b,V0e),inj__o(V1b)) = f92(A_27b,A_27a,V0e,V1b) ) ) ).

tff(ax_thm_2Esum_2EINL__DEF,axiom,
    ! [A_27a: del,A_27b: del,V0e: $i] :
      ( mem(V0e,A_27a)
     => ( ap(c_2Esum_2EINL(A_27a,A_27b),V0e) = ap(c_2Esum_2EABS__sum(A_27a,A_27b),f93(A_27a,A_27b,V0e)) ) ) ).

tff(lamtp_f94,type,
    f94: ( del * $i * tp__o ) > $i ).

tff(lameq_f94,axiom,
    ! [A_27b: del,V0e: $i] :
      ( mem(V0e,A_27b)
     => ! [V1b: tp__o,V3y: $i] : ( ap(f94(A_27b,V0e,V1b),V3y) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(A_27b),V3y),V0e)),ap(c_2Ebool_2E_7E,inj__o(V1b))) ) ) ).

tff(lamtp_f95,type,
    f95: ( del * del * $i ) > $i ).

tff(lameq_f95,axiom,
    ! [A_27b: del,A_27a: del,V0e: $i] :
      ( mem(V0e,A_27b)
     => ! [V1b: tp__o] : ( ap(f95(A_27b,A_27a,V0e),inj__o(V1b)) = k(A_27a,f94(A_27b,V0e,V1b)) ) ) ).

tff(ax_thm_2Esum_2EINR__DEF,axiom,
    ! [A_27a: del,A_27b: del,V0e: $i] :
      ( mem(V0e,A_27b)
     => ( ap(c_2Esum_2EINR(A_27a,A_27b),V0e) = ap(c_2Esum_2EABS__sum(A_27a,A_27b),f95(A_27b,A_27a,V0e)) ) ) ).

tff(conj_thm_2Esum_2EINL__11,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27a)
     => ! [V1y: $i] :
          ( mem(V1y,A_27a)
         => ( ( ap(c_2Esum_2EINL(A_27a,A_27b),V0x) = ap(c_2Esum_2EINL(A_27a,A_27b),V1y) )
          <=> ( V0x = V1y ) ) ) ) ).

tff(conj_thm_2Esum_2EINR__11,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27b)
     => ! [V1y: $i] :
          ( mem(V1y,A_27b)
         => ( ( ap(c_2Esum_2EINR(A_27a,A_27b),V0x) = ap(c_2Esum_2EINR(A_27a,A_27b),V1y) )
          <=> ( V0x = V1y ) ) ) ) ).

tff(conj_thm_2Esum_2EINR__INL__11,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0y: $i] :
          ( mem(V0y,A_27a)
         => ! [V1x: $i] :
              ( mem(V1x,A_27a)
             => ( ( ap(c_2Esum_2EINL(A_27a,A_27b),V1x) = ap(c_2Esum_2EINL(A_27a,A_27b),V0y) )
              <=> ( V1x = V0y ) ) ) )
      & ! [V2y: $i] :
          ( mem(V2y,A_27b)
         => ! [V3x: $i] :
              ( mem(V3x,A_27b)
             => ( ( ap(c_2Esum_2EINR(A_27a,A_27b),V3x) = ap(c_2Esum_2EINR(A_27a,A_27b),V2y) )
              <=> ( V3x = V2y ) ) ) ) ) ).

tff(conj_thm_2Esum_2EINR__neq__INL,axiom,
    ! [A_27a: del,A_27b: del,V0v1: $i] :
      ( mem(V0v1,A_27a)
     => ! [V1v2: $i] :
          ( mem(V1v2,A_27b)
         => ( ap(c_2Esum_2EINR(A_27a,A_27b),V1v2) != ap(c_2Esum_2EINL(A_27a,A_27b),V0v1) ) ) ) ).

tff(lamtp_f96,type,
    f96: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f96,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27c))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27b,A_27c))
         => ! [V2h: $i] : ( ap(f96(A_27a,A_27b,A_27c,V0f,V1g),V2h) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(arr(A_27a,A_27c)),ap(ap(c_2Ecombin_2Eo(A_27a,A_27c,ty_2Esum_2Esum(A_27a,A_27b)),V2h),c_2Esum_2EINL(A_27a,A_27b))),V0f)),ap(ap(c_2Emin_2E_3D(arr(A_27b,A_27c)),ap(ap(c_2Ecombin_2Eo(A_27b,A_27c,ty_2Esum_2Esum(A_27a,A_27b)),V2h),c_2Esum_2EINR(A_27a,A_27b))),V1g)) ) ) ) ).

tff(conj_thm_2Esum_2Esum__axiom,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27c))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27b,A_27c))
         => p(ap(c_2Ebool_2E_3F_21(arr(ty_2Esum_2Esum(A_27a,A_27b),A_27c)),f96(A_27a,A_27b,A_27c,V0f,V1g))) ) ) ).

tff(conj_thm_2Esum_2Esum__INDUCT,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( mem(V0P,arr(ty_2Esum_2Esum(A_27a,A_27b),bool))
     => ( ( ! [V1x: $i] :
              ( mem(V1x,A_27a)
             => p(ap(V0P,ap(c_2Esum_2EINL(A_27a,A_27b),V1x))) )
          & ! [V2y: $i] :
              ( mem(V2y,A_27b)
             => p(ap(V0P,ap(c_2Esum_2EINR(A_27a,A_27b),V2y))) ) )
       => ! [V3s: $i] :
            ( mem(V3s,ty_2Esum_2Esum(A_27a,A_27b))
           => p(ap(V0P,V3s)) ) ) ) ).

tff(conj_thm_2Esum_2EFORALL__SUM,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( mem(V0P,arr(ty_2Esum_2Esum(A_27a,A_27b),bool))
     => ( ! [V1s: $i] :
            ( mem(V1s,ty_2Esum_2Esum(A_27a,A_27b))
           => p(ap(V0P,V1s)) )
      <=> ( ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => p(ap(V0P,ap(c_2Esum_2EINL(A_27a,A_27b),V2x))) )
          & ! [V3y: $i] :
              ( mem(V3y,A_27b)
             => p(ap(V0P,ap(c_2Esum_2EINR(A_27a,A_27b),V3y))) ) ) ) ) ).

tff(conj_thm_2Esum_2EEXISTS__SUM,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( mem(V0P,arr(ty_2Esum_2Esum(A_27a,A_27b),bool))
     => ( ? [V1s: $i] :
            ( mem(V1s,ty_2Esum_2Esum(A_27a,A_27b))
            & p(ap(V0P,V1s)) )
      <=> ( ? [V2x: $i] :
              ( mem(V2x,A_27a)
              & p(ap(V0P,ap(c_2Esum_2EINL(A_27a,A_27b),V2x))) )
          | ? [V3y: $i] :
              ( mem(V3y,A_27b)
              & p(ap(V0P,ap(c_2Esum_2EINR(A_27a,A_27b),V3y))) ) ) ) ) ).

tff(conj_thm_2Esum_2Esum__Axiom,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27c))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27b,A_27c))
         => ? [V2h: $i] :
              ( mem(V2h,arr(ty_2Esum_2Esum(A_27a,A_27b),A_27c))
              & ! [V3x: $i] :
                  ( mem(V3x,A_27a)
                 => ( ap(V2h,ap(c_2Esum_2EINL(A_27a,A_27b),V3x)) = ap(V0f,V3x) ) )
              & ! [V4y: $i] :
                  ( mem(V4y,A_27b)
                 => ( ap(V2h,ap(c_2Esum_2EINR(A_27a,A_27b),V4y)) = ap(V1g,V4y) ) ) ) ) ) ).

tff(conj_thm_2Esum_2Esum__CASES,axiom,
    ! [A_27a: del,A_27b: del,V0ss: $i] :
      ( mem(V0ss,ty_2Esum_2Esum(A_27a,A_27b))
     => ( ? [V1x: $i] :
            ( mem(V1x,A_27a)
            & ( V0ss = ap(c_2Esum_2EINL(A_27a,A_27b),V1x) ) )
        | ? [V2y: $i] :
            ( mem(V2y,A_27b)
            & ( V0ss = ap(c_2Esum_2EINR(A_27a,A_27b),V2y) ) ) ) ) ).

tff(conj_thm_2Esum_2Esum__distinct,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27a)
     => ! [V1y: $i] :
          ( mem(V1y,A_27b)
         => ( ap(c_2Esum_2EINL(A_27a,A_27b),V0x) != ap(c_2Esum_2EINR(A_27a,A_27b),V1y) ) ) ) ).

tff(conj_thm_2Esum_2Esum__distinct1,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27a)
     => ! [V1y: $i] :
          ( mem(V1y,A_27b)
         => ( ap(c_2Esum_2EINR(A_27a,A_27b),V1y) != ap(c_2Esum_2EINL(A_27a,A_27b),V0x) ) ) ) ).

tff(ax_thm_2Esum_2EISL,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0x: $i] :
          ( mem(V0x,A_27a)
         => p(ap(c_2Esum_2EISL(A_27a,A_27b),ap(c_2Esum_2EINL(A_27a,A_27b),V0x))) )
      & ! [V1y: $i] :
          ( mem(V1y,A_27b)
         => ~ p(ap(c_2Esum_2EISL(A_27a,A_27b),ap(c_2Esum_2EINR(A_27a,A_27b),V1y))) ) ) ).

tff(ax_thm_2Esum_2EISR,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0x: $i] :
          ( mem(V0x,A_27b)
         => p(ap(c_2Esum_2EISR(A_27a,A_27b),ap(c_2Esum_2EINR(A_27a,A_27b),V0x))) )
      & ! [V1y: $i] :
          ( mem(V1y,A_27a)
         => ~ p(ap(c_2Esum_2EISR(A_27a,A_27b),ap(c_2Esum_2EINL(A_27a,A_27b),V1y))) ) ) ).

tff(ax_thm_2Esum_2EOUTL,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27a)
     => ( ap(c_2Esum_2EOUTL(A_27a,A_27b),ap(c_2Esum_2EINL(A_27a,A_27b),V0x)) = V0x ) ) ).

tff(ax_thm_2Esum_2EOUTR,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27b)
     => ( ap(c_2Esum_2EOUTR(A_27a,A_27b),ap(c_2Esum_2EINR(A_27a,A_27b),V0x)) = V0x ) ) ).

tff(conj_thm_2Esum_2EISL__OR__ISR,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,ty_2Esum_2Esum(A_27a,A_27b))
     => ( p(ap(c_2Esum_2EISL(A_27a,A_27b),V0x))
        | p(ap(c_2Esum_2EISR(A_27a,A_27b),V0x)) ) ) ).

tff(conj_thm_2Esum_2EINL,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,ty_2Esum_2Esum(A_27a,A_27b))
     => ( p(ap(c_2Esum_2EISL(A_27a,A_27b),V0x))
       => ( ap(c_2Esum_2EINL(A_27a,A_27b),ap(c_2Esum_2EOUTL(A_27a,A_27b),V0x)) = V0x ) ) ) ).

tff(conj_thm_2Esum_2EINR,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,ty_2Esum_2Esum(A_27a,A_27b))
     => ( p(ap(c_2Esum_2EISR(A_27a,A_27b),V0x))
       => ( ap(c_2Esum_2EINR(A_27a,A_27b),ap(c_2Esum_2EOUTR(A_27a,A_27b),V0x)) = V0x ) ) ) ).

tff(ax_thm_2Esum_2Esum__case__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] :
      ( ! [V0x: $i] :
          ( mem(V0x,A_27a)
         => ! [V1f: $i] :
              ( mem(V1f,arr(A_27a,A_27c))
             => ! [V2f1: $i] :
                  ( mem(V2f1,arr(A_27b,A_27c))
                 => ( ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,A_27c),ap(c_2Esum_2EINL(A_27a,A_27b),V0x)),V1f),V2f1) = ap(V1f,V0x) ) ) ) )
      & ! [V3y: $i] :
          ( mem(V3y,A_27b)
         => ! [V4f: $i] :
              ( mem(V4f,arr(A_27a,A_27c))
             => ! [V5f1: $i] :
                  ( mem(V5f1,arr(A_27b,A_27c))
                 => ( ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,A_27c),ap(c_2Esum_2EINR(A_27a,A_27b),V3y)),V4f),V5f1) = ap(V5f1,V3y) ) ) ) ) ) ).

tff(conj_thm_2Esum_2Esum__case__cong,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f_27: $i] :
      ( mem(V0f_27,arr(A_27a,A_27c))
     => ! [V1f1_27: $i] :
          ( mem(V1f1_27,arr(A_27b,A_27c))
         => ! [V2M: $i] :
              ( mem(V2M,ty_2Esum_2Esum(A_27a,A_27b))
             => ! [V3M_27: $i] :
                  ( mem(V3M_27,ty_2Esum_2Esum(A_27a,A_27b))
                 => ! [V4f: $i] :
                      ( mem(V4f,arr(A_27a,A_27c))
                     => ! [V5f1: $i] :
                          ( mem(V5f1,arr(A_27b,A_27c))
                         => ( ( ( V2M = V3M_27 )
                              & ! [V6x: $i] :
                                  ( mem(V6x,A_27a)
                                 => ( ( V3M_27 = ap(c_2Esum_2EINL(A_27a,A_27b),V6x) )
                                   => ( ap(V4f,V6x) = ap(V0f_27,V6x) ) ) )
                              & ! [V7y: $i] :
                                  ( mem(V7y,A_27b)
                                 => ( ( V3M_27 = ap(c_2Esum_2EINR(A_27a,A_27b),V7y) )
                                   => ( ap(V5f1,V7y) = ap(V1f1_27,V7y) ) ) ) )
                           => ( ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,A_27c),V2M),V4f),V5f1) = ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,A_27c),V3M_27),V0f_27),V1f1_27) ) ) ) ) ) ) ) ) ).

tff(ax_thm_2Esum_2ESUM__MAP__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] :
      ( ! [V0f: $i] :
          ( mem(V0f,arr(A_27a,A_27c))
         => ! [V1g: $i] :
              ( mem(V1g,arr(A_27b,A_27d))
             => ! [V2a: $i] :
                  ( mem(V2a,A_27a)
                 => ( ap(ap(ap(c_2Esum_2E_2B_2B(A_27a,A_27b,A_27c,A_27d),V0f),V1g),ap(c_2Esum_2EINL(A_27a,A_27b),V2a)) = ap(c_2Esum_2EINL(A_27c,A_27d),ap(V0f,V2a)) ) ) ) )
      & ! [V3f: $i] :
          ( mem(V3f,arr(A_27a,A_27c))
         => ! [V4g: $i] :
              ( mem(V4g,arr(A_27b,A_27d))
             => ! [V5b: $i] :
                  ( mem(V5b,A_27b)
                 => ( ap(ap(ap(c_2Esum_2E_2B_2B(A_27a,A_27b,A_27c,A_27d),V3f),V4g),ap(c_2Esum_2EINR(A_27a,A_27b),V5b)) = ap(c_2Esum_2EINR(A_27c,A_27d),ap(V4g,V5b)) ) ) ) ) ) ).

tff(conj_thm_2Esum_2ESUM__MAP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27c))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27b,A_27d))
         => ! [V2z: $i] :
              ( mem(V2z,ty_2Esum_2Esum(A_27a,A_27b))
             => ( ap(ap(ap(c_2Esum_2E_2B_2B(A_27a,A_27b,A_27c,A_27d),V0f),V1g),V2z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Esum_2Esum(A_27c,A_27d)),ap(c_2Esum_2EISL(A_27a,A_27b),V2z)),ap(c_2Esum_2EINL(A_27c,A_27d),ap(V0f,ap(c_2Esum_2EOUTL(A_27a,A_27b),V2z)))),ap(c_2Esum_2EINR(A_27c,A_27d),ap(V1g,ap(c_2Esum_2EOUTR(A_27a,A_27b),V2z)))) ) ) ) ) ).

tff(conj_thm_2Esum_2ESUM__MAP__CASE,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27c))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27b,A_27d))
         => ! [V2z: $i] :
              ( mem(V2z,ty_2Esum_2Esum(A_27a,A_27b))
             => ( ap(ap(ap(c_2Esum_2E_2B_2B(A_27a,A_27b,A_27c,A_27d),V0f),V1g),V2z) = ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,ty_2Esum_2Esum(A_27c,A_27d)),V2z),ap(ap(c_2Ecombin_2Eo(A_27a,ty_2Esum_2Esum(A_27c,A_27d),A_27c),c_2Esum_2EINL(A_27c,A_27d)),V0f)),ap(ap(c_2Ecombin_2Eo(A_27b,ty_2Esum_2Esum(A_27c,A_27d),A_27d),c_2Esum_2EINR(A_27c,A_27d)),V1g)) ) ) ) ) ).

tff(conj_thm_2Esum_2ESUM__MAP__I,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(ap(c_2Esum_2E_2B_2B(A_27a,A_27b,A_27a,A_27b),c_2Ecombin_2EI(A_27a)),c_2Ecombin_2EI(A_27b)) = c_2Ecombin_2EI(ty_2Esum_2Esum(A_27a,A_27b)) ) ).

tff(conj_thm_2Esum_2Econd__sum__expand,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,A_27f: del,A_27g: del,A_27h: del,V0P: tp__o] :
      ( ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27b)
             => ! [V3z: $i] :
                  ( mem(V3z,A_27a)
                 => ( ( ap(ap(ap(c_2Ebool_2ECOND(ty_2Esum_2Esum(A_27b,A_27a)),inj__o(V0P)),ap(c_2Esum_2EINR(A_27b,A_27a),V1x)),ap(c_2Esum_2EINL(A_27b,A_27a),V2y)) = ap(c_2Esum_2EINR(A_27b,A_27a),V3z) )
                  <=> ( p(inj__o(V0P))
                      & ( V3z = V1x ) ) ) ) ) )
      & ! [V4x: $i] :
          ( mem(V4x,A_27c)
         => ! [V5y: $i] :
              ( mem(V5y,A_27d)
             => ! [V6z: $i] :
                  ( mem(V6z,A_27d)
                 => ( ( ap(ap(ap(c_2Ebool_2ECOND(ty_2Esum_2Esum(A_27d,A_27c)),inj__o(V0P)),ap(c_2Esum_2EINR(A_27d,A_27c),V4x)),ap(c_2Esum_2EINL(A_27d,A_27c),V5y)) = ap(c_2Esum_2EINL(A_27d,A_27c),V6z) )
                  <=> ( ~ p(inj__o(V0P))
                      & ( V6z = V5y ) ) ) ) ) )
      & ! [V7x: $i] :
          ( mem(V7x,A_27e)
         => ! [V8y: $i] :
              ( mem(V8y,A_27f)
             => ! [V9z: $i] :
                  ( mem(V9z,A_27e)
                 => ( ( ap(ap(ap(c_2Ebool_2ECOND(ty_2Esum_2Esum(A_27e,A_27f)),inj__o(V0P)),ap(c_2Esum_2EINL(A_27e,A_27f),V7x)),ap(c_2Esum_2EINR(A_27e,A_27f),V8y)) = ap(c_2Esum_2EINL(A_27e,A_27f),V9z) )
                  <=> ( p(inj__o(V0P))
                      & ( V9z = V7x ) ) ) ) ) )
      & ! [V10x: $i] :
          ( mem(V10x,A_27g)
         => ! [V11y: $i] :
              ( mem(V11y,A_27h)
             => ! [V12z: $i] :
                  ( mem(V12z,A_27h)
                 => ( ( ap(ap(ap(c_2Ebool_2ECOND(ty_2Esum_2Esum(A_27g,A_27h)),inj__o(V0P)),ap(c_2Esum_2EINL(A_27g,A_27h),V10x)),ap(c_2Esum_2EINR(A_27g,A_27h),V11y)) = ap(c_2Esum_2EINR(A_27g,A_27h),V12z) )
                  <=> ( ~ p(inj__o(V0P))
                      & ( V12z = V11y ) ) ) ) ) ) ) ).

tff(conj_thm_2Esum_2ENOT__ISL__ISR,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,ty_2Esum_2Esum(A_27a,A_27b))
     => ( ~ p(ap(c_2Esum_2EISL(A_27a,A_27b),V0x))
      <=> p(ap(c_2Esum_2EISR(A_27a,A_27b),V0x)) ) ) ).

tff(conj_thm_2Esum_2ENOT__ISR__ISL,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,ty_2Esum_2Esum(A_27a,A_27b))
     => ( ~ p(ap(c_2Esum_2EISR(A_27a,A_27b),V0x))
      <=> p(ap(c_2Esum_2EISL(A_27a,A_27b),V0x)) ) ) ).

tff(ax_thm_2Esum_2ESUM__ALL__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0P: $i] :
          ( mem(V0P,arr(A_27a,bool))
         => ! [V1Q: $i] :
              ( mem(V1Q,arr(A_27b,bool))
             => ! [V2x: $i] :
                  ( mem(V2x,A_27a)
                 => ( p(ap(ap(ap(c_2Esum_2ESUM__ALL(A_27a,A_27b),V0P),V1Q),ap(c_2Esum_2EINL(A_27a,A_27b),V2x)))
                  <=> p(ap(V0P,V2x)) ) ) ) )
      & ! [V3P: $i] :
          ( mem(V3P,arr(A_27a,bool))
         => ! [V4Q: $i] :
              ( mem(V4Q,arr(A_27b,bool))
             => ! [V5y: $i] :
                  ( mem(V5y,A_27b)
                 => ( p(ap(ap(ap(c_2Esum_2ESUM__ALL(A_27a,A_27b),V3P),V4Q),ap(c_2Esum_2EINR(A_27a,A_27b),V5y)))
                  <=> p(ap(V4Q,V5y)) ) ) ) ) ) ).

tff(conj_thm_2Esum_2ESUM__ALL__MONO,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( mem(V0P,arr(A_27a,bool))
     => ! [V1P_27: $i] :
          ( mem(V1P_27,arr(A_27a,bool))
         => ! [V2Q: $i] :
              ( mem(V2Q,arr(A_27b,bool))
             => ! [V3Q_27: $i] :
                  ( mem(V3Q_27,arr(A_27b,bool))
                 => ! [V4s: $i] :
                      ( mem(V4s,ty_2Esum_2Esum(A_27a,A_27b))
                     => ( ( ! [V5x: $i] :
                              ( mem(V5x,A_27a)
                             => ( p(ap(V0P,V5x))
                               => p(ap(V1P_27,V5x)) ) )
                          & ! [V6y: $i] :
                              ( mem(V6y,A_27b)
                             => ( p(ap(V2Q,V6y))
                               => p(ap(V3Q_27,V6y)) ) ) )
                       => ( p(ap(ap(ap(c_2Esum_2ESUM__ALL(A_27a,A_27b),V0P),V2Q),V4s))
                         => p(ap(ap(ap(c_2Esum_2ESUM__ALL(A_27a,A_27b),V1P_27),V3Q_27),V4s)) ) ) ) ) ) ) ) ).

tff(conj_thm_2Esum_2ESUM__ALL__CONG,axiom,
    ! [A_27a: del,A_27b: del,V0s: $i] :
      ( mem(V0s,ty_2Esum_2Esum(A_27a,A_27b))
     => ! [V1s_27: $i] :
          ( mem(V1s_27,ty_2Esum_2Esum(A_27a,A_27b))
         => ! [V2P: $i] :
              ( mem(V2P,arr(A_27a,bool))
             => ! [V3P_27: $i] :
                  ( mem(V3P_27,arr(A_27a,bool))
                 => ! [V4Q: $i] :
                      ( mem(V4Q,arr(A_27b,bool))
                     => ! [V5Q_27: $i] :
                          ( mem(V5Q_27,arr(A_27b,bool))
                         => ( ( ( V0s = V1s_27 )
                              & ! [V6a: $i] :
                                  ( mem(V6a,A_27a)
                                 => ( ( V1s_27 = ap(c_2Esum_2EINL(A_27a,A_27b),V6a) )
                                   => ( p(ap(V2P,V6a))
                                    <=> p(ap(V3P_27,V6a)) ) ) )
                              & ! [V7b: $i] :
                                  ( mem(V7b,A_27b)
                                 => ( ( V1s_27 = ap(c_2Esum_2EINR(A_27a,A_27b),V7b) )
                                   => ( p(ap(V4Q,V7b))
                                    <=> p(ap(V5Q_27,V7b)) ) ) ) )
                           => ( p(ap(ap(ap(c_2Esum_2ESUM__ALL(A_27a,A_27b),V2P),V4Q),V0s))
                            <=> p(ap(ap(ap(c_2Esum_2ESUM__ALL(A_27a,A_27b),V3P_27),V5Q_27),V1s_27)) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2Esum_2Edatatype__sum,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0sum: $i] :
      ( mem(V0sum,arr(arr(A_27a,ty_2Esum_2Esum(A_27a,A_27b)),arr(arr(A_27b,ty_2Esum_2Esum(A_27a,A_27b)),A_27c)))
     => p(ap(c_2Ebool_2EDATATYPE(A_27c),ap(ap(V0sum,c_2Esum_2EINL(A_27a,A_27b)),c_2Esum_2EINR(A_27a,A_27b)))) ) ).

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