ITP001 Axioms: ITP025+5.ax


%------------------------------------------------------------------------------
% File     : ITP025+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    : numpair+2.ax [Gau20]
%          : HL4025+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   67 (  13 unt;   0 def)
%            Number of atoms       :  216 (  60 equ)
%            Maximal formula atoms :   12 (   3 avg)
%            Number of connectives :  152 (   3   ~;   1   |;  17   &)
%                                         (   7 <=>; 124  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   5 avg)
%            Maximal term depth    :    9 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   44 (  44 usr;  26 con; 0-4 aty)
%            Number of variables   :  128 ( 124   !;   4   ?)
% SPC      : FOF_SAT_RFO_SEQ

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

fof(mem_c_2Enumpair_2Einvtri0,axiom,
    mem(c_2Enumpair_2Einvtri0,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)))) ).

fof(mem_c_2Enumpair_2Enapp,axiom,
    mem(c_2Enumpair_2Enapp,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(mem_c_2Enumpair_2Encons,axiom,
    mem(c_2Enumpair_2Encons,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(mem_c_2Enumpair_2Enfoldl,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Enumpair_2Enfoldl(A_27a),arr(arr(ty_2Enum_2Enum,arr(A_27a,A_27a)),arr(A_27a,arr(ty_2Enum_2Enum,A_27a)))) ) ).

fof(mem_c_2Enumpair_2Enfst,axiom,
    mem(c_2Enumpair_2Enfst,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).

fof(mem_c_2Enumpair_2Enlen,axiom,
    mem(c_2Enumpair_2Enlen,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).

fof(mem_c_2Enumpair_2Enlistrec,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2Enumpair_2Enlistrec(A_27a),arr(A_27a,arr(arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27a,A_27a))),arr(ty_2Enum_2Enum,A_27a)))) ) ).

fof(mem_c_2Enumpair_2Enmap,axiom,
    mem(c_2Enumpair_2Enmap,arr(arr(ty_2Enum_2Enum,ty_2Enum_2Enum),arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(mem_c_2Enumpair_2Enpair,axiom,
    mem(c_2Enumpair_2Enpair,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).

fof(mem_c_2Enumpair_2Ensnd,axiom,
    mem(c_2Enumpair_2Ensnd,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).

fof(mem_c_2Enumpair_2Etri,axiom,
    mem(c_2Enumpair_2Etri,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).

fof(ax_thm_2Enumpair_2Etri__def,axiom,
    ( ap(c_2Enumpair_2Etri,c_2Enum_2E0) = c_2Enum_2E0
    & ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => ap(c_2Enumpair_2Etri,ap(c_2Enum_2ESUC,V0n)) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enum_2ESUC,V0n)),ap(c_2Enumpair_2Etri,V0n)) ) ) ).

fof(conj_thm_2Enumpair_2Etri__def__compute,axiom,
    ( ap(c_2Enumpair_2Etri,c_2Enum_2E0) = c_2Enum_2E0
    & ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => ap(c_2Enumpair_2Etri,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V0n))) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V0n))),ap(c_2Enumpair_2Etri,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V0n))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) )
    & ! [V1n] :
        ( mem(V1n,ty_2Enum_2Enum)
       => ap(c_2Enumpair_2Etri,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1n))) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V1n))),ap(c_2Enumpair_2Etri,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1n)))) ) ) ).

fof(conj_thm_2Enumpair_2Etwotri__formula,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(c_2Enumpair_2Etri,V0n)) = ap(ap(c_2Earithmetic_2E_2A,V0n),ap(ap(c_2Earithmetic_2E_2B,V0n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ) ).

fof(conj_thm_2Enumpair_2Etri__formula,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(c_2Enumpair_2Etri,V0n) = ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2A,V0n),ap(ap(c_2Earithmetic_2E_2B,V0n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))) ) ).

fof(conj_thm_2Enumpair_2Etri__eq__0,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( ( ap(c_2Enumpair_2Etri,V0n) = c_2Enum_2E0
        <=> V0n = c_2Enum_2E0 )
        & ( c_2Enum_2E0 = ap(c_2Enumpair_2Etri,V0n)
        <=> V0n = c_2Enum_2E0 ) ) ) ).

fof(conj_thm_2Enumpair_2Etri__LT__I,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,V0n),V1m))
           => p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Enumpair_2Etri,V0n)),ap(c_2Enumpair_2Etri,V1m))) ) ) ) ).

fof(conj_thm_2Enumpair_2Etri__LT,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1m] :
          ( mem(V1m,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Enumpair_2Etri,V0n)),ap(c_2Enumpair_2Etri,V1m)))
          <=> p(ap(ap(c_2Eprim__rec_2E_3C,V0n),V1m)) ) ) ) ).

fof(conj_thm_2Enumpair_2Etri__11,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( ap(c_2Enumpair_2Etri,V0m) = ap(c_2Enumpair_2Etri,V1n)
          <=> V0m = V1n ) ) ) ).

fof(conj_thm_2Enumpair_2Etri__LE,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enumpair_2Etri,V0m)),ap(c_2Enumpair_2Etri,V1n)))
          <=> p(ap(ap(c_2Earithmetic_2E_3C_3D,V0m),V1n)) ) ) ) ).

fof(conj_thm_2Enumpair_2Einvtri0__ind,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ( ! [V1n] :
            ( mem(V1n,ty_2Enum_2Enum)
           => ! [V2a] :
                ( mem(V2a,ty_2Enum_2Enum)
               => ( ( ~ p(ap(ap(c_2Eprim__rec_2E_3C,V1n),ap(ap(c_2Earithmetic_2E_2B,V2a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))
                   => p(ap(ap(V0P,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(ap(c_2Earithmetic_2E_2B,V2a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2E_2B,V2a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) )
                 => p(ap(ap(V0P,V1n),V2a)) ) ) )
       => ! [V3v] :
            ( mem(V3v,ty_2Enum_2Enum)
           => ! [V4v1] :
                ( mem(V4v1,ty_2Enum_2Enum)
               => p(ap(ap(V0P,V3v),V4v1)) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Einvtri0__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1a] :
          ( mem(V1a,ty_2Enum_2Enum)
         => ap(ap(c_2Enumpair_2Einvtri0,V0n),V1a) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)),ap(ap(c_2Eprim__rec_2E_3C,V0n),ap(ap(c_2Earithmetic_2E_2B,V1a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),V0n),V1a)),ap(ap(c_2Enumpair_2Einvtri0,ap(ap(c_2Earithmetic_2E_2D,V0n),ap(ap(c_2Earithmetic_2E_2B,V1a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2E_2B,V1a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ) ) ).

fof(ax_thm_2Enumpair_2Einvtri__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(c_2Enumpair_2Einvtri,V0n) = ap(c_2Epair_2ESND(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(ap(c_2Enumpair_2Einvtri0,V0n),c_2Enum_2E0)) ) ).

fof(conj_thm_2Enumpair_2Einvtri0__thm,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1a] :
          ( mem(V1a,ty_2Enum_2Enum)
         => ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enumpair_2Etri,ap(c_2Epair_2ESND(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(ap(c_2Enumpair_2Einvtri0,V0n),V1a)))),ap(c_2Epair_2EFST(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(ap(c_2Enumpair_2Einvtri0,V0n),V1a))) = ap(ap(c_2Earithmetic_2E_2B,V0n),ap(c_2Enumpair_2Etri,V1a)) ) ) ).

fof(conj_thm_2Enumpair_2ESND__invtri0,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1a] :
          ( mem(V1a,ty_2Enum_2Enum)
         => p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Epair_2EFST(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(ap(c_2Enumpair_2Einvtri0,V0n),V1a))),ap(c_2Enum_2ESUC,ap(c_2Epair_2ESND(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(ap(c_2Enumpair_2Einvtri0,V0n),V1a))))) ) ) ).

fof(conj_thm_2Enumpair_2Einvtri__lower,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enumpair_2Etri,ap(c_2Enumpair_2Einvtri,V0n))),V0n)) ) ).

fof(conj_thm_2Enumpair_2Einvtri__upper,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Eprim__rec_2E_3C,V0n),ap(c_2Enumpair_2Etri,ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enumpair_2Einvtri,V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) ).

fof(conj_thm_2Enumpair_2Einvtri__linverse,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(c_2Enumpair_2Einvtri,ap(c_2Enumpair_2Etri,V0n)) = V0n ) ).

fof(conj_thm_2Enumpair_2Einvtri__unique,axiom,
    ! [V0y] :
      ( mem(V0y,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( ( p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enumpair_2Etri,V0y)),V1n))
              & p(ap(ap(c_2Eprim__rec_2E_3C,V1n),ap(c_2Enumpair_2Etri,ap(ap(c_2Earithmetic_2E_2B,V0y),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) )
           => ap(c_2Enumpair_2Einvtri,V1n) = V0y ) ) ) ).

fof(conj_thm_2Enumpair_2Einvtri__linverse__r,axiom,
    ! [V0y] :
      ( mem(V0y,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V0y),V1x))
           => ap(c_2Enumpair_2Einvtri,ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enumpair_2Etri,V1x)),V0y)) = V1x ) ) ) ).

fof(conj_thm_2Enumpair_2Etri__le,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,V0n),ap(c_2Enumpair_2Etri,V0n))) ) ).

fof(conj_thm_2Enumpair_2Einvtri__le,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enumpair_2Einvtri,V0n)),V0n)) ) ).

fof(ax_thm_2Enumpair_2Enpair__def,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ap(ap(c_2Enumpair_2Enpair,V0m),V1n) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enumpair_2Etri,ap(ap(c_2Earithmetic_2E_2B,V0m),V1n))),V1n) ) ) ).

fof(ax_thm_2Enumpair_2Enfst__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(c_2Enumpair_2Enfst,V0n) = ap(ap(c_2Earithmetic_2E_2D,ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enumpair_2Etri,ap(c_2Enumpair_2Einvtri,V0n))),ap(c_2Enumpair_2Einvtri,V0n))),V0n) ) ).

fof(ax_thm_2Enumpair_2Ensnd__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(c_2Enumpair_2Ensnd,V0n) = ap(ap(c_2Earithmetic_2E_2D,V0n),ap(c_2Enumpair_2Etri,ap(c_2Enumpair_2Einvtri,V0n))) ) ).

fof(conj_thm_2Enumpair_2Enfst__npair,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ap(c_2Enumpair_2Enfst,ap(ap(c_2Enumpair_2Enpair,V0x),V1y)) = V0x ) ) ).

fof(conj_thm_2Enumpair_2Ensnd__npair,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ap(c_2Enumpair_2Ensnd,ap(ap(c_2Enumpair_2Enpair,V0x),V1y)) = V1y ) ) ).

fof(conj_thm_2Enumpair_2Enpair__cases,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ? [V1x] :
          ( mem(V1x,ty_2Enum_2Enum)
          & ? [V2y] :
              ( mem(V2y,ty_2Enum_2Enum)
              & V0n = ap(ap(c_2Enumpair_2Enpair,V1x),V2y) ) ) ) ).

fof(conj_thm_2Enumpair_2Enpair,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(ap(c_2Enumpair_2Enpair,ap(c_2Enumpair_2Enfst,V0n)),ap(c_2Enumpair_2Ensnd,V0n)) = V0n ) ).

fof(conj_thm_2Enumpair_2Enpair__11,axiom,
    ! [V0x1] :
      ( mem(V0x1,ty_2Enum_2Enum)
     => ! [V1y1] :
          ( mem(V1y1,ty_2Enum_2Enum)
         => ! [V2x2] :
              ( mem(V2x2,ty_2Enum_2Enum)
             => ! [V3y2] :
                  ( mem(V3y2,ty_2Enum_2Enum)
                 => ( ap(ap(c_2Enumpair_2Enpair,V0x1),V1y1) = ap(ap(c_2Enumpair_2Enpair,V2x2),V3y2)
                  <=> ( V0x1 = V2x2
                      & V1y1 = V3y2 ) ) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Enfst__le,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enumpair_2Enfst,V0n)),V0n)) ) ).

fof(conj_thm_2Enumpair_2Ensnd__le,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enumpair_2Ensnd,V0n)),V0n)) ) ).

fof(ax_thm_2Enumpair_2Encons__def,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Enum_2Enum)
     => ! [V1t] :
          ( mem(V1t,ty_2Enum_2Enum)
         => ap(ap(c_2Enumpair_2Encons,V0h),V1t) = ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Enumpair_2Enpair,V0h),V1t)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) ) ) ).

fof(conj_thm_2Enumpair_2Encons__11,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ! [V2h] :
              ( mem(V2h,ty_2Enum_2Enum)
             => ! [V3t] :
                  ( mem(V3t,ty_2Enum_2Enum)
                 => ( ap(ap(c_2Enumpair_2Encons,V0x),V1y) = ap(ap(c_2Enumpair_2Encons,V2h),V3t)
                  <=> ( V0x = V2h
                      & V1y = V3t ) ) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Encons__not__nnil,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1y] :
          ( mem(V1y,ty_2Enum_2Enum)
         => ap(ap(c_2Enumpair_2Encons,V0x),V1y) != c_2Enum_2E0 ) ) ).

fof(conj_thm_2Enumpair_2Enlistrec__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0P] :
          ( mem(V0P,arr(A_27a,arr(arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27a,A_27a))),arr(ty_2Enum_2Enum,bool))))
         => ( ! [V1n] :
                ( mem(V1n,A_27a)
               => ! [V2f] :
                    ( mem(V2f,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27a,A_27a))))
                   => ! [V3l] :
                        ( mem(V3l,ty_2Enum_2Enum)
                       => ( ( V3l != c_2Enum_2E0
                           => p(ap(ap(ap(V0P,V1n),V2f),ap(c_2Enumpair_2Ensnd,ap(ap(c_2Earithmetic_2E_2D,V3l),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) )
                         => p(ap(ap(ap(V0P,V1n),V2f),V3l)) ) ) ) )
           => ! [V4v] :
                ( mem(V4v,A_27a)
               => ! [V5v1] :
                    ( mem(V5v1,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27a,A_27a))))
                   => ! [V6v2] :
                        ( mem(V6v2,ty_2Enum_2Enum)
                       => p(ap(ap(ap(V0P,V4v),V5v1),V6v2)) ) ) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Enlistrec__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,A_27a)
         => ! [V1l] :
              ( mem(V1l,ty_2Enum_2Enum)
             => ! [V2f] :
                  ( mem(V2f,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27a,A_27a))))
                 => ap(ap(ap(c_2Enumpair_2Enlistrec(A_27a),V0n),V2f),V1l) = ap(ap(ap(c_2Ebool_2ECOND(A_27a),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V1l),c_2Enum_2E0)),V0n),ap(ap(ap(V2f,ap(c_2Enumpair_2Enfst,ap(ap(c_2Earithmetic_2E_2D,V1l),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Enumpair_2Ensnd,ap(ap(c_2Earithmetic_2E_2D,V1l),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Enumpair_2Enlistrec(A_27a),V0n),V2f),ap(c_2Enumpair_2Ensnd,ap(ap(c_2Earithmetic_2E_2D,V1l),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))))) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Enlistrec__thm,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,A_27a)
         => ! [V1f] :
              ( mem(V1f,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27a,A_27a))))
             => ! [V2h] :
                  ( mem(V2h,ty_2Enum_2Enum)
                 => ! [V3t] :
                      ( mem(V3t,ty_2Enum_2Enum)
                     => ( ap(ap(ap(c_2Enumpair_2Enlistrec(A_27a),V0n),V1f),c_2Enum_2E0) = V0n
                        & ap(ap(ap(c_2Enumpair_2Enlistrec(A_27a),V0n),V1f),ap(ap(c_2Enumpair_2Encons,V2h),V3t)) = ap(ap(ap(V1f,V2h),V3t),ap(ap(ap(c_2Enumpair_2Enlistrec(A_27a),V0n),V1f),V3t)) ) ) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Enlist__ind,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Enum_2Enum,bool))
     => ( ( p(ap(V0P,c_2Enum_2E0))
          & ! [V1h] :
              ( mem(V1h,ty_2Enum_2Enum)
             => ! [V2t] :
                  ( mem(V2t,ty_2Enum_2Enum)
                 => ( p(ap(V0P,V2t))
                   => p(ap(V0P,ap(ap(c_2Enumpair_2Encons,V1h),V2t))) ) ) ) )
       => ! [V3n] :
            ( mem(V3n,ty_2Enum_2Enum)
           => p(ap(V0P,V3n)) ) ) ) ).

fof(lameq_f241,axiom,
    ! [V2r] : ap(f241,V2r) = ap(ap(c_2Earithmetic_2E_2B,V2r),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) ).

fof(ax_thm_2Enumpair_2Enlen__def,axiom,
    c_2Enumpair_2Enlen = ap(ap(c_2Enumpair_2Enlistrec(ty_2Enum_2Enum),c_2Enum_2E0),k(ty_2Enum_2Enum,k(ty_2Enum_2Enum,f241))) ).

fof(conj_thm_2Enumpair_2Enlen__thm,axiom,
    ! [V0h] :
      ( mem(V0h,ty_2Enum_2Enum)
     => ! [V1t] :
          ( mem(V1t,ty_2Enum_2Enum)
         => ( ap(c_2Enumpair_2Enlen,c_2Enum_2E0) = c_2Enum_2E0
            & ap(c_2Enumpair_2Enlen,ap(ap(c_2Enumpair_2Encons,V0h),V1t)) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Enumpair_2Enlen,V1t)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) ) ) ) ).

fof(lameq_f242,axiom,
    ! [V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ! [V3r] : ap(f242(V0f,V1n),V3r) = ap(ap(c_2Enumpair_2Encons,ap(V0f,V1n)),V3r) ) ) ).

fof(lameq_f243,axiom,
    ! [V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1n] : ap(f243(V0f),V1n) = k(ty_2Enum_2Enum,f242(V0f,V1n)) ) ).

fof(ax_thm_2Enumpair_2Enmap__def,axiom,
    ! [V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ap(c_2Enumpair_2Enmap,V0f) = ap(ap(c_2Enumpair_2Enlistrec(ty_2Enum_2Enum),c_2Enum_2E0),f243(V0f)) ) ).

fof(conj_thm_2Enumpair_2Enmap__thm,axiom,
    ! [V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
     => ! [V1h] :
          ( mem(V1h,ty_2Enum_2Enum)
         => ! [V2t] :
              ( mem(V2t,ty_2Enum_2Enum)
             => ( ap(ap(c_2Enumpair_2Enmap,V0f),c_2Enum_2E0) = c_2Enum_2E0
                & ap(ap(c_2Enumpair_2Enmap,V0f),ap(ap(c_2Enumpair_2Encons,V1h),V2t)) = ap(ap(c_2Enumpair_2Encons,ap(V0f,V1h)),ap(ap(c_2Enumpair_2Enmap,V0f),V2t)) ) ) ) ) ).

fof(lameq_f244,axiom,
    ! [A_27a,V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
     => ! [V4n] :
          ( mem(V4n,ty_2Enum_2Enum)
         => ! [V6r] :
              ( mem(V6r,arr(A_27a,A_27a))
             => ! [V7a] : ap(f244(A_27a,V0f,V4n,V6r),V7a) = ap(V6r,ap(ap(V0f,V4n),V7a)) ) ) ) ).

fof(lameq_f245,axiom,
    ! [A_27a,V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
     => ! [V4n] :
          ( mem(V4n,ty_2Enum_2Enum)
         => ! [V6r] : ap(f245(A_27a,V0f,V4n),V6r) = f244(A_27a,V0f,V4n,V6r) ) ) ).

fof(lameq_f246,axiom,
    ! [A_27a,V0f] :
      ( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
     => ! [V4n] : ap(f246(A_27a,V0f),V4n) = k(ty_2Enum_2Enum,f245(A_27a,V0f,V4n)) ) ).

fof(ax_thm_2Enumpair_2Enfoldl__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
         => ! [V1a] :
              ( mem(V1a,A_27a)
             => ! [V2l] :
                  ( mem(V2l,ty_2Enum_2Enum)
                 => ap(ap(ap(c_2Enumpair_2Enfoldl(A_27a),V0f),V1a),V2l) = ap(ap(ap(ap(c_2Enumpair_2Enlistrec(arr(A_27a,A_27a)),i(A_27a)),f246(A_27a,V0f)),V2l),V1a) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Enfoldl__thm,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
         => ! [V1a] :
              ( mem(V1a,A_27a)
             => ! [V2h] :
                  ( mem(V2h,ty_2Enum_2Enum)
                 => ! [V3t] :
                      ( mem(V3t,ty_2Enum_2Enum)
                     => ( ap(ap(ap(c_2Enumpair_2Enfoldl(A_27a),V0f),V1a),c_2Enum_2E0) = V1a
                        & ap(ap(ap(c_2Enumpair_2Enfoldl(A_27a),V0f),V1a),ap(ap(c_2Enumpair_2Encons,V2h),V3t)) = ap(ap(ap(c_2Enumpair_2Enfoldl(A_27a),V0f),ap(ap(V0f,V2h),V1a)),V3t) ) ) ) ) ) ) ).

fof(lameq_f247,axiom,
    ! [V2n] :
      ( mem(V2n,ty_2Enum_2Enum)
     => ! [V4r] : ap(f247(V2n),V4r) = ap(ap(c_2Enumpair_2Encons,V2n),V4r) ) ).

fof(lameq_f248,axiom,
    ! [V2n] : ap(f248,V2n) = k(ty_2Enum_2Enum,f247(V2n)) ).

fof(ax_thm_2Enumpair_2Enapp__def,axiom,
    ! [V0l1] :
      ( mem(V0l1,ty_2Enum_2Enum)
     => ! [V1l2] :
          ( mem(V1l2,ty_2Enum_2Enum)
         => ap(ap(c_2Enumpair_2Enapp,V0l1),V1l2) = ap(ap(ap(c_2Enumpair_2Enlistrec(ty_2Enum_2Enum),V1l2),f248),V0l1) ) ) ).

fof(conj_thm_2Enumpair_2Enapp__thm,axiom,
    ! [V0nlist] :
      ( mem(V0nlist,ty_2Enum_2Enum)
     => ! [V1h] :
          ( mem(V1h,ty_2Enum_2Enum)
         => ! [V2t] :
              ( mem(V2t,ty_2Enum_2Enum)
             => ( ap(ap(c_2Enumpair_2Enapp,c_2Enum_2E0),V0nlist) = V0nlist
                & ap(ap(c_2Enumpair_2Enapp,ap(ap(c_2Enumpair_2Encons,V1h),V2t)),V0nlist) = ap(ap(c_2Enumpair_2Encons,V1h),ap(ap(c_2Enumpair_2Enapp,V2t),V0nlist)) ) ) ) ) ).

fof(conj_thm_2Enumpair_2Enlist__cases,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ( V0n = c_2Enum_2E0
        | ? [V1h] :
            ( mem(V1h,ty_2Enum_2Enum)
            & ? [V2t] :
                ( mem(V2t,ty_2Enum_2Enum)
                & V0n = ap(ap(c_2Enumpair_2Encons,V1h),V2t) ) ) ) ) ).

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