ITP001 Axioms: ITP041_5.ax


%------------------------------------------------------------------------------
% File     : ITP041_5 : TPTP v9.0.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    :   78 (  35 unt;  21 typ;   0 def)
%            Number of atoms       : 1293 (  50 equ)
%            Maximal formula atoms :    6 (  16 avg)
%            Number of connectives :   47 (   3   ~;   1   |;  19   &)
%                                         (   2 <=>;  22  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   10 (   3 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       : 1192 (1192 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   10 (   8   >;   2   *;   0   +;   0  <<)
%            Number of predicates  :   62 (  61 usr;  31 prp; 0-3 aty)
%            Number of functors    :   21 (  21 usr;  13 con; 0-2 aty)
%            Number of variables   :   73 (  73   !;   0   ?;  73   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Enumposrep_2EBOOLIFY,type,
    c_2Enumposrep_2EBOOLIFY: $i ).

tff(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))))) ).

tff(tp_c_2Enumposrep_2El2n,type,
    c_2Enumposrep_2El2n: $i ).

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

tff(stp_fo_c_2Enumposrep_2El2n,type,
    fo__c_2Enumposrep_2El2n: ( tp__ty_2Enum_2Enum * tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum ) > tp__ty_2Enum_2Enum ).

tff(stp_eq_fo_c_2Enumposrep_2El2n,axiom,
    ! [X0: tp__ty_2Enum_2Enum,X1: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2Enumposrep_2El2n(X0,X1)) = ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(X0)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(X1)) ) ).

tff(tp_c_2Enumposrep_2El2n2,type,
    c_2Enumposrep_2El2n2: $i ).

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

tff(stp_fo_c_2Enumposrep_2El2n2,type,
    fo__c_2Enumposrep_2El2n2: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

tff(stp_eq_fo_c_2Enumposrep_2El2n2,axiom,
    ! [X0: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2Enumposrep_2El2n2(X0)) = ap(c_2Enumposrep_2El2n2,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Enumposrep_2En2l,type,
    c_2Enumposrep_2En2l: $i ).

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

tff(tp_c_2Enumposrep_2Enum__from__bin__list,type,
    c_2Enumposrep_2Enum__from__bin__list: $i ).

tff(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)) ).

tff(stp_fo_c_2Enumposrep_2Enum__from__bin__list,type,
    fo__c_2Enumposrep_2Enum__from__bin__list: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

tff(stp_eq_fo_c_2Enumposrep_2Enum__from__bin__list,axiom,
    ! [X0: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2Enumposrep_2Enum__from__bin__list(X0)) = ap(c_2Enumposrep_2Enum__from__bin__list,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Enumposrep_2Enum__from__dec__list,type,
    c_2Enumposrep_2Enum__from__dec__list: $i ).

tff(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)) ).

tff(stp_fo_c_2Enumposrep_2Enum__from__dec__list,type,
    fo__c_2Enumposrep_2Enum__from__dec__list: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

tff(stp_eq_fo_c_2Enumposrep_2Enum__from__dec__list,axiom,
    ! [X0: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2Enumposrep_2Enum__from__dec__list(X0)) = ap(c_2Enumposrep_2Enum__from__dec__list,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Enumposrep_2Enum__from__hex__list,type,
    c_2Enumposrep_2Enum__from__hex__list: $i ).

tff(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)) ).

tff(stp_fo_c_2Enumposrep_2Enum__from__hex__list,type,
    fo__c_2Enumposrep_2Enum__from__hex__list: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

tff(stp_eq_fo_c_2Enumposrep_2Enum__from__hex__list,axiom,
    ! [X0: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2Enumposrep_2Enum__from__hex__list(X0)) = ap(c_2Enumposrep_2Enum__from__hex__list,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Enumposrep_2Enum__from__oct__list,type,
    c_2Enumposrep_2Enum__from__oct__list: $i ).

tff(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)) ).

tff(stp_fo_c_2Enumposrep_2Enum__from__oct__list,type,
    fo__c_2Enumposrep_2Enum__from__oct__list: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

tff(stp_eq_fo_c_2Enumposrep_2Enum__from__oct__list,axiom,
    ! [X0: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( inj__ty_2Enum_2Enum(fo__c_2Enumposrep_2Enum__from__oct__list(X0)) = ap(c_2Enumposrep_2Enum__from__oct__list,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(X0)) ) ).

tff(tp_c_2Enumposrep_2Enum__to__bin__list,type,
    c_2Enumposrep_2Enum__to__bin__list: $i ).

tff(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))) ).

tff(tp_c_2Enumposrep_2Enum__to__dec__list,type,
    c_2Enumposrep_2Enum__to__dec__list: $i ).

tff(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))) ).

tff(tp_c_2Enumposrep_2Enum__to__hex__list,type,
    c_2Enumposrep_2Enum__to__hex__list: $i ).

tff(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))) ).

tff(tp_c_2Enumposrep_2Enum__to__oct__list,type,
    c_2Enumposrep_2Enum__to__oct__list: $i ).

tff(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))) ).

tff(ax_thm_2Enumposrep_2El2n__def,axiom,
    ( ! [V0b: tp__ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),c_2Elist_2ENIL(ty_2Enum_2Enum))) = fo__c_2Enum_2E0 )
    & ! [V1b: tp__ty_2Enum_2Enum,V2h: tp__ty_2Enum_2Enum,V3t: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V1b)),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2h)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V3t)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V2h)),inj__ty_2Enum_2Enum(V1b))),ap(ap(c_2Earithmetic_2E_2A,inj__ty_2Enum_2Enum(V1b)),ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V1b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V3t))))) ) ) ).

tff(conj_thm_2Enumposrep_2En2l__ind,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ( ! [V1b: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] :
            ( ( ~ ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Enum_2Enum(V1b)))
                  | p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1b)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
             => p(ap(ap(V0P,inj__ty_2Enum_2Enum(V1b)),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Enum_2Enum(V1b)))) )
           => p(ap(ap(V0P,inj__ty_2Enum_2Enum(V1b)),inj__ty_2Enum_2Enum(V2n))) )
       => ! [V3v: tp__ty_2Enum_2Enum,V4v1: tp__ty_2Enum_2Enum] : p(ap(ap(V0P,inj__ty_2Enum_2Enum(V3v)),inj__ty_2Enum_2Enum(V4v1))) ) ) ).

tff(conj_thm_2Enumposrep_2En2l__def,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1b: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V1b)),inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(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,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1b))),ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1b)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1b))),c_2Elist_2ENIL(ty_2Enum_2Enum))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1b))),ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V1b)),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(V1b)))))) ) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ).

tff(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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ).

tff(ax_thm_2Enumposrep_2EBOOLIFY__def,axiom,
    ( ! [V0m: tp__ty_2Enum_2Enum,V1a: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Enumposrep_2EBOOLIFY,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0m)),inj__c_ty_2Elist_2Elist_o(V1a))) = V1a )
    & ! [V2n: tp__ty_2Enum_2Enum,V3m: tp__ty_2Enum_2Enum,V4a: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Enumposrep_2EBOOLIFY,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V2n))),inj__ty_2Enum_2Enum(V3m)),inj__c_ty_2Elist_2Elist_o(V4a))) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Enumposrep_2EBOOLIFY,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V3m))),ap(ap(c_2Elist_2ECONS(bool),ap(c_2Earithmetic_2EODD,inj__ty_2Enum_2Enum(V3m))),inj__c_ty_2Elist_2Elist_o(V4a)))) ) ) ).

tff(conj_thm_2Enumposrep_2ELENGTH__n2l,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
     => ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1n)))) = surj__ty_2Enum_2Enum(ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(c_2Enum_2ESUC,ap(ap(c_2Elogroot_2ELOG,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1n))))) ) ) ).

tff(conj_thm_2Enumposrep_2El2n__n2l,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1n)))) = V1n ) ) ).

tff(conj_thm_2Enumposrep_2El2n__lt,axiom,
    ! [V0l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum,V1b: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V1b)))
     => p(ap(ap(c_2Eprim__rec_2E_3C,ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V1b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V0l))),ap(ap(c_2Earithmetic_2EEXP,inj__ty_2Enum_2Enum(V1b)),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V0l))))) ) ).

tff(conj_thm_2Enumposrep_2ELENGTH__l2n,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
        & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,inj__ty_2Enum_2Enum(V0b))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))
        & ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) != fo__c_2Enum_2E0 ) )
     => p(ap(ap(c_2Earithmetic_2E_3C_3D,ap(c_2Enum_2ESUC,ap(ap(c_2Elogroot_2ELOG,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))))),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) ) ).

tff(conj_thm_2Enumposrep_2El2n__DIGIT,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum,V2x: tp__ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
        & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,inj__ty_2Enum_2Enum(V0b))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))
        & p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2x)),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) )
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))),ap(ap(c_2Earithmetic_2EEXP,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V2x)))),inj__ty_2Enum_2Enum(V0b))) = surj__ty_2Enum_2Enum(ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2x)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) ) ) ).

tff(conj_thm_2Enumposrep_2EDIV__0__IMP__LT,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
        & ( surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(V0b))) = fo__c_2Enum_2E0 ) )
     => p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(V0b))) ) ).

tff(conj_thm_2Enumposrep_2EEL__n2l,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
        & p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1x)),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V2n))))) )
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V1x)),ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V2n)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V2n)),ap(ap(c_2Earithmetic_2EEXP,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1x)))),inj__ty_2Enum_2Enum(V0b))) ) ) ).

tff(conj_thm_2Enumposrep_2En2l__l2n,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
        & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,inj__ty_2Enum_2Enum(V0b))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) )
     => ( surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) = surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(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,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__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,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) ) ) ).

tff(conj_thm_2Enumposrep_2El2n__eq__0,axiom,
    ! [V0b: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0b)))
     => ! [V1l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) = fo__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),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Ecombin_2EC(ty_2Enum_2Enum,ty_2Enum_2Enum,ty_2Enum_2Enum),c_2Earithmetic_2EMOD),inj__ty_2Enum_2Enum(V0b)))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) ) ) ).

tff(conj_thm_2Enumposrep_2El2n__SNOC__0,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1ls: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0b)))
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Elist_2ESNOC(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1ls)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1ls))) ) ) ).

tff(conj_thm_2Enumposrep_2ELOG__l2n,axiom,
    ! [V0b: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
     => ! [V1l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
          ( ( ( V1l != surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(c_2Elist_2ENIL(ty_2Enum_2Enum)) )
            & p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),ap(c_2Elist_2ELAST(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))))
            & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,inj__ty_2Enum_2Enum(V0b))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) )
         => ( surj__ty_2Enum_2Enum(ap(ap(c_2Elogroot_2ELOG,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) = surj__ty_2Enum_2Enum(ap(c_2Eprim__rec_2EPRE,ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) ) ) ) ).

tff(conj_thm_2Enumposrep_2El2n__dropWhile__0,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1ls: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0b)))
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),ap(c_2Elist_2EREVERSE(ty_2Enum_2Enum),ap(ap(c_2Elist_2EdropWhile(ty_2Enum_2Enum),ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Elist_2EREVERSE(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1ls)))))) = surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1ls))) ) ) ).

tff(lamtp_f818,type,
    f818: $i ).

tff(lameq_f818,axiom,
    ! [V2y: tp__ty_2Enum_2Enum] : ( ap(f818,inj__ty_2Enum_2Enum(V2y)) = ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V2y))) ) ).

tff(conj_thm_2Enumposrep_2ELOG__l2n__dropWhile,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0b)))
        & p(ap(ap(c_2Elist_2EEXISTS(ty_2Enum_2Enum),f818),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))
        & p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,inj__ty_2Enum_2Enum(V0b))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) )
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Elogroot_2ELOG,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Enumposrep_2El2n,inj__ty_2Enum_2Enum(V0b)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) = surj__ty_2Enum_2Enum(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),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Elist_2EREVERSE(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))))) ) ) ).

tff(conj_thm_2Enumposrep_2En2l__BOUND,axiom,
    ! [V0b: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0b)))
     => p(ap(ap(c_2Elist_2EEVERY(ty_2Enum_2Enum),ap(c_2Earithmetic_2E_3E,inj__ty_2Enum_2Enum(V0b))),ap(ap(c_2Enumposrep_2En2l,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1n)))) ) ).

tff(conj_thm_2Enumposrep_2El2n__pow2__compute,axiom,
    ( ! [V0p: tp__ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0p))),c_2Elist_2ENIL(ty_2Enum_2Enum))) = fo__c_2Enum_2E0 )
    & ! [V1p: tp__ty_2Enum_2Enum,V2h: tp__ty_2Enum_2Enum,V3t: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V1p))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2h)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V3t)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Ebit_2EMOD__2EXP,inj__ty_2Enum_2Enum(V1p)),inj__ty_2Enum_2Enum(V2h))),ap(ap(c_2Ebit_2ETIMES__2EXP,inj__ty_2Enum_2Enum(V1p)),ap(ap(c_2Enumposrep_2El2n,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V1p))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V3t))))) ) ) ).

tff(lamtp_f819,type,
    f819: ( tp__ty_2Enum_2Enum * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f819,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V2q: tp__ty_2Enum_2Enum,V3r: tp__ty_2Enum_2Enum] : ( ap(f819(V0p,V2q),inj__ty_2Enum_2Enum(V3r)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(ty_2Enum_2Enum)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2q)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V3r)),c_2Elist_2ENIL(ty_2Enum_2Enum))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V3r)),ap(ap(c_2Enumposrep_2En2l,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0p))),inj__ty_2Enum_2Enum(V2q)))) ) ).

tff(lamtp_f820,type,
    f820: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f820,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V2q: tp__ty_2Enum_2Enum] : ( ap(f820(V0p),inj__ty_2Enum_2Enum(V2q)) = f819(V0p,V2q) ) ).

tff(conj_thm_2Enumposrep_2En2l__pow2__compute,axiom,
    ! [V0p: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0p)))
     => ( surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2En2l,ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0p))),inj__ty_2Enum_2Enum(V1n))) = surj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(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,inj__ty_2Enum_2Enum(V0p)),inj__ty_2Enum_2Enum(V1n)))) ) ) ).

tff(ax_thm_2Enumposrep_2El2n2,axiom,
    c_2Enumposrep_2El2n2 = ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) ).

tff(conj_thm_2Enumposrep_2El2n__2__thms,axiom,
    ( ! [V0t: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V0t)))) = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V0t))))) )
    & ! [V1t: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(ap(c_2Enumposrep_2El2n,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1t)))) = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1t))))) )
    & ( surj__ty_2Enum_2Enum(ap(c_2Enumposrep_2El2n2,c_2Elist_2ENIL(ty_2Enum_2Enum))) = fo__c_2Earithmetic_2EZERO )
    & ! [V2t: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V2t)))) = surj__ty_2Enum_2Enum(ap(c_2Enumeral_2EiDUB,ap(c_2Enumposrep_2El2n2,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V2t)))) )
    & ! [V3t: tp__c_ty_2Elist_2Elist_ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(c_2Enumposrep_2El2n2,ap(ap(c_2Elist_2ECONS(ty_2Enum_2Enum),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V3t)))) = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2EBIT1,ap(c_2Enumposrep_2El2n2,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V3t)))) ) ) ).

tff(conj_thm_2Enumposrep_2EBIT__num__from__bin__list,axiom,
    ! [V0x: tp__ty_2Enum_2Enum,V1l: tp__c_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,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))
        & p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0x)),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l)))) )
     => ( p(ap(ap(c_2Ebit_2EBIT,inj__ty_2Enum_2Enum(V0x)),ap(c_2Enumposrep_2Enum__from__bin__list,inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))))
      <=> ( surj__ty_2Enum_2Enum(ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0x)),inj__c_ty_2Elist_2Elist_ty_2Enum_2Enum(V1l))) = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) ) ) ) ).

tff(conj_thm_2Enumposrep_2EEL__num__to__bin__list,axiom,
    ! [V0x: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0x)),ap(c_2Elist_2ELENGTH(ty_2Enum_2Enum),ap(c_2Enumposrep_2Enum__to__bin__list,inj__ty_2Enum_2Enum(V1n)))))
     => ( surj__ty_2Enum_2Enum(ap(ap(c_2Elist_2EEL(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0x)),ap(c_2Enumposrep_2Enum__to__bin__list,inj__ty_2Enum_2Enum(V1n)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Ebit_2EBITV,inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(V0x))) ) ) ).

tff(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) ).

tff(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) ).

tff(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) ).

tff(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) ).

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