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    :  108 (  12 unt;   0 def)
%            Number of atoms       :  505 (  78 equ)
%            Maximal formula atoms :   17 (   4 avg)
%            Number of connectives :  400 (   3   ~;   1   |;  49   &)
%                                         (  17 <=>; 330  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   23 (   7 avg)
%            Maximal term depth    :   12 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :  111 ( 111 usr;  30 con; 0-5 aty)
%            Number of variables   :  344 ( 336   !;   8   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(ne_ty_2EEncode_2Etree,axiom,
    ! [A0] :
      ( ne(A0)
     => ne(ty_2EEncode_2Etree(A0)) ) ).

fof(mem_c_2EEncode_2ENode,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2ENode(A_27a),arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a)))) ) ).

fof(mem_c_2EEncode_2Ebiprefix,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Ebiprefix(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))) ) ).

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

fof(mem_c_2EEncode_2Eencode__blist,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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))))) ) ) ).

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

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

fof(mem_c_2EEncode_2Eencode__list,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

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

fof(mem_c_2EEncode_2Eencode__option,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

fof(mem_c_2EEncode_2Eencode__prod,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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))))) ) ) ).

fof(mem_c_2EEncode_2Eencode__sum,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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))))) ) ) ).

fof(mem_c_2EEncode_2Eencode__tree,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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)))) ) ).

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

fof(mem_c_2EEncode_2Elift__blist,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Elift__blist(A_27a),arr(ty_2Enum_2Enum,arr(arr(A_27a,bool),arr(ty_2Elist_2Elist(A_27a),bool)))) ) ).

fof(mem_c_2EEncode_2Elift__option,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Elift__option(A_27a),arr(arr(A_27a,bool),arr(ty_2Eoption_2Eoption(A_27a),bool))) ) ).

fof(mem_c_2EEncode_2Elift__prod,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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)))) ) ) ).

fof(mem_c_2EEncode_2Elift__sum,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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)))) ) ) ).

fof(mem_c_2EEncode_2Elift__tree,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Elift__tree(A_27a),arr(arr(A_27a,bool),arr(ty_2EEncode_2Etree(A_27a),bool))) ) ).

fof(mem_c_2EEncode_2Etree1__size,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => 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))) ) ).

fof(mem_c_2EEncode_2Etree__CASE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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))) ) ) ).

fof(mem_c_2EEncode_2Etree__size,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Etree__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2EEncode_2Etree(A_27a),ty_2Enum_2Enum))) ) ).

fof(mem_c_2EEncode_2Ewf__encoder,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Ewf__encoder(A_27a),arr(arr(A_27a,bool),arr(arr(A_27a,ty_2Elist_2Elist(bool)),bool))) ) ).

fof(mem_c_2EEncode_2Ewf__pred,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EEncode_2Ewf__pred(A_27a),arr(arr(A_27a,bool),bool)) ) ).

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

fof(ax_thm_2EEncode_2Ebiprefix__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Elist_2Elist(A_27a))
         => ! [V1b] :
              ( 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)) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ebiprefix__refl,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Elist_2Elist(A_27a))
         => p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V0x)) ) ) ).

fof(conj_thm_2EEncode_2Ebiprefix__sym,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Elist_2Elist(A_27a))
         => ! [V1y] :
              ( 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)) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ebiprefix__append,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Elist_2Elist(A_27a))
         => ! [V1b] :
              ( mem(V1b,ty_2Elist_2Elist(A_27a))
             => ! [V2c] :
                  ( mem(V2c,ty_2Elist_2Elist(A_27a))
                 => ! [V3d] :
                      ( 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)) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ebiprefix__cons,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,A_27a)
         => ! [V1b] :
              ( mem(V1b,ty_2Elist_2Elist(A_27a))
             => ! [V2c] :
                  ( mem(V2c,A_27a)
                 => ! [V3d] :
                      ( 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)) ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ebiprefix__appends,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a] :
          ( mem(V0a,ty_2Elist_2Elist(A_27a))
         => ! [V1b] :
              ( mem(V1b,ty_2Elist_2Elist(A_27a))
             => ! [V2c] :
                  ( 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)) ) ) ) ) ) ).

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

fof(ax_thm_2EEncode_2Ewf__encoder__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
              <=> ! [V2x] :
                    ( mem(V2x,A_27a)
                   => ! [V3y] :
                        ( 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 ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encoder__alt,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
              <=> ! [V2x] :
                    ( mem(V2x,A_27a)
                   => ! [V3y] :
                        ( 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 ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encoder__eq,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ! [V2f] :
                  ( mem(V2f,arr(A_27a,ty_2Elist_2Elist(bool)))
                 => ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                      & ! [V3x] :
                          ( mem(V3x,A_27a)
                         => ( p(ap(V0p,V3x))
                           => ap(V1e,V3x) = ap(V2f,V3x) ) ) )
                   => p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V2f)) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encoder__total,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( 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),c_2Ebool_2ET)),V1e))
               => p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e)) ) ) ) ) ).

fof(ax_thm_2EEncode_2Eencode__unit__def,axiom,
    ! [V0v0] :
      ( mem(V0v0,ty_2Eone_2Eone)
     => ap(c_2EEncode_2Eencode__unit,V0v0) = c_2Elist_2ENIL(bool) ) ).

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

fof(ax_thm_2EEncode_2Eencode__bool__def,axiom,
    ! [V0x] :
      ( mem(V0x,bool)
     => ap(c_2EEncode_2Eencode__bool,V0x) = ap(ap(c_2Elist_2ECONS(bool),V0x),c_2Elist_2ENIL(bool)) ) ).

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

fof(ax_thm_2EEncode_2Eencode__prod__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0xb] :
              ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ! [V1yb] :
                  ( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
                 => ! [V2x] :
                      ( mem(V2x,A_27a)
                     => ! [V3y] :
                          ( mem(V3y,A_27b)
                         => 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)) = ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,V2x)),ap(V1yb,V3y)) ) ) ) ) ) ) ).

fof(ax_thm_2EEncode_2Elift__prod__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0p1] :
              ( mem(V0p1,arr(A_27a,bool))
             => ! [V1p2] :
                  ( mem(V1p2,arr(A_27b,bool))
                 => ! [V2x] :
                      ( 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))) ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Eencode__prod__alt,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0xb] :
              ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
             => ! [V1yb] :
                  ( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
                 => ! [V2p] :
                      ( mem(V2p,ty_2Epair_2Eprod(A_27a,A_27b))
                     => ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),V2p) = 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))) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encode__prod,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0p1] :
              ( mem(V0p1,arr(A_27a,bool))
             => ! [V1p2] :
                  ( mem(V1p2,arr(A_27b,bool))
                 => ! [V2e1] :
                      ( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
                     => ! [V3e2] :
                          ( 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))) ) ) ) ) ) ) ) ).

fof(ax_thm_2EEncode_2Eencode__sum__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0xb] :
                ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
               => ! [V1yb] :
                    ( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
                   => ! [V2x] :
                        ( mem(V2x,A_27a)
                       => ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V0xb),V1yb),ap(c_2Esum_2EINL(A_27a,A_27b),V2x)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(V0xb,V2x)) ) ) )
            & ! [V3xb] :
                ( mem(V3xb,arr(A_27a,ty_2Elist_2Elist(bool)))
               => ! [V4yb] :
                    ( mem(V4yb,arr(A_27b,ty_2Elist_2Elist(bool)))
                   => ! [V5y] :
                        ( mem(V5y,A_27b)
                       => ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V3xb),V4yb),ap(c_2Esum_2EINR(A_27a,A_27b),V5y)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(V4yb,V5y)) ) ) ) ) ) ) ).

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

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

fof(ax_thm_2EEncode_2Elift__sum__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0p1] :
              ( mem(V0p1,arr(A_27a,bool))
             => ! [V1p2] :
                  ( mem(V1p2,arr(A_27b,bool))
                 => ! [V2x] :
                      ( 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))) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encode__sum,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0p1] :
              ( mem(V0p1,arr(A_27a,bool))
             => ! [V1p2] :
                  ( mem(V1p2,arr(A_27b,bool))
                 => ! [V2e1] :
                      ( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
                     => ! [V3e2] :
                          ( 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))) ) ) ) ) ) ) ) ).

fof(ax_thm_2EEncode_2Eencode__option__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( ! [V0xb] :
            ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
           => ap(ap(c_2EEncode_2Eencode__option(A_27a),V0xb),c_2Eoption_2ENONE(A_27a)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),c_2Elist_2ENIL(bool)) )
        & ! [V1xb] :
            ( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
           => ! [V2x] :
                ( mem(V2x,A_27a)
               => ap(ap(c_2EEncode_2Eencode__option(A_27a),V1xb),ap(c_2Eoption_2ESOME(A_27a),V2x)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(V1xb,V2x)) ) ) ) ) ).

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

fof(ax_thm_2EEncode_2Elift__option__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1x] :
              ( 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),c_2Ebool_2ET),f987(A_27a,V0p))) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encode__option,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( 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))) ) ) ) ) ).

fof(ax_thm_2EEncode_2Eencode__list__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( ! [V0xb] :
            ( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
           => ap(ap(c_2EEncode_2Eencode__list(A_27a),V0xb),c_2Elist_2ENIL(A_27a)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),c_2Elist_2ENIL(bool)) )
        & ! [V1xb] :
            ( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
           => ! [V2x] :
                ( mem(V2x,A_27a)
               => ! [V3xs] :
                    ( mem(V3xs,ty_2Elist_2Elist(A_27a))
                   => ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),ap(ap(c_2Elist_2ECONS(A_27a),V2x),V3xs)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2EAPPEND(bool),ap(V1xb,V2x)),ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),V3xs))) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encode__list,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( 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))) ) ) ) ) ).

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

fof(ax_thm_2EEncode_2Eencode__blist__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0e] :
                ( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
               => ! [V1l] :
                    ( mem(V1l,ty_2Elist_2Elist(A_27b))
                   => ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),c_2Enum_2E0),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) )
            & ! [V2m] :
                ( mem(V2m,ty_2Enum_2Enum)
               => ! [V3e] :
                    ( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
                   => ! [V4l] :
                        ( mem(V4l,ty_2Elist_2Elist(A_27b))
                       => ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Enum_2ESUC,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),V2m),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Eencode__blist__def__compute,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0e] :
                ( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
               => ! [V1l] :
                    ( mem(V1l,ty_2Elist_2Elist(A_27b))
                   => ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),c_2Enum_2E0),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) )
            & ! [V2m] :
                ( mem(V2m,ty_2Enum_2Enum)
               => ! [V3e] :
                    ( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
                   => ! [V4l] :
                        ( 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,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,V2m))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) )
            & ! [V5m] :
                ( mem(V5m,ty_2Enum_2Enum)
               => ! [V6e] :
                    ( mem(V6e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
                   => ! [V7l] :
                        ( 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,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,V5m))),V6e),ap(c_2Elist_2ETL(A_27b),V7l))) ) ) ) ) ) ) ).

fof(ax_thm_2EEncode_2Elift__blist__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0m] :
          ( mem(V0m,ty_2Enum_2Enum)
         => ! [V1p] :
              ( mem(V1p,arr(A_27a,bool))
             => ! [V2x] :
                  ( mem(V2x,ty_2Elist_2Elist(A_27a))
                 => ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),V0m),V1p),V2x))
                  <=> ( p(ap(ap(c_2Elist_2EEVERY(A_27a),V1p),V2x))
                      & ap(c_2Elist_2ELENGTH(A_27a),V2x) = V0m ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Elift__blist__suc,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0n] :
          ( mem(V0n,ty_2Enum_2Enum)
         => ! [V1p] :
              ( mem(V1p,arr(A_27a,bool))
             => ! [V2h] :
                  ( mem(V2h,A_27a)
                 => ! [V3t] :
                      ( mem(V3t,ty_2Elist_2Elist(A_27a))
                     => ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),ap(c_2Enum_2ESUC,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),V0n),V1p),V3t)) ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encode__blist,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0m] :
          ( mem(V0m,ty_2Enum_2Enum)
         => ! [V1p] :
              ( mem(V1p,arr(A_27a,bool))
             => ! [V2e] :
                  ( 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),V0m),V1p)),ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),V0m),V2e))) ) ) ) ) ) ).

fof(lameq_f988,axiom,
    ! [V0R] :
      ( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ! [V1n] : ap(f988(V0R),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),V1n),c_2Enum_2E0))),ap(c_2Earithmetic_2EEVEN,V1n))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V1n)) ) ).

fof(lameq_f989,axiom,
    ! [V0R] :
      ( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
     => ! [V2n] : ap(f989(V0R),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),V2n),c_2Enum_2E0))),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V2n)))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V2n)) ) ).

fof(lameq_f990,axiom,
    ! [V0R] : 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)))) ).

fof(lameq_f991,axiom,
    ! [V3encode__num] :
      ( mem(V3encode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))
     => ! [V4a] : ap(f991(V3encode__num),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),V4a),c_2Enum_2E0)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,V4a)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V4a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))))),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V4a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))))))) ) ).

fof(lameq_f992,axiom,
    ! [V3encode__num] : ap(f992,V3encode__num) = f991(V3encode__num) ).

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

fof(conj_thm_2EEncode_2Eencode__num__def,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ap(c_2EEncode_2Eencode__num,V0n) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V0n),c_2Enum_2E0)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,V0n)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V0n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))))),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V0n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))))))) ) ).

fof(conj_thm_2EEncode_2Eencode__num__ind,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2Enum_2Enum,bool))
     => ( ! [V1n] :
            ( mem(V1n,ty_2Enum_2Enum)
           => ( ( ( ( V1n != c_2Enum_2E0
                    & p(ap(c_2Earithmetic_2EEVEN,V1n)) )
                 => p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) )
                & ( ( V1n != c_2Enum_2E0
                    & ~ p(ap(c_2Earithmetic_2EEVEN,V1n)) )
                 => p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) )
             => p(ap(V0P,V1n)) ) )
       => ! [V2v] :
            ( mem(V2v,ty_2Enum_2Enum)
           => p(ap(V0P,V2v)) ) ) ) ).

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

fof(ax_thm_2EEncode_2Eencode__bnum__def,axiom,
    ( ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => ap(ap(c_2EEncode_2Eencode__bnum,c_2Enum_2E0),V0n) = c_2Elist_2ENIL(bool) )
    & ! [V1m] :
        ( mem(V1m,ty_2Enum_2Enum)
       => ! [V2n] :
            ( mem(V2n,ty_2Enum_2Enum)
           => ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Enum_2ESUC,V1m)),V2n) = ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V2n))),ap(ap(c_2EEncode_2Eencode__bnum,V1m),ap(ap(c_2Earithmetic_2EDIV,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) ) ) ).

fof(conj_thm_2EEncode_2Eencode__bnum__def__compute,axiom,
    ( ! [V0n] :
        ( mem(V0n,ty_2Enum_2Enum)
       => ap(ap(c_2EEncode_2Eencode__bnum,c_2Enum_2E0),V0n) = c_2Elist_2ENIL(bool) )
    & ! [V1m] :
        ( mem(V1m,ty_2Enum_2Enum)
       => ! [V2n] :
            ( mem(V2n,ty_2Enum_2Enum)
           => ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))),V2n) = ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V2n))),ap(ap(c_2EEncode_2Eencode__bnum,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2EDIV,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) )
    & ! [V3m] :
        ( mem(V3m,ty_2Enum_2Enum)
       => ! [V4n] :
            ( mem(V4n,ty_2Enum_2Enum)
           => ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V3m))),V4n) = ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V4n))),ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3m))),ap(ap(c_2Earithmetic_2EDIV,V4n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) ) ) ).

fof(ax_thm_2EEncode_2Ecollision__free__def,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1p] :
          ( mem(V1p,arr(ty_2Enum_2Enum,bool))
         => ( p(ap(ap(c_2EEncode_2Ecollision__free,V0m),V1p))
          <=> ! [V2x] :
                ( mem(V2x,ty_2Enum_2Enum)
               => ! [V3y] :
                    ( mem(V3y,ty_2Enum_2Enum)
                   => ( ( p(ap(V1p,V2x))
                        & p(ap(V1p,V3y))
                        & ap(ap(c_2Earithmetic_2EMOD,V2x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)) = ap(ap(c_2Earithmetic_2EMOD,V3y),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)) )
                     => V2x = V3y ) ) ) ) ) ) ).

fof(ax_thm_2EEncode_2Ewf__pred__bnum__def,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1p] :
          ( mem(V1p,arr(ty_2Enum_2Enum,bool))
         => ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),V1p))
          <=> ( p(ap(c_2EEncode_2Ewf__pred(ty_2Enum_2Enum),V1p))
              & ! [V2x] :
                  ( mem(V2x,ty_2Enum_2Enum)
                 => ( p(ap(V1p,V2x))
                   => p(ap(ap(c_2Eprim__rec_2E_3C,V2x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m))) ) ) ) ) ) ) ).

fof(lameq_f993,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1x] : ap(f993(V0m),V1x) = ap(ap(c_2Eprim__rec_2E_3C,V1x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)) ) ).

fof(conj_thm_2EEncode_2Ewf__pred__bnum__total,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),f993(V0m))) ) ).

fof(conj_thm_2EEncode_2Ewf__pred__bnum,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1p] :
          ( mem(V1p,arr(ty_2Enum_2Enum,bool))
         => ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),V1p))
           => p(ap(ap(c_2EEncode_2Ecollision__free,V0m),V1p)) ) ) ) ).

fof(conj_thm_2EEncode_2Eencode__bnum__length,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1n] :
          ( mem(V1n,ty_2Enum_2Enum)
         => ap(c_2Elist_2ELENGTH(bool),ap(ap(c_2EEncode_2Eencode__bnum,V0m),V1n)) = V0m ) ) ).

fof(conj_thm_2EEncode_2Eencode__bnum__inj,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,ty_2Enum_2Enum)
         => ! [V2y] :
              ( mem(V2y,ty_2Enum_2Enum)
             => ( ( p(ap(ap(c_2Eprim__rec_2E_3C,V1x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)))
                  & p(ap(ap(c_2Eprim__rec_2E_3C,V2y),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)))
                  & ap(ap(c_2EEncode_2Eencode__bnum,V0m),V1x) = ap(ap(c_2EEncode_2Eencode__bnum,V0m),V2y) )
               => V1x = V2y ) ) ) ) ).

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

fof(conj_thm_2EEncode_2Ewf__encode__bnum,axiom,
    ! [V0m] :
      ( mem(V0m,ty_2Enum_2Enum)
     => ! [V1p] :
          ( mem(V1p,arr(ty_2Enum_2Enum,bool))
         => ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),V1p))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,V0m))) ) ) ) ).

fof(lameq_f994,axiom,
    ! [A_27a,V7a0] :
      ( mem(V7a0,A_27a)
     => ! [V8a1] : ap(f994(A_27a,V7a0),V8a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),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)))) ) ).

fof(lameq_f995,axiom,
    ! [A_27a,V7a0] : ap(f995(A_27a),V7a0) = f994(A_27a,V7a0) ).

fof(lameq_f996,axiom,
    ! [A_27a,V5a0] :
      ( mem(V5a0,A_27a)
     => ! [V4a0_27] :
          ( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
         => ! [V3_27_40temp_20_40ind__typeEncode0list_27] :
              ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
             => ! [V6a1] : 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)) ) ) ) ).

fof(lameq_f997,axiom,
    ! [A_27a,V3_27_40temp_20_40ind__typeEncode0list_27] :
      ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V4a0_27] :
          ( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
         => ! [V5a0] : 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)) ) ) ).

fof(lameq_f998,axiom,
    ! [A_27a,V3_27_40temp_20_40ind__typeEncode0list_27] :
      ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V2_27tree_27] :
          ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V4a0_27] : 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)) ) ) ).

fof(lameq_f999,axiom,
    ! [A_27a,V14a0] :
      ( mem(V14a0,ty_2Eind__type_2Erecspace(A_27a))
     => ! [V15a1] : ap(f999(A_27a,V14a0),V15a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,ap(c_2Enum_2ESUC,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))))) ) ).

fof(lameq_f1000,axiom,
    ! [A_27a,V14a0] : ap(f1000(A_27a),V14a0) = f999(A_27a,V14a0) ).

fof(lameq_f1001,axiom,
    ! [A_27a,V3_27_40temp_20_40ind__typeEncode0list_27] :
      ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V2_27tree_27] :
          ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V10a1_27] :
              ( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
             => ! [V12a0] :
                  ( mem(V12a0,ty_2Eind__type_2Erecspace(A_27a))
                 => ! [V13a1] : 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))) ) ) ) ) ).

fof(lameq_f1002,axiom,
    ! [A_27a,V10a1_27] :
      ( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
     => ! [V2_27tree_27] :
          ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V3_27_40temp_20_40ind__typeEncode0list_27] :
              ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
             => ! [V12a0] : 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)) ) ) ) ).

fof(lameq_f1003,axiom,
    ! [A_27a,V2_27tree_27] :
      ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V3_27_40temp_20_40ind__typeEncode0list_27] :
          ( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
         => ! [V10a1_27] : 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,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)) ) ) ).

fof(lameq_f1004,axiom,
    ! [A_27a,V2_27tree_27] :
      ( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
     => ! [V1a0_27] :
          ( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
         => ! [V3_27_40temp_20_40ind__typeEncode0list_27] : 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)) ) ) ).

fof(lameq_f1005,axiom,
    ! [A_27a,V1a0_27] :
      ( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
     => ! [V2_27tree_27] : 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)) ) ).

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

fof(ax_thm_2EEncode_2Etree__TY__DEF,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ? [V0rep] :
          ( 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)) ) ) ).

fof(ax_thm_2EEncode_2Etree__case__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0a0] :
              ( mem(V0a0,A_27a)
             => ! [V1a1] :
                  ( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => ! [V2f] :
                      ( 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) ) ) ) ) ) ).

fof(ax_thm_2EEncode_2Etree__size__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( ! [V0f] :
            ( mem(V0f,arr(A_27a,ty_2Enum_2Enum))
           => ! [V1a0] :
                ( mem(V1a0,A_27a)
               => ! [V2a1] :
                    ( mem(V2a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                   => ap(ap(c_2EEncode_2Etree__size(A_27a),V0f),ap(ap(c_2EEncode_2ENode(A_27a),V1a0),V2a1)) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Earithmetic_2E_2B,ap(V0f,V1a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V0f),V2a1))) ) ) )
        & ! [V3f] :
            ( mem(V3f,arr(A_27a,ty_2Enum_2Enum))
           => ap(ap(c_2EEncode_2Etree1__size(A_27a),V3f),c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))) = c_2Enum_2E0 )
        & ! [V4f] :
            ( mem(V4f,arr(A_27a,ty_2Enum_2Enum))
           => ! [V5a0] :
                ( mem(V5a0,ty_2EEncode_2Etree(A_27a))
               => ! [V6a1] :
                    ( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                   => ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V5a0),V6a1)) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,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))) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Edatatype__tree,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0tree] :
          ( 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)))) ) ) ).

fof(conj_thm_2EEncode_2Etree__11,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0a0] :
          ( mem(V0a0,A_27a)
         => ! [V1a1] :
              ( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
             => ! [V2a0_27] :
                  ( mem(V2a0_27,A_27a)
                 => ! [V3a1_27] :
                      ( 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 ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Etree__nchotomy,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0tt] :
          ( mem(V0tt,ty_2EEncode_2Etree(A_27a))
         => ? [V1a] :
              ( mem(V1a,A_27a)
              & ? [V2l] :
                  ( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                  & V0tt = ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2l) ) ) ) ) ).

fof(conj_thm_2EEncode_2Etree__Axiom,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0f0] :
                  ( mem(V0f0,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27c,A_27b))))
                 => ! [V1f1] :
                      ( mem(V1f1,A_27c)
                     => ! [V2f2] :
                          ( 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] :
                              ( mem(V3fn0,arr(ty_2EEncode_2Etree(A_27a),A_27b))
                              & ? [V4fn1] :
                                  ( mem(V4fn1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27c))
                                  & ! [V5a0] :
                                      ( mem(V5a0,A_27a)
                                     => ! [V6a1] :
                                          ( 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] :
                                      ( mem(V7a0,ty_2EEncode_2Etree(A_27a))
                                     => ! [V8a1] :
                                          ( 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)) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Etree__induction,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0P0] :
          ( mem(V0P0,arr(ty_2EEncode_2Etree(A_27a),bool))
         => ! [V1P1] :
              ( mem(V1P1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),bool))
             => ( ( ! [V2l] :
                      ( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                     => ( p(ap(V1P1,V2l))
                       => ! [V3a] :
                            ( 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] :
                      ( mem(V4t,ty_2EEncode_2Etree(A_27a))
                     => ! [V5l] :
                          ( 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] :
                      ( mem(V6t,ty_2EEncode_2Etree(A_27a))
                     => p(ap(V0P0,V6t)) )
                  & ! [V7l] :
                      ( mem(V7l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                     => p(ap(V1P1,V7l)) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Etree__case__cong,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f_27] :
              ( mem(V0f_27,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
             => ! [V1M] :
                  ( mem(V1M,ty_2EEncode_2Etree(A_27a))
                 => ! [V2M_27] :
                      ( mem(V2M_27,ty_2EEncode_2Etree(A_27a))
                     => ! [V3f] :
                          ( mem(V3f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
                         => ( ( V1M = V2M_27
                              & ! [V4a0] :
                                  ( mem(V4a0,A_27a)
                                 => ! [V5a1] :
                                      ( 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) ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Etree__case__eq,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0x] :
              ( mem(V0x,ty_2EEncode_2Etree(A_27a))
             => ! [V1f] :
                  ( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
                 => ! [V2v] :
                      ( mem(V2v,A_27b)
                     => ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V0x),V1f) = V2v
                      <=> ? [V3a] :
                            ( mem(V3a,A_27a)
                            & ? [V4l] :
                                ( 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 ) ) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Etree__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(ty_2EEncode_2Etree(A_27a),bool))
         => ( ! [V1a] :
                ( mem(V1a,A_27a)
               => ! [V2ts] :
                    ( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                   => ( ! [V3t] :
                          ( 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] :
                ( mem(V4t,ty_2EEncode_2Etree(A_27a))
               => p(ap(V0p,V4t)) ) ) ) ) ).

fof(conj_thm_2EEncode_2Eencode__tree__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0e] :
          ( mem(V0e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V1a] :
              ( mem(V1a,A_27a)
             => ! [V2ts] :
                  ( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
                 => ap(ap(c_2EEncode_2Eencode__tree(A_27a),V0e),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts)) = 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)) ) ) ) ) ).

fof(conj_thm_2EEncode_2Elift__tree__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1a] :
              ( mem(V1a,A_27a)
             => ! [V2ts] :
                  ( 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)) ) ) ) ) ) ) ).

fof(conj_thm_2EEncode_2Ewf__encode__tree,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V1e] :
              ( 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))) ) ) ) ) ).

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