ITP001 Axioms: ITP043_5.ax


%------------------------------------------------------------------------------
% File     : ITP043_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    : Encode_2.ax [Gau20]
%          : HL4043_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  154 (  36 unt;  47 typ;   0 def)
%            Number of atoms       : 2222 (  78 equ)
%            Maximal formula atoms :   16 (  14 avg)
%            Number of connectives :  284 (   3   ~;   1   |;  49   &)
%                                         (  17 <=>; 214  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   20 (   6 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of FOOLs       : 1834 (1834 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   69 (  39   >;  30   *;   0   +;   0  <<)
%            Number of predicates  :   76 (  75 usr;  26 prp; 0-3 aty)
%            Number of functors    :   47 (  47 usr;   8 con; 0-5 aty)
%            Number of variables   :  343 ( 335   !;   8   ?; 343   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_ty_2EEncode_2Etree,type,
    ty_2EEncode_2Etree: del > del ).

tff(tp_c_2EEncode_2ENode,type,
    c_2EEncode_2ENode: del > $i ).

tff(mem_c_2EEncode_2ENode,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2ENode(A_27a),arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a)))) ).

tff(tp_c_2EEncode_2Ebiprefix,type,
    c_2EEncode_2Ebiprefix: del > $i ).

tff(mem_c_2EEncode_2Ebiprefix,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Ebiprefix(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))) ).

tff(tp_c_2EEncode_2Ecollision__free,type,
    c_2EEncode_2Ecollision__free: $i ).

tff(mem_c_2EEncode_2Ecollision__free,axiom,
    mem(c_2EEncode_2Ecollision__free,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),bool))) ).

tff(tp_c_2EEncode_2Eencode__blist,type,
    c_2EEncode_2Eencode__blist: ( del * del ) > $i ).

tff(mem_c_2EEncode_2Eencode__blist,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Eencode__blist(A_27a,A_27b),arr(ty_2Enum_2Enum,arr(arr(A_27b,ty_2Elist_2Elist(A_27a)),arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27a))))) ).

tff(tp_c_2EEncode_2Eencode__bnum,type,
    c_2EEncode_2Eencode__bnum: $i ).

tff(mem_c_2EEncode_2Eencode__bnum,axiom,
    mem(c_2EEncode_2Eencode__bnum,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ).

tff(tp_c_2EEncode_2Eencode__bool,type,
    c_2EEncode_2Eencode__bool: $i ).

tff(mem_c_2EEncode_2Eencode__bool,axiom,
    mem(c_2EEncode_2Eencode__bool,arr(bool,ty_2Elist_2Elist(bool))) ).

tff(tp_c_2EEncode_2Eencode__list,type,
    c_2EEncode_2Eencode__list: del > $i ).

tff(mem_c_2EEncode_2Eencode__list,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Eencode__list(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))) ).

tff(tp_c_2EEncode_2Eencode__num,type,
    c_2EEncode_2Eencode__num: $i ).

tff(mem_c_2EEncode_2Eencode__num,axiom,
    mem(c_2EEncode_2Eencode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))) ).

tff(tp_c_2EEncode_2Eencode__option,type,
    c_2EEncode_2Eencode__option: del > $i ).

tff(mem_c_2EEncode_2Eencode__option,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Eencode__option(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))) ).

tff(tp_c_2EEncode_2Eencode__prod,type,
    c_2EEncode_2Eencode__prod: ( del * del ) > $i ).

tff(mem_c_2EEncode_2Eencode__prod,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Eencode__prod(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))))) ).

tff(tp_c_2EEncode_2Eencode__sum,type,
    c_2EEncode_2Eencode__sum: ( del * del ) > $i ).

tff(mem_c_2EEncode_2Eencode__sum,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Eencode__sum(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))))) ).

tff(tp_c_2EEncode_2Eencode__tree,type,
    c_2EEncode_2Eencode__tree: del > $i ).

tff(mem_c_2EEncode_2Eencode__tree,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Eencode__tree(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))) ).

tff(tp_c_2EEncode_2Eencode__unit,type,
    c_2EEncode_2Eencode__unit: $i ).

tff(mem_c_2EEncode_2Eencode__unit,axiom,
    mem(c_2EEncode_2Eencode__unit,arr(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))) ).

tff(tp_c_2EEncode_2Elift__blist,type,
    c_2EEncode_2Elift__blist: del > $i ).

tff(mem_c_2EEncode_2Elift__blist,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Elift__blist(A_27a),arr(ty_2Enum_2Enum,arr(arr(A_27a,bool),arr(ty_2Elist_2Elist(A_27a),bool)))) ).

tff(tp_c_2EEncode_2Elift__option,type,
    c_2EEncode_2Elift__option: del > $i ).

tff(mem_c_2EEncode_2Elift__option,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Elift__option(A_27a),arr(arr(A_27a,bool),arr(ty_2Eoption_2Eoption(A_27a),bool))) ).

tff(tp_c_2EEncode_2Elift__prod,type,
    c_2EEncode_2Elift__prod: ( del * del ) > $i ).

tff(mem_c_2EEncode_2Elift__prod,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Elift__prod(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Epair_2Eprod(A_27a,A_27b),bool)))) ).

tff(tp_c_2EEncode_2Elift__sum,type,
    c_2EEncode_2Elift__sum: ( del * del ) > $i ).

tff(mem_c_2EEncode_2Elift__sum,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Elift__sum(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_2EEncode_2Elift__tree,type,
    c_2EEncode_2Elift__tree: del > $i ).

tff(mem_c_2EEncode_2Elift__tree,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Elift__tree(A_27a),arr(arr(A_27a,bool),arr(ty_2EEncode_2Etree(A_27a),bool))) ).

tff(tp_c_2EEncode_2Etree1__size,type,
    c_2EEncode_2Etree1__size: del > $i ).

tff(mem_c_2EEncode_2Etree1__size,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Etree1__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2Enum_2Enum))) ).

tff(tp_c_2EEncode_2Etree__CASE,type,
    c_2EEncode_2Etree__CASE: ( del * del ) > $i ).

tff(mem_c_2EEncode_2Etree__CASE,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Etree__CASE(A_27a,A_27b),arr(ty_2EEncode_2Etree(A_27a),arr(arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)),A_27b))) ).

tff(tp_c_2EEncode_2Etree__size,type,
    c_2EEncode_2Etree__size: del > $i ).

tff(mem_c_2EEncode_2Etree__size,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Etree__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2EEncode_2Etree(A_27a),ty_2Enum_2Enum))) ).

tff(tp_c_2EEncode_2Ewf__encoder,type,
    c_2EEncode_2Ewf__encoder: del > $i ).

tff(mem_c_2EEncode_2Ewf__encoder,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Ewf__encoder(A_27a),arr(arr(A_27a,bool),arr(arr(A_27a,ty_2Elist_2Elist(bool)),bool))) ).

tff(tp_c_2EEncode_2Ewf__pred,type,
    c_2EEncode_2Ewf__pred: del > $i ).

tff(mem_c_2EEncode_2Ewf__pred,axiom,
    ! [A_27a: del] : mem(c_2EEncode_2Ewf__pred(A_27a),arr(arr(A_27a,bool),bool)) ).

tff(tp_c_2EEncode_2Ewf__pred__bnum,type,
    c_2EEncode_2Ewf__pred__bnum: $i ).

tff(mem_c_2EEncode_2Ewf__pred__bnum,axiom,
    mem(c_2EEncode_2Ewf__pred__bnum,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),bool))) ).

tff(ax_thm_2EEncode_2Ebiprefix__def,axiom,
    ! [A_27a: del,V0a: $i] :
      ( mem(V0a,ty_2Elist_2Elist(A_27a))
     => ! [V1b: $i] :
          ( mem(V1b,ty_2Elist_2Elist(A_27a))
         => ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0a),V1b))
          <=> ( p(ap(ap(c_2Elist_2EisPREFIX(A_27a),V1b),V0a))
              | p(ap(ap(c_2Elist_2EisPREFIX(A_27a),V0a),V1b)) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ebiprefix__refl,axiom,
    ! [A_27a: del,V0x: $i] :
      ( mem(V0x,ty_2Elist_2Elist(A_27a))
     => p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V0x)) ) ).

tff(conj_thm_2EEncode_2Ebiprefix__sym,axiom,
    ! [A_27a: del,V0x: $i] :
      ( mem(V0x,ty_2Elist_2Elist(A_27a))
     => ! [V1y: $i] :
          ( mem(V1y,ty_2Elist_2Elist(A_27a))
         => ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V1y))
           => p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1y),V0x)) ) ) ) ).

tff(conj_thm_2EEncode_2Ebiprefix__append,axiom,
    ! [A_27a: del,V0a: $i] :
      ( mem(V0a,ty_2Elist_2Elist(A_27a))
     => ! [V1b: $i] :
          ( mem(V1b,ty_2Elist_2Elist(A_27a))
         => ! [V2c: $i] :
              ( mem(V2c,ty_2Elist_2Elist(A_27a))
             => ! [V3d: $i] :
                  ( mem(V3d,ty_2Elist_2Elist(A_27a))
                 => ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V1b)),ap(ap(c_2Elist_2EAPPEND(A_27a),V2c),V3d)))
                   => p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0a),V2c)) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ebiprefix__cons,axiom,
    ! [A_27a: del,V0a: $i] :
      ( mem(V0a,A_27a)
     => ! [V1b: $i] :
          ( mem(V1b,ty_2Elist_2Elist(A_27a))
         => ! [V2c: $i] :
              ( mem(V2c,A_27a)
             => ! [V3d: $i] :
                  ( mem(V3d,ty_2Elist_2Elist(A_27a))
                 => ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V0a),V1b)),ap(ap(c_2Elist_2ECONS(A_27a),V2c),V3d)))
                  <=> ( ( V0a = V2c )
                      & p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1b),V3d)) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ebiprefix__appends,axiom,
    ! [A_27a: del,V0a: $i] :
      ( mem(V0a,ty_2Elist_2Elist(A_27a))
     => ! [V1b: $i] :
          ( mem(V1b,ty_2Elist_2Elist(A_27a))
         => ! [V2c: $i] :
              ( mem(V2c,ty_2Elist_2Elist(A_27a))
             => ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V1b)),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V2c)))
              <=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1b),V2c)) ) ) ) ) ).

tff(ax_thm_2EEncode_2Ewf__pred__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ( p(ap(c_2EEncode_2Ewf__pred(A_27a),V0p))
      <=> ? [V1x: $i] :
            ( mem(V1x,A_27a)
            & p(ap(V0p,V1x)) ) ) ) ).

tff(ax_thm_2EEncode_2Ewf__encoder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
          <=> ! [V2x: $i] :
                ( mem(V2x,A_27a)
               => ! [V3y: $i] :
                    ( mem(V3y,A_27a)
                   => ( ( p(ap(V0p,V2x))
                        & p(ap(V0p,V3y))
                        & p(ap(ap(c_2Elist_2EisPREFIX(bool),ap(V1e,V3y)),ap(V1e,V2x))) )
                     => ( V2x = V3y ) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encoder__alt,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
          <=> ! [V2x: $i] :
                ( mem(V2x,A_27a)
               => ! [V3y: $i] :
                    ( mem(V3y,A_27a)
                   => ( ( p(ap(V0p,V2x))
                        & p(ap(V0p,V3y))
                        & p(ap(ap(c_2EEncode_2Ebiprefix(bool),ap(V1e,V2x)),ap(V1e,V3y))) )
                     => ( V2x = V3y ) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encoder__eq,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2f: $i] :
              ( mem(V2f,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                  & ! [V3x: $i] :
                      ( mem(V3x,A_27a)
                     => ( p(ap(V0p,V3x))
                       => ( surj__c_ty_2Elist_2Elist_o(ap(V1e,V3x)) = surj__c_ty_2Elist_2Elist_o(ap(V2f,V3x)) ) ) ) )
               => p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V2f)) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encoder__total,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),ap(c_2Ecombin_2EK(bool,A_27a),inj__o(fo__c_2Ebool_2ET))),V1e))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e)) ) ) ) ).

tff(ax_thm_2EEncode_2Eencode__unit__def,axiom,
    ! [V0v0: tp__ty_2Eone_2Eone] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__unit,inj__ty_2Eone_2Eone(V0v0))) = surj__c_ty_2Elist_2Elist_o(c_2Elist_2ENIL(bool)) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__unit,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Eone_2Eone),V0p),c_2EEncode_2Eencode__unit)) ) ).

tff(ax_thm_2EEncode_2Eencode__bool__def,axiom,
    ! [V0x: tp__o] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__bool,inj__o(V0x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(V0x)),c_2Elist_2ENIL(bool))) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__bool,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => p(ap(ap(c_2EEncode_2Ewf__encoder(bool),V0p),c_2EEncode_2Eencode__bool)) ) ).

tff(ax_thm_2EEncode_2Eencode__prod__def,axiom,
    ! [A_27a: del,A_27b: del,V0xb: $i] :
      ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
     => ! [V1yb: $i] :
          ( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ! [V3y: $i] :
                  ( mem(V3y,A_27b)
                 => ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),ap(ap(c_2Epair_2E_2C(A_27a,A_27b),V2x),V3y))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,V2x)),ap(V1yb,V3y))) ) ) ) ) ) ).

tff(ax_thm_2EEncode_2Elift__prod__def,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2x: $i] :
              ( mem(V2x,ty_2Epair_2Eprod(A_27a,A_27b))
             => ( p(ap(ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2),V2x))
              <=> ( p(ap(V0p1,ap(c_2Epair_2EFST(A_27a,A_27b),V2x)))
                  & p(ap(V1p2,ap(c_2Epair_2ESND(A_27a,A_27b),V2x))) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Eencode__prod__alt,axiom,
    ! [A_27a: del,A_27b: del,V0xb: $i] :
      ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
     => ! [V1yb: $i] :
          ( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
         => ! [V2p: $i] :
              ( mem(V2p,ty_2Epair_2Eprod(A_27a,A_27b))
             => ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),V2p)) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,ap(c_2Epair_2EFST(A_27a,A_27b),V2p))),ap(V1yb,ap(c_2Epair_2ESND(A_27a,A_27b),V2p)))) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2e1: $i] :
              ( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ! [V3e2: $i] :
                  ( mem(V3e2,arr(A_27b,ty_2Elist_2Elist(bool)))
                 => ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p1),V2e1))
                      & p(ap(ap(c_2EEncode_2Ewf__encoder(A_27b),V1p2),V3e2)) )
                   => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Epair_2Eprod(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V2e1),V3e2))) ) ) ) ) ) ).

tff(ax_thm_2EEncode_2Eencode__sum__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0xb: $i] :
          ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V1yb: $i] :
              ( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
             => ! [V2x: $i] :
                  ( mem(V2x,A_27a)
                 => ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V0xb),V1yb),ap(c_2Esum_2EINL(A_27a,A_27b),V2x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(V0xb,V2x))) ) ) ) )
      & ! [V3xb: $i] :
          ( mem(V3xb,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V4yb: $i] :
              ( mem(V4yb,arr(A_27b,ty_2Elist_2Elist(bool)))
             => ! [V5y: $i] :
                  ( mem(V5y,A_27b)
                 => ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V3xb),V4yb),ap(c_2Esum_2EINR(A_27a,A_27b),V5y))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(V4yb,V5y))) ) ) ) ) ) ).

tff(lamtp_f985,type,
    f985: ( del * $i ) > $i ).

tff(lameq_f985,axiom,
    ! [A_27a: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V3x1: $i] : ( ap(f985(A_27a,V0p1),V3x1) = ap(V0p1,V3x1) ) ) ).

tff(lamtp_f986,type,
    f986: ( del * $i ) > $i ).

tff(lameq_f986,axiom,
    ! [A_27b: del,V1p2: $i] :
      ( mem(V1p2,arr(A_27b,bool))
     => ! [V4x2: $i] : ( ap(f986(A_27b,V1p2),V4x2) = ap(V1p2,V4x2) ) ) ).

tff(ax_thm_2EEncode_2Elift__sum__def,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2x: $i] :
              ( mem(V2x,ty_2Esum_2Esum(A_27a,A_27b))
             => ( p(ap(ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2),V2x))
              <=> p(ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,bool),V2x),f985(A_27a,V0p1)),f986(A_27b,V1p2))) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2e1: $i] :
              ( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ! [V3e2: $i] :
                  ( mem(V3e2,arr(A_27b,ty_2Elist_2Elist(bool)))
                 => ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p1),V2e1))
                      & p(ap(ap(c_2EEncode_2Ewf__encoder(A_27b),V1p2),V3e2)) )
                   => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Esum_2Esum(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V2e1),V3e2))) ) ) ) ) ) ).

tff(ax_thm_2EEncode_2Eencode__option__def,axiom,
    ! [A_27a: del] :
      ( ! [V0xb: $i] :
          ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__option(A_27a),V0xb),c_2Eoption_2ENONE(A_27a))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),c_2Elist_2ENIL(bool))) ) )
      & ! [V1xb: $i] :
          ( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__option(A_27a),V1xb),ap(c_2Eoption_2ESOME(A_27a),V2x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(V1xb,V2x))) ) ) ) ) ).

tff(lamtp_f987,type,
    f987: ( del * $i ) > $i ).

tff(lameq_f987,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V2y: $i] : ( ap(f987(A_27a,V0p),V2y) = ap(V0p,V2y) ) ) ).

tff(ax_thm_2EEncode_2Elift__option__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1x: $i] :
          ( mem(V1x,ty_2Eoption_2Eoption(A_27a))
         => ( p(ap(ap(c_2EEncode_2Elift__option(A_27a),V0p),V1x))
          <=> p(ap(ap(ap(c_2Eoption_2Eoption__CASE(A_27a,bool),V1x),inj__o(fo__c_2Ebool_2ET)),f987(A_27a,V0p))) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__option,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Eoption_2Eoption(A_27a)),ap(c_2EEncode_2Elift__option(A_27a),V0p)),ap(c_2EEncode_2Eencode__option(A_27a),V1e))) ) ) ) ).

tff(ax_thm_2EEncode_2Eencode__list__def,axiom,
    ! [A_27a: del] :
      ( ! [V0xb: $i] :
          ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V0xb),c_2Elist_2ENIL(A_27a))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),c_2Elist_2ENIL(bool))) ) )
      & ! [V1xb: $i] :
          ( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ! [V3xs: $i] :
                  ( mem(V3xs,ty_2Elist_2Elist(A_27a))
                 => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),ap(ap(c_2Elist_2ECONS(A_27a),V2x),V3xs))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2EAPPEND(bool),ap(V1xb,V2x)),ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),V3xs)))) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__list,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Elist_2Elist(A_27a)),ap(c_2Elist_2EEVERY(A_27a),V0p)),ap(c_2EEncode_2Eencode__list(A_27a),V1e))) ) ) ) ).

tff(conj_thm_2EEncode_2Eencode__list__cong,axiom,
    ! [A_27a: del,V0l1: $i] :
      ( mem(V0l1,ty_2Elist_2Elist(A_27a))
     => ! [V1l2: $i] :
          ( mem(V1l2,ty_2Elist_2Elist(A_27a))
         => ! [V2f1: $i] :
              ( mem(V2f1,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ! [V3f2: $i] :
                  ( mem(V3f2,arr(A_27a,ty_2Elist_2Elist(bool)))
                 => ( ( ( V0l1 = V1l2 )
                      & ! [V4x: $i] :
                          ( mem(V4x,A_27a)
                         => ( p(ap(ap(c_2Ebool_2EIN(A_27a),V4x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1l2)))
                           => ( surj__c_ty_2Elist_2Elist_o(ap(V2f1,V4x)) = surj__c_ty_2Elist_2Elist_o(ap(V3f2,V4x)) ) ) ) )
                   => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V2f1),V0l1)) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V3f2),V1l2)) ) ) ) ) ) ) ).

tff(ax_thm_2EEncode_2Eencode__blist__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0e: $i] :
          ( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
         => ! [V1l: $i] :
              ( mem(V1l,ty_2Elist_2Elist(A_27b))
             => ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) ) )
      & ! [V2m: tp__ty_2Enum_2Enum,V3e: $i] :
          ( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
         => ! [V4l: $i] :
              ( mem(V4l,ty_2Elist_2Elist(A_27b))
             => ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V2m))),V3e),V4l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V3e,ap(c_2Elist_2EHD(A_27b),V4l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),inj__ty_2Enum_2Enum(V2m)),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) ) ) ).

tff(conj_thm_2EEncode_2Eencode__blist__def__compute,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0e: $i] :
          ( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
         => ! [V1l: $i] :
              ( mem(V1l,ty_2Elist_2Elist(A_27b))
             => ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) ) )
      & ! [V2m: tp__ty_2Enum_2Enum,V3e: $i] :
          ( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
         => ! [V4l: $i] :
              ( mem(V4l,ty_2Elist_2Elist(A_27b))
             => ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V2m)))),V3e),V4l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V3e,ap(c_2Elist_2EHD(A_27b),V4l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V2m)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) )
      & ! [V5m: tp__ty_2Enum_2Enum,V6e: $i] :
          ( mem(V6e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
         => ! [V7l: $i] :
              ( mem(V7l,ty_2Elist_2Elist(A_27b))
             => ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(V5m)))),V6e),V7l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V6e,ap(c_2Elist_2EHD(A_27b),V7l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V5m)))),V6e),ap(c_2Elist_2ETL(A_27b),V7l))) ) ) ) ) ).

tff(ax_thm_2EEncode_2Elift__blist__def,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(A_27a,bool))
     => ! [V2x: $i] :
          ( mem(V2x,ty_2Elist_2Elist(A_27a))
         => ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p),V2x))
          <=> ( p(ap(ap(c_2Elist_2EEVERY(A_27a),V1p),V2x))
              & ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(A_27a),V2x)) = V0m ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Elift__blist__suc,axiom,
    ! [A_27a: del,V0n: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(A_27a,bool))
     => ! [V2h: $i] :
          ( mem(V2h,A_27a)
         => ! [V3t: $i] :
              ( mem(V3t,ty_2Elist_2Elist(A_27a))
             => ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V0n))),V1p),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)))
              <=> ( p(ap(V1p,V2h))
                  & p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0n)),V1p),V3t)) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(A_27a,bool))
     => ! [V2e: $i] :
          ( mem(V2e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V1p),V2e))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Elist_2Elist(A_27a)),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p)),ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),inj__ty_2Enum_2Enum(V0m)),V2e))) ) ) ) ).

tff(lamtp_f988,type,
    f988: $i > $i ).

tff(lameq_f988,axiom,
    ! [V0R: $i] :
      ( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ! [V1n: tp__ty_2Enum_2Enum] : ( ap(f988(V0R),inj__ty_2Enum_2Enum(V1n)) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,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_2EEVEN,inj__ty_2Enum_2Enum(V1n)))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V1n))) ) ) ).

tff(lamtp_f989,type,
    f989: $i > $i ).

tff(lameq_f989,axiom,
    ! [V0R: $i] :
      ( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ! [V2n: tp__ty_2Enum_2Enum] : ( ap(f989(V0R),inj__ty_2Enum_2Enum(V2n)) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V2n))))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V2n))) ) ) ).

tff(lamtp_f990,type,
    f990: $i ).

tff(lameq_f990,axiom,
    ! [V0R: $i] : ( ap(f990,V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Enum_2Enum),V0R)),ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f988(V0R))),ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f989(V0R)))) ) ).

tff(lamtp_f991,type,
    f991: $i > $i ).

tff(lameq_f991,axiom,
    ! [V3encode__num: $i] :
      ( mem(V3encode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))
     => ! [V4a: tp__ty_2Enum_2Enum] : ( ap(f991(V3encode__num),inj__ty_2Enum_2Enum(V4a)) = ap(c_2Ecombin_2EI(ty_2Elist_2Elist(bool)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V4a)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V4a))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V4a)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V4a)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))) ) ) ).

tff(lamtp_f992,type,
    f992: $i ).

tff(lameq_f992,axiom,
    ! [V3encode__num: $i] : ( ap(f992,V3encode__num) = f991(V3encode__num) ) ).

tff(ax_thm_2EEncode_2Eencode__num__primitive__def,axiom,
    c_2EEncode_2Eencode__num = ap(ap(c_2Erelation_2EWFREC(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(c_2Emin_2E_40(arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool))),f990)),f992) ).

tff(conj_thm_2EEncode_2Eencode__num__def,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__num,inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V0n))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))) ) ).

tff(conj_thm_2EEncode_2Eencode__num__ind,axiom,
    ! [V0P: $i] :
      ( mem(V0P,arr(ty_2Enum_2Enum,bool))
     => ( ! [V1n: tp__ty_2Enum_2Enum] :
            ( ( ( ( ( V1n != fo__c_2Enum_2E0 )
                  & p(ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V1n))) )
               => p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) )
              & ( ( ( V1n != fo__c_2Enum_2E0 )
                  & ~ p(ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V1n))) )
               => p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) )
           => p(ap(V0P,inj__ty_2Enum_2Enum(V1n))) )
       => ! [V2v: tp__ty_2Enum_2Enum] : p(ap(V0P,inj__ty_2Enum_2Enum(V2v))) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__num,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V0p),c_2EEncode_2Eencode__num)) ) ).

tff(ax_thm_2EEncode_2Eencode__bnum__def,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(c_2Elist_2ENIL(bool)) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1m))),inj__ty_2Enum_2Enum(V2n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V2n)))),ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V1m)),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ) ).

tff(conj_thm_2EEncode_2Eencode__bnum__def__compute,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(c_2Elist_2ENIL(bool)) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V1m)))),inj__ty_2Enum_2Enum(V2n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V2n)))),ap(ap(c_2EEncode_2Eencode__bnum,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V1m)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) )
    & ! [V3m: tp__ty_2Enum_2Enum,V4n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(V3m)))),inj__ty_2Enum_2Enum(V4n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V4n)))),ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V3m)))),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V4n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ) ).

tff(ax_thm_2EEncode_2Ecollision__free__def,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( p(ap(ap(c_2EEncode_2Ecollision__free,inj__ty_2Enum_2Enum(V0m)),V1p))
      <=> ! [V2x: tp__ty_2Enum_2Enum,V3y: tp__ty_2Enum_2Enum] :
            ( ( p(ap(V1p,inj__ty_2Enum_2Enum(V2x)))
              & p(ap(V1p,inj__ty_2Enum_2Enum(V3y)))
              & ( surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V2x)),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(V0m)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V3y)),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(V0m)))) ) )
           => ( V2x = V3y ) ) ) ) ).

tff(ax_thm_2EEncode_2Ewf__pred__bnum__def,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
      <=> ( p(ap(c_2EEncode_2Ewf__pred(ty_2Enum_2Enum),V1p))
          & ! [V2x: tp__ty_2Enum_2Enum] :
              ( p(ap(V1p,inj__ty_2Enum_2Enum(V2x)))
             => p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2x)),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(V0m)))) ) ) ) ) ).

tff(lamtp_f993,type,
    f993: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f993,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum] : ( ap(f993(V0m),inj__ty_2Enum_2Enum(V1x)) = ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1x)),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(V0m))) ) ).

tff(conj_thm_2EEncode_2Ewf__pred__bnum__total,axiom,
    ! [V0m: tp__ty_2Enum_2Enum] : p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),f993(V0m))) ).

tff(conj_thm_2EEncode_2Ewf__pred__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
       => p(ap(ap(c_2EEncode_2Ecollision__free,inj__ty_2Enum_2Enum(V0m)),V1p)) ) ) ).

tff(conj_thm_2EEncode_2Eencode__bnum__length,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(bool),ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V1n)))) = V0m ) ).

tff(conj_thm_2EEncode_2Eencode__bnum__inj,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum,V2y: tp__ty_2Enum_2Enum] :
      ( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1x)),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(V0m))))
        & p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2y)),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(V0m))))
        & ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V1x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V2y))) ) )
     => ( V1x = V2y ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__bnum__collision__free,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m))))
      <=> p(ap(ap(c_2EEncode_2Ecollision__free,inj__ty_2Enum_2Enum(V0m)),V1p)) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
       => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)))) ) ) ).

tff(lamtp_f994,type,
    f994: ( del * $i ) > $i ).

tff(lameq_f994,axiom,
    ! [A_27a: del,V7a0: $i] :
      ( mem(V7a0,A_27a)
     => ! [V8a1: $i] : ( ap(f994(A_27a,V7a0),V8a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V7a0),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V8a1),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a)))) ) ) ).

tff(lamtp_f995,type,
    f995: del > $i ).

tff(lameq_f995,axiom,
    ! [A_27a: del,V7a0: $i] : ( ap(f995(A_27a),V7a0) = f994(A_27a,V7a0) ) ).

tff(lamtp_f996,type,
    f996: ( del * $i * $i * $i ) > $i ).

tff(lameq_f996,axiom,
    ! [A_27a: del,V5a0: $i] :
      ( mem(V5a0,A_27a)
     => ! [V4a0_27: $i] :
          ( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
         => ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
              ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
             => ! [V6a1: $i] : ( ap(f996(A_27a,V5a0,V4a0_27,V3_27_40temp_20_40ind__typeEncode0list_27),V6a1) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V4a0_27),ap(ap(f995(A_27a),V5a0),V6a1))),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V6a1)) ) ) ) ) ).

tff(lamtp_f997,type,
    f997: ( del * $i * $i ) > $i ).

tff(lameq_f997,axiom,
    ! [A_27a: del,V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
      ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V4a0_27: $i] :
          ( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
         => ! [V5a0: $i] : ( ap(f997(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V4a0_27),V5a0) = ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f996(A_27a,V5a0,V4a0_27,V3_27_40temp_20_40ind__typeEncode0list_27)) ) ) ) ).

tff(lamtp_f998,type,
    f998: ( del * $i * $i ) > $i ).

tff(lameq_f998,axiom,
    ! [A_27a: del,V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
      ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V2_27tree_27: $i] :
          ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V4a0_27: $i] : ( ap(f998(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27),V4a0_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f997(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V4a0_27))),ap(V2_27tree_27,V4a0_27)) ) ) ) ).

tff(lamtp_f999,type,
    f999: ( del * $i ) > $i ).

tff(lameq_f999,axiom,
    ! [A_27a: del,V14a0: $i] :
      ( mem(V14a0,ty_2Eind__type_2Erecspace(A_27a))
     => ! [V15a1: $i] : ( ap(f999(A_27a,V14a0),V15a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),c_2Ebool_2EARB(A_27a)),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V14a0),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V15a1),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a))))) ) ) ).

tff(lamtp_f1000,type,
    f1000: del > $i ).

tff(lameq_f1000,axiom,
    ! [A_27a: del,V14a0: $i] : ( ap(f1000(A_27a),V14a0) = f999(A_27a,V14a0) ) ).

tff(lamtp_f1001,type,
    f1001: ( del * $i * $i * $i * $i ) > $i ).

tff(lameq_f1001,axiom,
    ! [A_27a: del,V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
      ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V2_27tree_27: $i] :
          ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V10a1_27: $i] :
              ( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
             => ! [V12a0: $i] :
                  ( mem(V12a0,ty_2Eind__type_2Erecspace(A_27a))
                 => ! [V13a1: $i] : ( ap(f1001(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27,V10a1_27,V12a0),V13a1) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V10a1_27),ap(ap(f1000(A_27a),V12a0),V13a1))),ap(ap(c_2Ebool_2E_2F_5C,ap(V2_27tree_27,V12a0)),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V13a1))) ) ) ) ) ) ).

tff(lamtp_f1002,type,
    f1002: ( del * $i * $i * $i ) > $i ).

tff(lameq_f1002,axiom,
    ! [A_27a: del,V10a1_27: $i] :
      ( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
     => ! [V2_27tree_27: $i] :
          ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
              ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
             => ! [V12a0: $i] : ( ap(f1002(A_27a,V10a1_27,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27),V12a0) = ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f1001(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27,V10a1_27,V12a0)) ) ) ) ) ).

tff(lamtp_f1003,type,
    f1003: ( del * $i * $i ) > $i ).

tff(lameq_f1003,axiom,
    ! [A_27a: del,V2_27tree_27: $i] :
      ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
          ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V10a1_27: $i] : ( ap(f1003(A_27a,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27),V10a1_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_5C_2F,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V10a1_27),ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Ebool_2EARB(A_27a)),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a))))),ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f1002(A_27a,V10a1_27,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27)))),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V10a1_27)) ) ) ) ).

tff(lamtp_f1004,type,
    f1004: ( del * $i * $i ) > $i ).

tff(lameq_f1004,axiom,
    ! [A_27a: del,V2_27tree_27: $i] :
      ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V1a0_27: $i] :
          ( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
         => ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] : ( ap(f1004(A_27a,V2_27tree_27,V1a0_27),V3_27_40temp_20_40ind__typeEncode0list_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Eind__type_2Erecspace(A_27a)),f998(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27))),ap(c_2Ebool_2E_21(ty_2Eind__type_2Erecspace(A_27a)),f1003(A_27a,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27)))),ap(V2_27tree_27,V1a0_27)) ) ) ) ).

tff(lamtp_f1005,type,
    f1005: ( del * $i ) > $i ).

tff(lameq_f1005,axiom,
    ! [A_27a: del,V1a0_27: $i] :
      ( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
     => ! [V2_27tree_27: $i] : ( ap(f1005(A_27a,V1a0_27),V2_27tree_27) = ap(c_2Ebool_2E_21(arr(ty_2Eind__type_2Erecspace(A_27a),bool)),f1004(A_27a,V2_27tree_27,V1a0_27)) ) ) ).

tff(lamtp_f1006,type,
    f1006: del > $i ).

tff(lameq_f1006,axiom,
    ! [A_27a: del,V1a0_27: $i] : ( ap(f1006(A_27a),V1a0_27) = ap(c_2Ebool_2E_21(arr(ty_2Eind__type_2Erecspace(A_27a),bool)),f1005(A_27a,V1a0_27)) ) ).

tff(ax_thm_2EEncode_2Etree__TY__DEF,axiom,
    ! [A_27a: del] :
    ? [V0rep: $i] :
      ( mem(V0rep,arr(ty_2EEncode_2Etree(A_27a),ty_2Eind__type_2Erecspace(A_27a)))
      & p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(ty_2Eind__type_2Erecspace(A_27a),ty_2EEncode_2Etree(A_27a)),f1006(A_27a)),V0rep)) ) ).

tff(ax_thm_2EEncode_2Etree__case__def,axiom,
    ! [A_27a: del,A_27b: del,V0a0: $i] :
      ( mem(V0a0,A_27a)
     => ! [V1a1: $i] :
          ( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
         => ! [V2f: $i] :
              ( mem(V2f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
             => ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),ap(ap(c_2EEncode_2ENode(A_27a),V0a0),V1a1)),V2f) = ap(ap(V2f,V0a0),V1a1) ) ) ) ) ).

tff(ax_thm_2EEncode_2Etree__size__def,axiom,
    ! [A_27a: del] :
      ( ! [V0f: $i] :
          ( mem(V0f,arr(A_27a,ty_2Enum_2Enum))
         => ! [V1a0: $i] :
              ( mem(V1a0,A_27a)
             => ! [V2a1: $i] :
                  ( mem(V2a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => ( surj__ty_2Enum_2Enum(ap(ap(c_2EEncode_2Etree__size(A_27a),V0f),ap(ap(c_2EEncode_2ENode(A_27a),V1a0),V2a1))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(V0f,V1a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V0f),V2a1)))) ) ) ) )
      & ! [V3f: $i] :
          ( mem(V3f,arr(A_27a,ty_2Enum_2Enum))
         => ( surj__ty_2Enum_2Enum(ap(ap(c_2EEncode_2Etree1__size(A_27a),V3f),c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a)))) = fo__c_2Enum_2E0 ) )
      & ! [V4f: $i] :
          ( mem(V4f,arr(A_27a,ty_2Enum_2Enum))
         => ! [V5a0: $i] :
              ( mem(V5a0,ty_2EEncode_2Etree(A_27a))
             => ! [V6a1: $i] :
                  ( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => ( surj__ty_2Enum_2Enum(ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V5a0),V6a1))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2EEncode_2Etree__size(A_27a),V4f),V5a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),V6a1)))) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Edatatype__tree,axiom,
    ! [A_27a: del,V0tree: $i] :
      ( mem(V0tree,arr(arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a))),bool))
     => p(ap(c_2Ebool_2EDATATYPE(bool),ap(V0tree,c_2EEncode_2ENode(A_27a)))) ) ).

tff(conj_thm_2EEncode_2Etree__11,axiom,
    ! [A_27a: del,V0a0: $i] :
      ( mem(V0a0,A_27a)
     => ! [V1a1: $i] :
          ( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
         => ! [V2a0_27: $i] :
              ( mem(V2a0_27,A_27a)
             => ! [V3a1_27: $i] :
                  ( mem(V3a1_27,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => ( ( ap(ap(c_2EEncode_2ENode(A_27a),V0a0),V1a1) = ap(ap(c_2EEncode_2ENode(A_27a),V2a0_27),V3a1_27) )
                  <=> ( ( V0a0 = V2a0_27 )
                      & ( V1a1 = V3a1_27 ) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Etree__nchotomy,axiom,
    ! [A_27a: del,V0tt: $i] :
      ( mem(V0tt,ty_2EEncode_2Etree(A_27a))
     => ? [V1a: $i] :
          ( mem(V1a,A_27a)
          & ? [V2l: $i] :
              ( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
              & ( V0tt = ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2l) ) ) ) ) ).

tff(conj_thm_2EEncode_2Etree__Axiom,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f0: $i] :
      ( mem(V0f0,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27c,A_27b))))
     => ! [V1f1: $i] :
          ( mem(V1f1,A_27c)
         => ! [V2f2: $i] :
              ( mem(V2f2,arr(ty_2EEncode_2Etree(A_27a),arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27b,arr(A_27c,A_27c)))))
             => ? [V3fn0: $i] :
                  ( mem(V3fn0,arr(ty_2EEncode_2Etree(A_27a),A_27b))
                  & ? [V4fn1: $i] :
                      ( mem(V4fn1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27c))
                      & ! [V5a0: $i] :
                          ( mem(V5a0,A_27a)
                         => ! [V6a1: $i] :
                              ( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                             => ( ap(V3fn0,ap(ap(c_2EEncode_2ENode(A_27a),V5a0),V6a1)) = ap(ap(ap(V0f0,V5a0),V6a1),ap(V4fn1,V6a1)) ) ) )
                      & ( ap(V4fn1,c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))) = V1f1 )
                      & ! [V7a0: $i] :
                          ( mem(V7a0,ty_2EEncode_2Etree(A_27a))
                         => ! [V8a1: $i] :
                              ( mem(V8a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                             => ( ap(V4fn1,ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V7a0),V8a1)) = ap(ap(ap(ap(V2f2,V7a0),V8a1),ap(V3fn0,V7a0)),ap(V4fn1,V8a1)) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Etree__induction,axiom,
    ! [A_27a: del,V0P0: $i] :
      ( mem(V0P0,arr(ty_2EEncode_2Etree(A_27a),bool))
     => ! [V1P1: $i] :
          ( mem(V1P1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),bool))
         => ( ( ! [V2l: $i] :
                  ( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => ( p(ap(V1P1,V2l))
                   => ! [V3a: $i] :
                        ( mem(V3a,A_27a)
                       => p(ap(V0P0,ap(ap(c_2EEncode_2ENode(A_27a),V3a),V2l))) ) ) )
              & p(ap(V1P1,c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))))
              & ! [V4t: $i] :
                  ( mem(V4t,ty_2EEncode_2Etree(A_27a))
                 => ! [V5l: $i] :
                      ( mem(V5l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                     => ( ( p(ap(V0P0,V4t))
                          & p(ap(V1P1,V5l)) )
                       => p(ap(V1P1,ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V4t),V5l))) ) ) ) )
           => ( ! [V6t: $i] :
                  ( mem(V6t,ty_2EEncode_2Etree(A_27a))
                 => p(ap(V0P0,V6t)) )
              & ! [V7l: $i] :
                  ( mem(V7l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => p(ap(V1P1,V7l)) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Etree__case__cong,axiom,
    ! [A_27a: del,A_27b: del,V0f_27: $i] :
      ( mem(V0f_27,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
     => ! [V1M: $i] :
          ( mem(V1M,ty_2EEncode_2Etree(A_27a))
         => ! [V2M_27: $i] :
              ( mem(V2M_27,ty_2EEncode_2Etree(A_27a))
             => ! [V3f: $i] :
                  ( mem(V3f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
                 => ( ( ( V1M = V2M_27 )
                      & ! [V4a0: $i] :
                          ( mem(V4a0,A_27a)
                         => ! [V5a1: $i] :
                              ( mem(V5a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                             => ( ( V2M_27 = ap(ap(c_2EEncode_2ENode(A_27a),V4a0),V5a1) )
                               => ( ap(ap(V3f,V4a0),V5a1) = ap(ap(V0f_27,V4a0),V5a1) ) ) ) ) )
                   => ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V1M),V3f) = ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V2M_27),V0f_27) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Etree__case__eq,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,ty_2EEncode_2Etree(A_27a))
     => ! [V1f: $i] :
          ( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
         => ! [V2v: $i] :
              ( mem(V2v,A_27b)
             => ( ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V0x),V1f) = V2v )
              <=> ? [V3a: $i] :
                    ( mem(V3a,A_27a)
                    & ? [V4l: $i] :
                        ( mem(V4l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                        & ( V0x = ap(ap(c_2EEncode_2ENode(A_27a),V3a),V4l) )
                        & ( ap(ap(V1f,V3a),V4l) = V2v ) ) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Etree__ind,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(ty_2EEncode_2Etree(A_27a),bool))
     => ( ! [V1a: $i] :
            ( mem(V1a,A_27a)
           => ! [V2ts: $i] :
                ( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
               => ( ! [V3t: $i] :
                      ( mem(V3t,ty_2EEncode_2Etree(A_27a))
                     => ( p(ap(ap(c_2Ebool_2EIN(ty_2EEncode_2Etree(A_27a)),V3t),ap(c_2Elist_2ELIST__TO__SET(ty_2EEncode_2Etree(A_27a)),V2ts)))
                       => p(ap(V0p,V3t)) ) )
                 => p(ap(V0p,ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts))) ) ) )
       => ! [V4t: $i] :
            ( mem(V4t,ty_2EEncode_2Etree(A_27a))
           => p(ap(V0p,V4t)) ) ) ) ).

tff(conj_thm_2EEncode_2Eencode__tree__def,axiom,
    ! [A_27a: del,V0e: $i] :
      ( mem(V0e,arr(A_27a,ty_2Elist_2Elist(bool)))
     => ! [V1a: $i] :
          ( mem(V1a,A_27a)
         => ! [V2ts: $i] :
              ( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
             => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__tree(A_27a),V0e),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V0e,V1a)),ap(ap(c_2EEncode_2Eencode__list(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Eencode__tree(A_27a),V0e)),V2ts))) ) ) ) ) ).

tff(conj_thm_2EEncode_2Elift__tree__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1a: $i] :
          ( mem(V1a,A_27a)
         => ! [V2ts: $i] :
              ( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
             => ( p(ap(ap(c_2EEncode_2Elift__tree(A_27a),V0p),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts)))
              <=> ( p(ap(V0p,V1a))
                  & p(ap(ap(c_2Elist_2EEVERY(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),V2ts)) ) ) ) ) ) ).

tff(conj_thm_2EEncode_2Ewf__encode__tree,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),ap(c_2EEncode_2Eencode__tree(A_27a),V1e))) ) ) ) ).

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