ITP001 Axioms: ITP041+5.ax


%------------------------------------------------------------------------------
% File     : ITP041+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    : numposrep+2.ax [Gau20]
%          : HL4041+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   51 (  26 unt;   0 def)
%            Number of atoms       :  157 (  44 equ)
%            Maximal formula atoms :   10 (   3 avg)
%            Number of connectives :  109 (   3   ~;   1   |;  19   &)
%                                         (   2 <=>;  84  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   12 (   4 avg)
%            Maximal term depth    :    9 (   2 avg)
%            Number of predicates  :    3 (   2 usr;   0 prp; 1-2 aty)
%            Number of functors    :   65 (  65 usr;  41 con; 0-3 aty)
%            Number of variables   :   66 (  66   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Enumposrep_2EBOOLIFY,axiom,
    mem(c_2Enumposrep_2EBOOLIFY,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(bool),ty_2Elist_2Elist(bool))))) ).

fof(mem_c_2Enumposrep_2El2n,axiom,
    mem(c_2Enumposrep_2El2n,arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(ty_2Enum_2Enum),ty_2Enum_2Enum))) ).

fof(mem_c_2Enumposrep_2El2n2,axiom,
    mem(c_2Enumposrep_2El2n2,arr(ty_2Elist_2Elist(ty_2Enum_2Enum),ty_2Enum_2Enum)) ).

fof(mem_c_2Enumposrep_2En2l,axiom,
    mem(c_2Enumposrep_2En2l,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum)))) ).

fof(mem_c_2Enumposrep_2Enum__from__bin__list,axiom,
    mem(c_2Enumposrep_2Enum__from__bin__list,arr(ty_2Elist_2Elist(ty_2Enum_2Enum),ty_2Enum_2Enum)) ).

fof(mem_c_2Enumposrep_2Enum__from__dec__list,axiom,
    mem(c_2Enumposrep_2Enum__from__dec__list,arr(ty_2Elist_2Elist(ty_2Enum_2Enum),ty_2Enum_2Enum)) ).

fof(mem_c_2Enumposrep_2Enum__from__hex__list,axiom,
    mem(c_2Enumposrep_2Enum__from__hex__list,arr(ty_2Elist_2Elist(ty_2Enum_2Enum),ty_2Enum_2Enum)) ).

fof(mem_c_2Enumposrep_2Enum__from__oct__list,axiom,
    mem(c_2Enumposrep_2Enum__from__oct__list,arr(ty_2Elist_2Elist(ty_2Enum_2Enum),ty_2Enum_2Enum)) ).

fof(mem_c_2Enumposrep_2Enum__to__bin__list,axiom,
    mem(c_2Enumposrep_2Enum__to__bin__list,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum))) ).

fof(mem_c_2Enumposrep_2Enum__to__dec__list,axiom,
    mem(c_2Enumposrep_2Enum__to__dec__list,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum))) ).

fof(mem_c_2Enumposrep_2Enum__to__hex__list,axiom,
    mem(c_2Enumposrep_2Enum__to__hex__list,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum))) ).

fof(mem_c_2Enumposrep_2Enum__to__oct__list,axiom,
    mem(c_2Enumposrep_2Enum__to__oct__list,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum))) ).

fof(ax_thm_2Enumposrep_2El2n__def,axiom,
    ( ! [V0b] :
        ( mem(V0b,ty_2Enum_2Enum)
       => ap(ap(c_2Enumposrep_2El2n,V0b),c_2Elist_2ENIL(ty_2Enum_2Enum)) = c_2Enum_2E0 )
    & ! [V1b] :
        ( mem(V1b,ty_2Enum_2Enum)
       => ! [V2h] :
            ( mem(V2h,ty_2Enum_2Enum)
           => ! [V3t] :
                ( mem(V3t,ty_2Elist_2Elist(ty_2Enum_2Enum))
               => ap(ap(c_2Enumposrep_2El2n,V1b),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),V2h),V3t)) = ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2EMOD,V2h),V1b)),ap(ap(c_2Earithmetic_2E_2A,V1b),ap(ap(c_2Enumposrep_2El2n,V1b),V3t))) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2En2l__ind,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ( ! [V1b] :
            ( mem(V1b,ty_2Enum_2Enum)
           => ! [V2n] :
                ( mem(V2n,ty_2Enum_2Enum)
               => ( ( ~ ( p(ap(ap(c_2Eprim__rec_2E_3C,V2n),V1b))
                        | p(ap(ap(c_2Eprim__rec_2E_3C,V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))) )
                   => p(ap(ap(V0P,V1b),ap(ap(c_2Earithmetic_2EDIV,V2n),V1b))) )
                 => p(ap(ap(V0P,V1b),V2n)) ) ) )
       => ! [V3v] :
            ( mem(V3v,ty_2Enum_2Enum)
           => ! [V4v1] :
                ( mem(V4v1,ty_2Enum_2Enum)
               => p(ap(ap(V0P,V3v),V4v1)) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2En2l__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1b] :
          ( mem(V1b,ty_2Enum_2Enum)
         => ap(ap(c_2Enumposrep_2En2l,V1b),V0n) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(ty_2Enum_2Enum)),ap(ap(c_2Ebool_2E_5C_2F,ap(ap(c_2Eprim__rec_2E_3C,V0n),V1b)),ap(ap(c_2Eprim__rec_2E_3C,V1b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2EMOD,V0n),V1b)),c_2Elist_2ENIL(ty_2Enum_2Enum))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2EMOD,V0n),V1b)),ap(ap(c_2Enumposrep_2En2l,V1b),ap(ap(c_2Earithmetic_2EDIV,V0n),V1b)))) ) ) ).

fof(ax_thm_2Enumposrep_2Enum__from__bin__list__def,axiom,
    c_2Enumposrep_2Enum__from__bin__list = ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))) ).

fof(ax_thm_2Enumposrep_2Enum__from__oct__list__def,axiom,
    c_2Enumposrep_2Enum__from__oct__list = ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ).

fof(ax_thm_2Enumposrep_2Enum__from__dec__list__def,axiom,
    c_2Enumposrep_2Enum__from__dec__list = ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ).

fof(ax_thm_2Enumposrep_2Enum__from__hex__list__def,axiom,
    c_2Enumposrep_2Enum__from__hex__list = ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ).

fof(ax_thm_2Enumposrep_2Enum__to__bin__list__def,axiom,
    c_2Enumposrep_2Enum__to__bin__list = ap(c_2Enumposrep_2En2l,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))) ).

fof(ax_thm_2Enumposrep_2Enum__to__oct__list__def,axiom,
    c_2Enumposrep_2Enum__to__oct__list = ap(c_2Enumposrep_2En2l,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ).

fof(ax_thm_2Enumposrep_2Enum__to__dec__list__def,axiom,
    c_2Enumposrep_2Enum__to__dec__list = ap(c_2Enumposrep_2En2l,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ).

fof(ax_thm_2Enumposrep_2Enum__to__hex__list__def,axiom,
    c_2Enumposrep_2Enum__to__hex__list = ap(c_2Enumposrep_2En2l,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ).

fof(ax_thm_2Enumposrep_2EBOOLIFY__def,axiom,
    ( ! [V0m] :
        ( mem(V0m,ty_2Enum_2Enum)
       => ! [V1a] :
            ( mem(V1a,ty_2Elist_2Elist(bool))
           => ap(ap(ap(c_2Enumposrep_2EBOOLIFY,c_2Enum_2E0),V0m),V1a) = V1a ) )
    & ! [V2n] :
        ( mem(V2n,ty_2Enum_2Enum)
       => ! [V3m] :
            ( mem(V3m,ty_2Enum_2Enum)
           => ! [V4a] :
                ( mem(V4a,ty_2Elist_2Elist(bool))
               => ap(ap(ap(c_2Enumposrep_2EBOOLIFY,ap(c_2Enum_2ESUC,V2n)),V3m),V4a) = ap(ap(ap(c_2Enumposrep_2EBOOLIFY,V2n),ap(c_2Earithmetic_2EDIV2,V3m)),ap(ap(c_2Elist_2ECONS(bool),ap(c_2Earithmetic_2EODD,V3m)),V4a)) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2ELENGTH__n2l,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
           => ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(ap(c_2Enumposrep_2En2l,V0b),V1n)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V1n),c_2Enum_2E0)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(c_2Enum_2ESUC,ap(ap(c_2Elogroot_2ELOG,V0b),V1n))) ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__n2l,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
           => ap(ap(c_2Enumposrep_2El2n,V0b),ap(ap(c_2Enumposrep_2En2l,V0b),V1n)) = V1n ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__lt,axiom,
    ! [V0l] :
      ( mem(V0l,ty_2Elist_2Elist(ty_2Enum_2Enum))
     => ! [V1b] :
          ( mem(V1b,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V1b))
           => p(ap(ap(c_2Eprim__rec_2E_3C,ap(ap(c_2Enumposrep_2El2n,V1b),V0l)),ap(ap(c_2Earithmetic_2EEXP,V1b),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),V0l)))) ) ) ) ).

fof(conj_thm_2Enumposrep_2ELENGTH__l2n,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1l] :
          ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
              & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,V0b)),V1l))
              & ap(ap(c_2Enumposrep_2El2n,V0b),V1l) != c_2Enum_2E0 )
           => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enum_2ESUC,ap(ap(c_2Elogroot_2ELOG,V0b),ap(ap(c_2Enumposrep_2El2n,V0b),V1l)))),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),V1l))) ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__DIGIT,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1l] :
          ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ! [V2x] :
              ( mem(V2x,ty_2Enum_2Enum)
             => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
                  & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,V0b)),V1l))
                  & p(ap(ap(c_2Eprim__rec_2E_3C,V2x),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),V1l))) )
               => ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Enumposrep_2El2n,V0b),V1l)),ap(ap(c_2Earithmetic_2EEXP,V0b),V2x))),V0b) = ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),V2x),V1l) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2EDIV__0__IMP__LT,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
              & ap(ap(c_2Earithmetic_2EDIV,V1n),V0b) = c_2Enum_2E0 )
           => p(ap(ap(c_2Eprim__rec_2E_3C,V1n),V0b)) ) ) ) ).

fof(conj_thm_2Enumposrep_2EEL__n2l,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,ty_2Enum_2Enum)
         => ! [V2n] :
              ( mem(V2n,ty_2Enum_2Enum)
             => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
                  & p(ap(ap(c_2Eprim__rec_2E_3C,V1x),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(ap(c_2Enumposrep_2En2l,V0b),V2n)))) )
               => ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),V1x),ap(ap(c_2Enumposrep_2En2l,V0b),V2n)) = ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2EDIV,V2n),ap(ap(c_2Earithmetic_2EEXP,V0b),V1x))),V0b) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2En2l__l2n,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1l] :
          ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
              & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,V0b)),V1l)) )
           => ap(ap(c_2Enumposrep_2En2l,V0b),ap(ap(c_2Enumposrep_2El2n,V0b),V1l)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(ty_2Enum_2Enum)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),ap(ap(c_2Enumposrep_2El2n,V0b),V1l)),c_2Enum_2E0)),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),c_2Enum_2E0),c_2Elist_2ENIL(ty_2Enum_2Enum))),ap(ap(c_2Elist_2ETAKE(ty_2Enum_2Enum),ap(c_2Enum_2ESUC,ap(ap(c_2Elogroot_2ELOG,V0b),ap(ap(c_2Enumposrep_2El2n,V0b),V1l)))),V1l)) ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__eq__0,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0b))
       => ! [V1l] :
            ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
           => ( ap(ap(c_2Enumposrep_2El2n,V0b),V1l) = c_2Enum_2E0
            <=> p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,bool,ty_2Enum_2Enum),ap(c_2Emin_2E_3D(ty_2Enum_2Enum),c_2Enum_2E0)),ap(ap(c_2Ecombin_2EC(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Enum_2Enum),c_2Earithmetic_2EMOD),V0b))),V1l)) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__SNOC__0,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1ls] :
          ( mem(V1ls,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0b))
           => ap(ap(c_2Enumposrep_2El2n,V0b),ap(ap(c_2Elist_2ESNOC(ty_2Enum_2Enum),c_2Enum_2E0),V1ls)) = ap(ap(c_2Enumposrep_2El2n,V0b),V1ls) ) ) ) ).

fof(conj_thm_2Enumposrep_2ELOG__l2n,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
       => ! [V1l] :
            ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
           => ( ( V1l != c_2Elist_2ENIL(ty_2Enum_2Enum)
                & p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),ap(c_2Elist_2ELAST(ty_2Enum_2Enum),V1l)))
                & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,V0b)),V1l)) )
             => ap(ap(c_2Elogroot_2ELOG,V0b),ap(ap(c_2Enumposrep_2El2n,V0b),V1l)) = ap(c_2Eprim__rec_2EPRE,ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),V1l)) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__dropWhile__0,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1ls] :
          ( mem(V1ls,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0b))
           => ap(ap(c_2Enumposrep_2El2n,V0b),ap(c_2Elist_2EREVERSE(ty_2Enum_2Enum),ap(ap(c_2Elist_2EdropWhile(ty_2Enum_2Enum),ap(c_2Emin_2E_3D(ty_2Enum_2Enum),c_2Enum_2E0)),ap(c_2Elist_2EREVERSE(ty_2Enum_2Enum),V1ls)))) = ap(ap(c_2Enumposrep_2El2n,V0b),V1ls) ) ) ) ).

fof(lameq_f818,axiom,
    ! [V2y] : ap(f818,V2y) = ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),c_2Enum_2E0),V2y)) ).

fof(conj_thm_2Enumposrep_2ELOG__l2n__dropWhile,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1l] :
          ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V0b))
              & p(ap(ap(c_2Elist_2EEXISTS(ty_2Enum_2Enum),f818),V1l))
              & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,V0b)),V1l)) )
           => ap(ap(c_2Elogroot_2ELOG,V0b),ap(ap(c_2Enumposrep_2El2n,V0b),V1l)) = ap(c_2Eprim__rec_2EPRE,ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(ap(c_2Elist_2EdropWhile(ty_2Enum_2Enum),ap(c_2Emin_2E_3D(ty_2Enum_2Enum),c_2Enum_2E0)),ap(c_2Elist_2EREVERSE(ty_2Enum_2Enum),V1l)))) ) ) ) ).

fof(conj_thm_2Enumposrep_2En2l__BOUND,axiom,
    ! [V0b] :
      ( mem(V0b,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0b))
           => p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,V0b)),ap(ap(c_2Enumposrep_2En2l,V0b),V1n))) ) ) ) ).

fof(conj_thm_2Enumposrep_2El2n__pow2__compute,axiom,
    ( ! [V0p] :
        ( mem(V0p,ty_2Enum_2Enum)
       => ap(ap(c_2Enumposrep_2El2n,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0p)),c_2Elist_2ENIL(ty_2Enum_2Enum)) = c_2Enum_2E0 )
    & ! [V1p] :
        ( mem(V1p,ty_2Enum_2Enum)
       => ! [V2h] :
            ( mem(V2h,ty_2Enum_2Enum)
           => ! [V3t] :
                ( mem(V3t,ty_2Elist_2Elist(ty_2Enum_2Enum))
               => ap(ap(c_2Enumposrep_2El2n,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V1p)),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),V2h),V3t)) = ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Ebit_2EMOD__2EXP,V1p),V2h)),ap(ap(c_2Ebit_2ETIMES__2EXP,V1p),ap(ap(c_2Enumposrep_2El2n,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V1p)),V3t))) ) ) ) ) ).

fof(lameq_f819,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ! [V2q] :
          ( mem(V2q,ty_2Enum_2Enum)
         => ! [V3r] : ap(f819(V0p,V2q),V3r) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(ty_2Enum_2Enum)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V2q),c_2Enum_2E0)),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),V3r),c_2Elist_2ENIL(ty_2Enum_2Enum))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),V3r),ap(ap(c_2Enumposrep_2En2l,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0p)),V2q))) ) ) ).

fof(lameq_f820,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ! [V2q] : ap(f820(V0p),V2q) = f819(V0p,V2q) ) ).

fof(conj_thm_2Enumposrep_2En2l__pow2__compute,axiom,
    ! [V0p] :
      ( mem(V0p,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0p))
           => ap(ap(c_2Enumposrep_2En2l,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0p)),V1n) = ap(ap(c_2Ebool_2ELET(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Elist_2Elist(ty_2Enum_2Enum)),ap(c_2Epair_2EUNCURRY(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum)),f820(V0p))),ap(ap(c_2Ebit_2EDIVMOD__2EXP,V0p),V1n)) ) ) ) ).

fof(ax_thm_2Enumposrep_2El2n2,axiom,
    c_2Enumposrep_2El2n2 = ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))) ).

fof(conj_thm_2Enumposrep_2El2n__2__thms,axiom,
    ( ! [V0t] :
        ( mem(V0t,ty_2Elist_2Elist(ty_2Enum_2Enum))
       => ap(ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),c_2Enum_2E0),V0t)) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),c_2Enum_2E0),V0t))) )
    & ! [V1t] :
        ( mem(V1t,ty_2Elist_2Elist(ty_2Enum_2Enum))
       => ap(ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V1t)) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V1t))) )
    & ap(c_2Enumposrep_2El2n2,c_2Elist_2ENIL(ty_2Enum_2Enum)) = c_2Earithmetic_2EZERO
    & ! [V2t] :
        ( mem(V2t,ty_2Elist_2Elist(ty_2Enum_2Enum))
       => ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),c_2Enum_2E0),V2t)) = ap(c_2Enumeral_2EiDUB,ap(c_2Enumposrep_2El2n2,V2t)) )
    & ! [V3t] :
        ( mem(V3t,ty_2Elist_2Elist(ty_2Enum_2Enum))
       => ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),V3t)) = ap(c_2Earithmetic_2EBIT1,ap(c_2Enumposrep_2El2n2,V3t)) ) ) ).

fof(conj_thm_2Enumposrep_2EBIT__num__from__bin__list,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1l] :
          ( mem(V1l,ty_2Elist_2Elist(ty_2Enum_2Enum))
         => ( ( p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V1l))
              & p(ap(ap(c_2Eprim__rec_2E_3C,V0x),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),V1l))) )
           => ( p(ap(ap(c_2Ebit_2EBIT,V0x),ap(c_2Enumposrep_2Enum__from__bin__list,V1l)))
            <=> ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),V0x),V1l) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)) ) ) ) ) ).

fof(conj_thm_2Enumposrep_2EEL__num__to__bin__list,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,V0x),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(c_2Enumposrep_2Enum__to__bin__list,V1n))))
           => ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),V0x),ap(c_2Enumposrep_2Enum__to__bin__list,V1n)) = ap(ap(c_2Ebit_2EBITV,V1n),V0x) ) ) ) ).

fof(conj_thm_2Enumposrep_2Enum__bin__list,axiom,
    ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum)),c_2Enumposrep_2Enum__from__bin__list),c_2Enumposrep_2Enum__to__bin__list) = c_2Ecombin_2EI(ty_2Enum_2Enum) ).

fof(conj_thm_2Enumposrep_2Enum__oct__list,axiom,
    ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum)),c_2Enumposrep_2Enum__from__oct__list),c_2Enumposrep_2Enum__to__oct__list) = c_2Ecombin_2EI(ty_2Enum_2Enum) ).

fof(conj_thm_2Enumposrep_2Enum__dec__list,axiom,
    ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum)),c_2Enumposrep_2Enum__from__dec__list),c_2Enumposrep_2Enum__to__dec__list) = c_2Ecombin_2EI(ty_2Enum_2Enum) ).

fof(conj_thm_2Enumposrep_2Enum__hex__list,axiom,
    ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Elist_2Elist(ty_2Enum_2Enum)),c_2Enumposrep_2Enum__from__hex__list),c_2Enumposrep_2Enum__to__hex__list) = c_2Ecombin_2EI(ty_2Enum_2Enum) ).

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