ITP001 Axioms: ITP079_5.ax


%------------------------------------------------------------------------------
% File     : ITP079_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    : Coder_2.ax [Gau20]
%          : HL4079_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   65 (  17 unt;  18 typ;   0 def)
%            Number of atoms       : 1810 (  21 equ)
%            Maximal formula atoms :   10 (  27 avg)
%            Number of connectives :   90 (   0   ~;   0   |;   8   &)
%                                         (   1 <=>;  81  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   6 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       : 1673 (1673 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   26 (  14   >;  12   *;   0   +;   0  <<)
%            Number of predicates  :   54 (  53 usr;  15 prp; 0-3 aty)
%            Number of functors    :   18 (  18 usr;   4 con; 0-4 aty)
%            Number of variables   :  134 ( 133   !;   1   ?; 134   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2ECoder_2Eblist__coder,type,
    c_2ECoder_2Eblist__coder: ( del * del * del ) > $i ).

tff(mem_c_2ECoder_2Eblist__coder,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2ECoder_2Eblist__coder(A_27a,A_27b,A_27c),arr(ty_2Enum_2Enum,arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(A_27c)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),ty_2Epair_2Eprod(arr(ty_2Elist_2Elist(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27c)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))))))))) ).

tff(tp_c_2ECoder_2Ebnum__coder,type,
    c_2ECoder_2Ebnum__coder: $i ).

tff(mem_c_2ECoder_2Ebnum__coder,axiom,
    mem(c_2ECoder_2Ebnum__coder,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),ty_2Epair_2Eprod(arr(ty_2Enum_2Enum,bool),ty_2Epair_2Eprod(arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))))))))) ).

tff(tp_c_2ECoder_2Ebool__coder,type,
    c_2ECoder_2Ebool__coder: $i ).

tff(mem_c_2ECoder_2Ebool__coder,axiom,
    mem(c_2ECoder_2Ebool__coder,arr(arr(bool,bool),ty_2Epair_2Eprod(arr(bool,bool),ty_2Epair_2Eprod(arr(bool,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))))))) ).

tff(tp_c_2ECoder_2Edecode,type,
    c_2ECoder_2Edecode: del > $i ).

tff(mem_c_2ECoder_2Edecode,axiom,
    ! [A_27a: del] : mem(c_2ECoder_2Edecode(A_27a),arr(arr(A_27a,bool),arr(arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),arr(ty_2Elist_2Elist(bool),A_27a)))) ).

tff(tp_c_2ECoder_2Edecoder,type,
    c_2ECoder_2Edecoder: del > $i ).

tff(mem_c_2ECoder_2Edecoder,axiom,
    ! [A_27a: del] : mem(c_2ECoder_2Edecoder(A_27a),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),arr(ty_2Elist_2Elist(bool),A_27a))) ).

tff(tp_c_2ECoder_2Edomain,type,
    c_2ECoder_2Edomain: del > $i ).

tff(mem_c_2ECoder_2Edomain,axiom,
    ! [A_27a: del] : mem(c_2ECoder_2Edomain(A_27a),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),arr(A_27a,bool))) ).

tff(tp_c_2ECoder_2Eencoder,type,
    c_2ECoder_2Eencoder: del > $i ).

tff(mem_c_2ECoder_2Eencoder,axiom,
    ! [A_27a: del] : mem(c_2ECoder_2Eencoder(A_27a),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),arr(A_27a,ty_2Elist_2Elist(bool)))) ).

tff(tp_c_2ECoder_2Elist__coder,type,
    c_2ECoder_2Elist__coder: ( del * del ) > $i ).

tff(mem_c_2ECoder_2Elist__coder,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2ECoder_2Elist__coder(A_27a,A_27b),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),ty_2Epair_2Eprod(arr(ty_2Elist_2Elist(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))))))) ).

tff(tp_c_2ECoder_2Enum__coder,type,
    c_2ECoder_2Enum__coder: $i ).

tff(mem_c_2ECoder_2Enum__coder,axiom,
    mem(c_2ECoder_2Enum__coder,arr(arr(ty_2Enum_2Enum,bool),ty_2Epair_2Eprod(arr(ty_2Enum_2Enum,bool),ty_2Epair_2Eprod(arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))))))) ).

tff(tp_c_2ECoder_2Eoption__coder,type,
    c_2ECoder_2Eoption__coder: ( del * del ) > $i ).

tff(mem_c_2ECoder_2Eoption__coder,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2ECoder_2Eoption__coder(A_27a,A_27b),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),ty_2Epair_2Eprod(arr(ty_2Eoption_2Eoption(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2Eoption_2Eoption(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))))))) ).

tff(tp_c_2ECoder_2Eprod__coder,type,
    c_2ECoder_2Eprod__coder: ( del * del * del * del ) > $i ).

tff(mem_c_2ECoder_2Eprod__coder,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : mem(c_2ECoder_2Eprod__coder(A_27a,A_27b,A_27c,A_27d),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27c,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),arr(ty_2Epair_2Eprod(arr(A_27b,bool),ty_2Epair_2Eprod(arr(A_27d,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))),ty_2Epair_2Eprod(arr(ty_2Epair_2Eprod(A_27a,A_27b),bool),ty_2Epair_2Eprod(arr(ty_2Epair_2Eprod(A_27c,A_27d),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))))))))) ).

tff(tp_c_2ECoder_2Esum__coder,type,
    c_2ECoder_2Esum__coder: ( del * del * del * del ) > $i ).

tff(mem_c_2ECoder_2Esum__coder,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : mem(c_2ECoder_2Esum__coder(A_27a,A_27b,A_27c,A_27d),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27c,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),arr(ty_2Epair_2Eprod(arr(A_27b,bool),ty_2Epair_2Eprod(arr(A_27d,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))),ty_2Epair_2Eprod(arr(ty_2Esum_2Esum(A_27a,A_27b),bool),ty_2Epair_2Eprod(arr(ty_2Esum_2Esum(A_27c,A_27d),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))))))))) ).

tff(tp_c_2ECoder_2Etree__coder,type,
    c_2ECoder_2Etree__coder: ( del * del ) > $i ).

tff(mem_c_2ECoder_2Etree__coder,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2ECoder_2Etree__coder(A_27a,A_27b),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),ty_2Epair_2Eprod(arr(ty_2EEncode_2Etree(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2EEncode_2Etree(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))))))) ).

tff(tp_c_2ECoder_2Eunit__coder,type,
    c_2ECoder_2Eunit__coder: $i ).

tff(mem_c_2ECoder_2Eunit__coder,axiom,
    mem(c_2ECoder_2Eunit__coder,arr(arr(ty_2Eone_2Eone,bool),ty_2Epair_2Eprod(arr(ty_2Eone_2Eone,bool),ty_2Epair_2Eprod(arr(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)))))))) ).

tff(tp_c_2ECoder_2Ewf__coder,type,
    c_2ECoder_2Ewf__coder: del > $i ).

tff(mem_c_2ECoder_2Ewf__coder,axiom,
    ! [A_27a: del] : mem(c_2ECoder_2Ewf__coder(A_27a),arr(ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),bool)) ).

tff(lamtp_f2115,type,
    f2115: ( del * $i ) > $i ).

tff(lameq_f2115,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V3x: $i] : ( ap(f2115(A_27a,V0p),V3x) = ap(V0p,V3x) ) ) ).

tff(lamtp_f2116,type,
    f2116: del > $i ).

tff(lameq_f2116,axiom,
    ! [A_27a: del,V5x: $i] : ( ap(f2116(A_27a),V5x) = k(ty_2Elist_2Elist(bool),V5x) ) ).

tff(lamtp_f2117,type,
    f2117: del > $i ).

tff(lameq_f2117,axiom,
    ! [A_27a: del,V4v: $i] : ( ap(f2117(A_27a),V4v) = ap(ap(c_2Epair_2Epair__CASE(A_27a,A_27a,ty_2Elist_2Elist(bool)),V4v),f2116(A_27a)) ) ).

tff(ax_thm_2ECoder_2Edecode__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1d: $i] :
          ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] : ( ap(ap(ap(c_2ECoder_2Edecode(A_27a),V0p),V1d),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)),A_27a),ap(V1d,inj__c_ty_2Elist_2Elist_o(V2l))),ap(c_2Emin_2E_40(A_27a),f2115(A_27a,V0p))),f2117(A_27a)) ) ) ) ).

tff(ax_thm_2ECoder_2Ewf__coder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))))
              <=> ( p(ap(c_2EEncode_2Ewf__pred(A_27a),V0p))
                  & p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                  & ( V2d = ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e) ) ) ) ) ) ) ).

tff(ax_thm_2ECoder_2Edomain__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(c_2ECoder_2Edomain(A_27a),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))) = V0p ) ) ) ) ).

tff(ax_thm_2ECoder_2Eencoder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(c_2ECoder_2Eencoder(A_27a),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))) = V1e ) ) ) ) ).

tff(ax_thm_2ECoder_2Edecoder__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(c_2ECoder_2Edecoder(A_27a),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))) = ap(ap(c_2ECoder_2Edecode(A_27a),V0p),V2d) ) ) ) ) ).

tff(conj_thm_2ECoder_2Edecode__encode,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                  & p(ap(V0p,V2x)) )
               => ( ap(ap(ap(c_2ECoder_2Edecode(A_27a),V0p),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e)),ap(V1e,V2x)) = V2x ) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder,axiom,
    ! [A_27a: del,V0c: $i] :
      ( mem(V0c,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c))
       => ! [V1x: $i] :
            ( mem(V1x,A_27a)
           => ( p(ap(ap(c_2ECoder_2Edomain(A_27a),V0c),V1x))
             => ( ap(ap(c_2ECoder_2Edecoder(A_27a),V0c),ap(ap(c_2ECoder_2Eencoder(A_27a),V0c),V1x)) = V1x ) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__closed,axiom,
    ! [A_27a: del,V0c: $i] :
      ( mem(V0c,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c))
       => ! [V1l: tp__c_ty_2Elist_2Elist_o] : p(ap(ap(c_2ECoder_2Edomain(A_27a),V0c),ap(ap(c_2ECoder_2Edecoder(A_27a),V0c),inj__c_ty_2Elist_2Elist_o(V1l)))) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__op,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)))
             => ( ( ? [V3x: $i] :
                      ( mem(V3x,A_27a)
                      & p(ap(V0p,V3x)) )
                  & p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                  & ! [V4x: $i] :
                      ( mem(V4x,A_27a)
                     => ( p(ap(V0p,V4x))
                       => ( surj__c_ty_2Elist_2Elist_o(ap(V1e,V4x)) = surj__c_ty_2Elist_2Elist_o(ap(V2f,V4x)) ) ) ) )
               => p(ap(c_2ECoder_2Ewf__coder(A_27a),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V2f))))) ) ) ) ) ).

tff(ax_thm_2ECoder_2Eunit__coder__def,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => ( ap(c_2ECoder_2Eunit__coder,V0p) = ap(ap(c_2Epair_2E_2C(arr(ty_2Eone_2Eone,bool),ty_2Epair_2Eprod(arr(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))))),c_2EEncode_2Eencode__unit),ap(c_2EDecode_2Edecode__unit,V0p))) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__unit,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => ( p(ap(c_2EEncode_2Ewf__pred(ty_2Eone_2Eone),V0p))
       => p(ap(c_2ECoder_2Ewf__coder(ty_2Eone_2Eone),ap(c_2ECoder_2Eunit__coder,V0p))) ) ) ).

tff(ax_thm_2ECoder_2Ebool__coder__def,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ( ap(c_2ECoder_2Ebool__coder,V0p) = ap(ap(c_2Epair_2E_2C(arr(bool,bool),ty_2Epair_2Eprod(arr(bool,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(bool,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool))))),c_2EEncode_2Eencode__bool),ap(c_2EDecode_2Edecode__bool,V0p))) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__bool,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ( p(ap(c_2EEncode_2Ewf__pred(bool),V0p))
       => p(ap(c_2ECoder_2Ewf__coder(bool),ap(c_2ECoder_2Ebool__coder,V0p))) ) ) ).

tff(ax_thm_2ECoder_2Eprod__coder__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1e1: $i] :
          ( mem(V1e1,arr(A_27c,ty_2Elist_2Elist(bool)))
         => ! [V2d1: $i] :
              ( mem(V2d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ! [V3p2: $i] :
                  ( mem(V3p2,arr(A_27b,bool))
                 => ! [V4e2: $i] :
                      ( mem(V4e2,arr(A_27d,ty_2Elist_2Elist(bool)))
                     => ! [V5d2: $i] :
                          ( mem(V5d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                         => ( ap(ap(c_2ECoder_2Eprod__coder(A_27a,A_27b,A_27c,A_27d),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27c,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p1),ap(ap(c_2Epair_2E_2C(arr(A_27c,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e1),V2d1))),ap(ap(c_2Epair_2E_2C(arr(A_27b,bool),ty_2Epair_2Eprod(arr(A_27d,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))),V3p2),ap(ap(c_2Epair_2E_2C(arr(A_27d,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool))))),V4e2),V5d2))) = ap(ap(c_2Epair_2E_2C(arr(ty_2Epair_2Eprod(A_27a,A_27b),bool),ty_2Epair_2Eprod(arr(ty_2Epair_2Eprod(A_27c,A_27d),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)))))),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V3p2)),ap(ap(c_2Epair_2E_2C(arr(ty_2Epair_2Eprod(A_27c,A_27d),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))))),ap(ap(c_2EEncode_2Eencode__prod(A_27c,A_27d),V1e1),V4e2)),ap(ap(ap(c_2EDecode_2Edecode__prod(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V3p2)),V2d1),V5d2))) ) ) ) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__prod,axiom,
    ! [A_27a: del,A_27b: del,V0c1: $i] :
      ( mem(V0c1,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ! [V1c2: $i] :
          ( mem(V1c2,ty_2Epair_2Eprod(arr(A_27b,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))))
         => ( ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c1))
              & p(ap(c_2ECoder_2Ewf__coder(A_27b),V1c2)) )
           => p(ap(c_2ECoder_2Ewf__coder(ty_2Epair_2Eprod(A_27a,A_27b)),ap(ap(c_2ECoder_2Eprod__coder(A_27a,A_27b,A_27a,A_27b),V0c1),V1c2))) ) ) ) ).

tff(ax_thm_2ECoder_2Esum__coder__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1e1: $i] :
          ( mem(V1e1,arr(A_27c,ty_2Elist_2Elist(bool)))
         => ! [V2d1: $i] :
              ( mem(V2d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ! [V3p2: $i] :
                  ( mem(V3p2,arr(A_27b,bool))
                 => ! [V4e2: $i] :
                      ( mem(V4e2,arr(A_27d,ty_2Elist_2Elist(bool)))
                     => ! [V5d2: $i] :
                          ( mem(V5d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                         => ( ap(ap(c_2ECoder_2Esum__coder(A_27a,A_27b,A_27c,A_27d),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27c,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p1),ap(ap(c_2Epair_2E_2C(arr(A_27c,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e1),V2d1))),ap(ap(c_2Epair_2E_2C(arr(A_27b,bool),ty_2Epair_2Eprod(arr(A_27d,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))),V3p2),ap(ap(c_2Epair_2E_2C(arr(A_27d,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool))))),V4e2),V5d2))) = ap(ap(c_2Epair_2E_2C(arr(ty_2Esum_2Esum(A_27a,A_27b),bool),ty_2Epair_2Eprod(arr(ty_2Esum_2Esum(A_27c,A_27d),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))))),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V3p2)),ap(ap(c_2Epair_2E_2C(arr(ty_2Esum_2Esum(A_27c,A_27d),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))))),ap(ap(c_2EEncode_2Eencode__sum(A_27c,A_27d),V1e1),V4e2)),ap(ap(ap(c_2EDecode_2Edecode__sum(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V3p2)),V2d1),V5d2))) ) ) ) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__sum,axiom,
    ! [A_27a: del,A_27b: del,V0c1: $i] :
      ( mem(V0c1,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ! [V1c2: $i] :
          ( mem(V1c2,ty_2Epair_2Eprod(arr(A_27b,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))))
         => ( ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c1))
              & p(ap(c_2ECoder_2Ewf__coder(A_27b),V1c2)) )
           => p(ap(c_2ECoder_2Ewf__coder(ty_2Esum_2Esum(A_27a,A_27b)),ap(ap(c_2ECoder_2Esum__coder(A_27a,A_27b,A_27a,A_27b),V0c1),V1c2))) ) ) ) ).

tff(ax_thm_2ECoder_2Eoption__coder__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27b,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(c_2ECoder_2Eoption__coder(A_27a,A_27b),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))) = ap(ap(c_2Epair_2E_2C(arr(ty_2Eoption_2Eoption(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2Eoption_2Eoption(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))))),ap(c_2EEncode_2Elift__option(A_27a),V0p)),ap(ap(c_2Epair_2E_2C(arr(ty_2Eoption_2Eoption(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool))))),ap(c_2EEncode_2Eencode__option(A_27b),V1e)),ap(ap(c_2EDecode_2Edecode__option(A_27a),ap(c_2EEncode_2Elift__option(A_27a),V0p)),V2d))) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__option,axiom,
    ! [A_27a: del,V0c: $i] :
      ( mem(V0c,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c))
       => p(ap(c_2ECoder_2Ewf__coder(ty_2Eoption_2Eoption(A_27a)),ap(c_2ECoder_2Eoption__coder(A_27a,A_27a),V0c))) ) ) ).

tff(ax_thm_2ECoder_2Elist__coder__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27b,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(c_2ECoder_2Elist__coder(A_27a,A_27b),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))) = ap(ap(c_2Epair_2E_2C(arr(ty_2Elist_2Elist(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))))),ap(c_2Elist_2EEVERY(A_27a),V0p)),ap(ap(c_2Epair_2E_2C(arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))))),ap(c_2EEncode_2Eencode__list(A_27b),V1e)),ap(ap(c_2EDecode_2Edecode__list(A_27a),ap(c_2Elist_2EEVERY(A_27a),V0p)),V2d))) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__list,axiom,
    ! [A_27a: del,V0c: $i] :
      ( mem(V0c,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c))
       => p(ap(c_2ECoder_2Ewf__coder(ty_2Elist_2Elist(A_27a)),ap(c_2ECoder_2Elist__coder(A_27a,A_27a),V0c))) ) ) ).

tff(ax_thm_2ECoder_2Eblist__coder__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(A_27a,bool))
     => ! [V2e: $i] :
          ( mem(V2e,arr(A_27b,ty_2Elist_2Elist(A_27c)))
         => ! [V3d: $i] :
              ( mem(V3d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(ap(c_2ECoder_2Eblist__coder(A_27a,A_27b,A_27c),inj__ty_2Enum_2Enum(V0m)),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(A_27c)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V1p),ap(ap(c_2Epair_2E_2C(arr(A_27b,ty_2Elist_2Elist(A_27c)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V2e),V3d))) = ap(ap(c_2Epair_2E_2C(arr(ty_2Elist_2Elist(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27c)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))))),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p)),ap(ap(c_2Epair_2E_2C(arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27c)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))))),ap(ap(c_2EEncode_2Eencode__blist(A_27c,A_27b),inj__ty_2Enum_2Enum(V0m)),V2e)),ap(ap(ap(c_2EDecode_2Edecode__blist(A_27a),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p)),inj__ty_2Enum_2Enum(V0m)),V3d))) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1c: $i] :
      ( mem(V1c,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V1c))
       => p(ap(c_2ECoder_2Ewf__coder(ty_2Elist_2Elist(A_27a)),ap(ap(c_2ECoder_2Eblist__coder(A_27a,A_27a,bool),inj__ty_2Enum_2Enum(V0m)),V1c))) ) ) ).

tff(ax_thm_2ECoder_2Enum__coder__def,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ( ap(c_2ECoder_2Enum__coder,V0p) = ap(ap(c_2Epair_2E_2C(arr(ty_2Enum_2Enum,bool),ty_2Epair_2Eprod(arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))))),c_2EEncode_2Eencode__num),ap(c_2EDecode_2Edecode__num,V0p))) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__num,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ( p(ap(c_2EEncode_2Ewf__pred(ty_2Enum_2Enum),V0p))
       => p(ap(c_2ECoder_2Ewf__coder(ty_2Enum_2Enum),ap(c_2ECoder_2Enum__coder,V0p))) ) ) ).

tff(ax_thm_2ECoder_2Ebnum__coder__def,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( ap(ap(c_2ECoder_2Ebnum__coder,inj__ty_2Enum_2Enum(V0m)),V1p) = ap(ap(c_2Epair_2E_2C(arr(ty_2Enum_2Enum,bool),ty_2Epair_2Eprod(arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))))),V1p),ap(ap(c_2Epair_2E_2C(arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))))),ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m))),ap(ap(c_2EDecode_2Edecode__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__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(c_2ECoder_2Ewf__coder(ty_2Enum_2Enum),ap(ap(c_2ECoder_2Ebnum__coder,inj__ty_2Enum_2Enum(V0m)),V1p))) ) ) ).

tff(ax_thm_2ECoder_2Etree__coder__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27b,ty_2Elist_2Elist(bool)))
         => ! [V2d: $i] :
              ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ( ap(c_2ECoder_2Etree__coder(A_27a,A_27b),ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))),V0p),ap(ap(c_2Epair_2E_2C(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))))),V1e),V2d))) = ap(ap(c_2Epair_2E_2C(arr(ty_2EEncode_2Etree(A_27a),bool),ty_2Epair_2Eprod(arr(ty_2EEncode_2Etree(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))))),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),ap(ap(c_2Epair_2E_2C(arr(ty_2EEncode_2Etree(A_27b),ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool))))),ap(c_2EEncode_2Eencode__tree(A_27b),V1e)),ap(ap(c_2EDecode_2Edecode__tree(A_27a),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),V2d))) ) ) ) ) ).

tff(conj_thm_2ECoder_2Ewf__coder__tree,axiom,
    ! [A_27a: del,V0c: $i] :
      ( mem(V0c,ty_2Epair_2Eprod(arr(A_27a,bool),ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))))
     => ( p(ap(c_2ECoder_2Ewf__coder(A_27a),V0c))
       => p(ap(c_2ECoder_2Ewf__coder(ty_2EEncode_2Etree(A_27a)),ap(c_2ECoder_2Etree__coder(A_27a,A_27a),V0c))) ) ) ).

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