ITP001 Axioms: ITP060_5.ax


%------------------------------------------------------------------------------
% File     : ITP060_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    : Decode_2.ax [Gau20]
%          : HL4060_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  294 (  53 unt; 116 typ;   0 def)
%            Number of atoms       : 4229 ( 154 equ)
%            Maximal formula atoms :    9 (  14 avg)
%            Number of connectives :  306 (   1   ~;   0   |;  28   &)
%                                         (   5 <=>; 272  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   6 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of FOOLs       : 3746 (3746 fml;   0 var)
%            Number of types       :    6 (   5 usr)
%            Number of type conns  :  220 ( 100   >; 120   *;   0   +;   0  <<)
%            Number of predicates  :   78 (  77 usr;  28 prp; 0-3 aty)
%            Number of functors    :  111 ( 111 usr;  11 con; 0-5 aty)
%            Number of variables   :  550 ( 550   !;   0   ?; 550   :)
% SPC      : TF0_SAT_EQU_NAR

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

tff(mem_c_2EDecode_2Edec2enc,axiom,
    ! [A_27a: del] : mem(c_2EDecode_2Edec2enc(A_27a),arr(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(stp_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $tType ).

tff(stp_inj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o > $i ).

tff(stp_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o ).

tff(stp_inj_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(X)) = X ) ).

tff(stp_inj_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : mem(inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(X),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ).

tff(stp_iso_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( mem(X,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))))
     => ( X = inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(X)) ) ) ).

tff(stp_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $tType ).

tff(stp_inj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o > $i ).

tff(stp_surj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o ).

tff(stp_inj_surj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(X)) = X ) ).

tff(stp_inj_mem_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : mem(inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(X),ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))) ).

tff(stp_iso_mem_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( mem(X,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))
     => ( X = inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(X)) ) ) ).

tff(tp_c_2EDecode_2Edec__bnum,type,
    c_2EDecode_2Edec__bnum: $i ).

tff(mem_c_2EDecode_2Edec__bnum,axiom,
    mem(c_2EDecode_2Edec__bnum,arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))))) ).

tff(tp_c_2EDecode_2Edecode__blist,type,
    c_2EDecode_2Edecode__blist: del > $i ).

tff(mem_c_2EDecode_2Edecode__blist,axiom,
    ! [A_27a: del] : mem(c_2EDecode_2Edecode__blist(A_27a),arr(arr(ty_2Elist_2Elist(A_27a),bool),arr(ty_2Enum_2Enum,arr(arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,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_2EDecode_2Edecode__bnum,type,
    c_2EDecode_2Edecode__bnum: $i ).

tff(mem_c_2EDecode_2Edecode__bnum,axiom,
    mem(c_2EDecode_2Edecode__bnum,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))))))) ).

tff(stp_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o: $tType ).

tff(stp_inj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o > $i ).

tff(stp_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o ).

tff(stp_inj_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(X)) = X ) ).

tff(stp_inj_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o] : mem(inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(X),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))) ).

tff(stp_iso_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( mem(X,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool))))
     => ( X = inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(X)) ) ) ).

tff(tp_c_2EDecode_2Edecode__bool,type,
    c_2EDecode_2Edecode__bool: $i ).

tff(mem_c_2EDecode_2Edecode__bool,axiom,
    mem(c_2EDecode_2Edecode__bool,arr(arr(bool,bool),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))))) ).

tff(tp_c_2EDecode_2Edecode__list,type,
    c_2EDecode_2Edecode__list: del > $i ).

tff(mem_c_2EDecode_2Edecode__list,axiom,
    ! [A_27a: del] : mem(c_2EDecode_2Edecode__list(A_27a),arr(arr(ty_2Elist_2Elist(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),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))))))) ).

tff(tp_c_2EDecode_2Edecode__num,type,
    c_2EDecode_2Edecode__num: $i ).

tff(mem_c_2EDecode_2Edecode__num,axiom,
    mem(c_2EDecode_2Edecode__num,arr(arr(ty_2Enum_2Enum,bool),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))))) ).

tff(tp_c_2EDecode_2Edecode__option,type,
    c_2EDecode_2Edecode__option: del > $i ).

tff(mem_c_2EDecode_2Edecode__option,axiom,
    ! [A_27a: del] : mem(c_2EDecode_2Edecode__option(A_27a),arr(arr(ty_2Eoption_2Eoption(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),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool))))))) ).

tff(tp_c_2EDecode_2Edecode__prod,type,
    c_2EDecode_2Edecode__prod: ( del * del ) > $i ).

tff(mem_c_2EDecode_2Edecode__prod,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EDecode_2Edecode__prod(A_27a,A_27b),arr(arr(ty_2Epair_2Eprod(A_27a,A_27b),bool),arr(arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),arr(arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,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_2EDecode_2Edecode__sum,type,
    c_2EDecode_2Edecode__sum: ( del * del ) > $i ).

tff(mem_c_2EDecode_2Edecode__sum,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EDecode_2Edecode__sum(A_27a,A_27b),arr(arr(ty_2Esum_2Esum(A_27a,A_27b),bool),arr(arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),arr(arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,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_2EDecode_2Edecode__tree,type,
    c_2EDecode_2Edecode__tree: del > $i ).

tff(mem_c_2EDecode_2Edecode__tree,axiom,
    ! [A_27a: del] : mem(c_2EDecode_2Edecode__tree(A_27a),arr(arr(ty_2EEncode_2Etree(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),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool))))))) ).

tff(stp_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $tType ).

tff(stp_inj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o > $i ).

tff(stp_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o ).

tff(stp_inj_surj_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(X)) = X ) ).

tff(stp_inj_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] : mem(inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(X),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)))) ).

tff(stp_iso_mem_c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( mem(X,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))))
     => ( X = inj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(X)) ) ) ).

tff(stp_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $tType ).

tff(stp_inj_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o > $i ).

tff(stp_surj_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,type,
    surj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o: $i > tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o ).

tff(stp_inj_surj_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(X)) = X ) ).

tff(stp_inj_mem_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: tp__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o] : mem(inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(X),ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))) ).

tff(stp_iso_mem_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o,axiom,
    ! [X: $i] :
      ( mem(X,ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)))
     => ( X = inj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(surj__c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(X)) ) ) ).

tff(tp_c_2EDecode_2Edecode__unit,type,
    c_2EDecode_2Edecode__unit: $i ).

tff(mem_c_2EDecode_2Edecode__unit,axiom,
    mem(c_2EDecode_2Edecode__unit,arr(arr(ty_2Eone_2Eone,bool),arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)))))) ).

tff(tp_c_2EDecode_2Eenc2dec,type,
    c_2EDecode_2Eenc2dec: del > $i ).

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

tff(tp_c_2EDecode_2Ewf__decoder,type,
    c_2EDecode_2Ewf__decoder: del > $i ).

tff(mem_c_2EDecode_2Ewf__decoder,axiom,
    ! [A_27a: del] : mem(c_2EDecode_2Ewf__decoder(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)))),bool))) ).

tff(lamtp_f1715,type,
    f1715: ( del * $i * $i * tp__c_ty_2Elist_2Elist_o * tp__c_ty_2Elist_2Elist_o ) > $i ).

tff(lameq_f1715,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3a: tp__c_ty_2Elist_2Elist_o,V4b: tp__c_ty_2Elist_2Elist_o,V5c: tp__c_ty_2Elist_2Elist_o] : ( ap(f1715(A_27a,V1d,V2x,V3a,V4b),inj__c_ty_2Elist_2Elist_o(V5c)) = ap(ap(c_2Emin_2E_3D(bool),ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),ap(V1d,inj__c_ty_2Elist_2Elist_o(V4b))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V2x),inj__c_ty_2Elist_2Elist_o(V5c))))),ap(ap(c_2Emin_2E_3D(ty_2Elist_2Elist(bool)),inj__c_ty_2Elist_2Elist_o(V4b)),ap(ap(c_2Elist_2EAPPEND(bool),inj__c_ty_2Elist_2Elist_o(V3a)),inj__c_ty_2Elist_2Elist_o(V5c)))) ) ) ) ).

tff(lamtp_f1716,type,
    f1716: ( del * tp__c_ty_2Elist_2Elist_o * $i * $i ) > $i ).

tff(lameq_f1716,axiom,
    ! [A_27a: del,V3a: tp__c_ty_2Elist_2Elist_o,V2x: $i] :
      ( mem(V2x,A_27a)
     => ! [V1d: $i] :
          ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V4b: tp__c_ty_2Elist_2Elist_o] : ( ap(f1716(A_27a,V3a,V2x,V1d),inj__c_ty_2Elist_2Elist_o(V4b)) = ap(c_2Ebool_2E_21(ty_2Elist_2Elist(bool)),f1715(A_27a,V1d,V2x,V3a,V4b)) ) ) ) ).

tff(lamtp_f1717,type,
    f1717: ( del * $i * $i ) > $i ).

tff(lameq_f1717,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3a: tp__c_ty_2Elist_2Elist_o] : ( ap(f1717(A_27a,V1d,V2x),inj__c_ty_2Elist_2Elist_o(V3a)) = ap(c_2Ebool_2E_21(ty_2Elist_2Elist(bool)),f1716(A_27a,V3a,V2x,V1d)) ) ) ) ).

tff(lamtp_f1718,type,
    f1718: ( del * $i * tp__c_ty_2Elist_2Elist_o * $i ) > $i ).

tff(lameq_f1718,axiom,
    ! [A_27a: del,V2x: $i] :
      ( mem(V2x,A_27a)
     => ! [V6a: tp__c_ty_2Elist_2Elist_o,V1d: $i] :
          ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V7b: tp__c_ty_2Elist_2Elist_o] : ( ap(f1718(A_27a,V2x,V6a,V1d),inj__c_ty_2Elist_2Elist_o(V7b)) = ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),ap(V1d,inj__c_ty_2Elist_2Elist_o(V6a))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V2x),inj__c_ty_2Elist_2Elist_o(V7b))))) ) ) ) ).

tff(lamtp_f1719,type,
    f1719: ( del * $i * $i ) > $i ).

tff(lameq_f1719,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V6a: tp__c_ty_2Elist_2Elist_o] : ( ap(f1719(A_27a,V1d,V2x),inj__c_ty_2Elist_2Elist_o(V6a)) = ap(c_2Ebool_2E_21(ty_2Elist_2Elist(bool)),f1718(A_27a,V2x,V6a,V1d)) ) ) ) ).

tff(ax_thm_2EDecode_2Ewf__decoder__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)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
          <=> ! [V2x: $i] :
                ( mem(V2x,A_27a)
               => p(ap(ap(ap(c_2Ebool_2ECOND(bool),ap(V0p,V2x)),ap(c_2Ebool_2E_3F(ty_2Elist_2Elist(bool)),f1717(A_27a,V1d,V2x))),ap(c_2Ebool_2E_21(ty_2Elist_2Elist(bool)),f1719(A_27a,V1d,V2x)))) ) ) ) ) ).

tff(lamtp_f1720,type,
    f1720: ( del * tp__c_ty_2Elist_2Elist_o * $i * $i * $i ) > $i ).

tff(lameq_f1720,axiom,
    ! [A_27a: del,V2l: tp__c_ty_2Elist_2Elist_o,V1e: $i] :
      ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
     => ! [V3x: $i] :
          ( mem(V3x,A_27a)
         => ! [V0p: $i] :
              ( mem(V0p,arr(A_27a,bool))
             => ! [V4t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1720(A_27a,V2l,V1e,V3x,V0p),inj__c_ty_2Elist_2Elist_o(V4t)) = ap(ap(c_2Ebool_2E_2F_5C,ap(V0p,V3x)),ap(ap(c_2Emin_2E_3D(ty_2Elist_2Elist(bool)),inj__c_ty_2Elist_2Elist_o(V2l)),ap(ap(c_2Elist_2EAPPEND(bool),ap(V1e,V3x)),inj__c_ty_2Elist_2Elist_o(V4t)))) ) ) ) ) ).

tff(lamtp_f1721,type,
    f1721: ( del * $i * $i * tp__c_ty_2Elist_2Elist_o ) > $i ).

tff(lameq_f1721,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: tp__c_ty_2Elist_2Elist_o,V3x: $i] : ( ap(f1721(A_27a,V0p,V1e,V2l),V3x) = ap(c_2Ebool_2E_3F(ty_2Elist_2Elist(bool)),f1720(A_27a,V2l,V1e,V3x,V0p)) ) ) ) ).

tff(lamtp_f1722,type,
    f1722: ( del * tp__c_ty_2Elist_2Elist_o * $i * $i * $i ) > $i ).

tff(lameq_f1722,axiom,
    ! [A_27a: del,V2l: tp__c_ty_2Elist_2Elist_o,V1e: $i] :
      ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
     => ! [V5x: $i] :
          ( mem(V5x,A_27a)
         => ! [V0p: $i] :
              ( mem(V0p,arr(A_27a,bool))
             => ! [V6t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1722(A_27a,V2l,V1e,V5x,V0p),inj__c_ty_2Elist_2Elist_o(V6t)) = ap(ap(c_2Ebool_2E_2F_5C,ap(V0p,V5x)),ap(ap(c_2Emin_2E_3D(ty_2Elist_2Elist(bool)),inj__c_ty_2Elist_2Elist_o(V2l)),ap(ap(c_2Elist_2EAPPEND(bool),ap(V1e,V5x)),inj__c_ty_2Elist_2Elist_o(V6t)))) ) ) ) ) ).

tff(lamtp_f1723,type,
    f1723: ( del * tp__c_ty_2Elist_2Elist_o * $i * $i ) > $i ).

tff(lameq_f1723,axiom,
    ! [A_27a: del,V2l: tp__c_ty_2Elist_2Elist_o,V1e: $i] :
      ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V5x: $i] : ( ap(f1723(A_27a,V2l,V1e,V0p),V5x) = f1722(A_27a,V2l,V1e,V5x,V0p) ) ) ) ).

tff(ax_thm_2EDecode_2Eenc2dec__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] : ( ap(ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),ap(c_2Ebool_2E_3F(A_27a),f1721(A_27a,V0p,V1e,V2l))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(c_2Emin_2E_40(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(c_2Epair_2EUNCURRY(A_27a,ty_2Elist_2Elist(bool),bool),f1723(A_27a,V2l,V1e,V0p))))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))) ) ) ) ).

tff(lamtp_f1724,type,
    f1724: ( del * $i * $i ) > $i ).

tff(lameq_f1724,axiom,
    ! [A_27a: del,V0d: $i] :
      ( mem(V0d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] : ( ap(f1724(A_27a,V0d,V1x),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))),ap(V0d,inj__c_ty_2Elist_2Elist_o(V2l))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V1x),c_2Elist_2ENIL(bool)))) ) ) ) ).

tff(ax_thm_2EDecode_2Edec2enc__def,axiom,
    ! [A_27a: del,V0d: $i] :
      ( mem(V0d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(A_27a),V0d),V1x)) = surj__c_ty_2Elist_2Elist_o(ap(c_2Emin_2E_40(ty_2Elist_2Elist(bool)),f1724(A_27a,V0d,V1x))) ) ) ) ).

tff(conj_thm_2EDecode_2Eenc2dec__none,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
              ( ( ap(ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e),inj__c_ty_2Elist_2Elist_o(V2l)) = c_2Eoption_2ENONE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))) )
            <=> ! [V3x: $i] :
                  ( mem(V3x,A_27a)
                 => ! [V4t: tp__c_ty_2Elist_2Elist_o] :
                      ( p(ap(V0p,V3x))
                     => ( V2l != surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V1e,V3x)),inj__c_ty_2Elist_2Elist_o(V4t))) ) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eenc2dec__some,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: tp__c_ty_2Elist_2Elist_o,V3x: $i] :
              ( mem(V3x,A_27a)
             => ! [V4t: tp__c_ty_2Elist_2Elist_o] :
                  ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                 => ( ( ap(ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V3x),inj__c_ty_2Elist_2Elist_o(V4t))) )
                  <=> ( p(ap(V0p,V3x))
                      & ( V2l = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V1e,V3x)),inj__c_ty_2Elist_2Elist_o(V4t))) ) ) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eenc2dec__some__alt,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: tp__c_ty_2Elist_2Elist_o,V3x: $i] :
              ( mem(V3x,ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))
             => ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
               => ( ( ap(ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),V3x) )
                <=> ( p(ap(V0p,ap(c_2Epair_2EFST(A_27a,ty_2Elist_2Elist(bool)),V3x)))
                    & ( V2l = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V1e,ap(c_2Epair_2EFST(A_27a,ty_2Elist_2Elist(bool)),V3x))),ap(c_2Epair_2ESND(A_27a,ty_2Elist_2Elist(bool)),V3x))) ) ) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__enc2dec,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_2EDecode_2Ewf__decoder(A_27a),V0p),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e))) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__some,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)))))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ! [V3l: tp__c_ty_2Elist_2Elist_o] :
                  ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
                 => ( ( ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(A_27a),V1d),V2x)) = V3l )
                      & p(ap(V0p,V2x)) )
                  <=> ( ap(V1d,inj__c_ty_2Elist_2Elist_o(V3l)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V2x),c_2Elist_2ENIL(bool))) ) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__dec2enc,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)))))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
                  & p(ap(V0p,V2x)) )
               => ( ap(V1d,ap(ap(c_2EDecode_2Edec2enc(A_27a),V1d),V2x)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V2x),c_2Elist_2ENIL(bool))) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__dec2enc__append,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)))))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ! [V3t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
                    & p(ap(V0p,V2x)) )
                 => ( ap(V1d,ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(c_2EDecode_2Edec2enc(A_27a),V1d),V2x)),inj__c_ty_2Elist_2Elist_o(V3t))) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Elist_2Elist(bool)),V2x),inj__c_ty_2Elist_2Elist_o(V3t))) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__dec2enc,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)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
           => p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),ap(c_2EDecode_2Edec2enc(A_27a),V1d))) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__enc2dec,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)) )
               => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(A_27a),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e)),V2x)) = surj__c_ty_2Elist_2Elist_o(ap(V1e,V2x)) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eenc2dec__dec2enc,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)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
           => ( ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),ap(c_2EDecode_2Edec2enc(A_27a),V1d)) = V1d ) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__unit__def,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => ( ap(c_2EDecode_2Edecode__unit,V0p) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Eone_2Eone),V0p),c_2EEncode_2Eencode__unit) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__unit,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Eone_2Eone),V0p),ap(c_2EDecode_2Edecode__unit,V0p))) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__unit,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => ! [V1x: tp__ty_2Eone_2Eone] :
          ( p(ap(V0p,inj__ty_2Eone_2Eone(V1x)))
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Eone_2Eone),ap(c_2EDecode_2Edecode__unit,V0p)),inj__ty_2Eone_2Eone(V1x))) = surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__unit,inj__ty_2Eone_2Eone(V1x))) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__unit,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Eone_2Eone,bool))
     => ! [V1l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edecode__unit,V0p),inj__c_ty_2Elist_2Elist_o(V1l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Eone_2Eone_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)))),ap(V0p,inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Eone_2Eone,ty_2Elist_2Elist(bool)),inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone)),inj__c_ty_2Elist_2Elist_o(V1l)))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))))) ) ) ).

tff(ax_thm_2EDecode_2Edecode__bool__def,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ( ap(c_2EDecode_2Edecode__bool,V0p) = ap(ap(c_2EDecode_2Eenc2dec(bool),V0p),c_2EEncode_2Eencode__bool) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__bool,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => p(ap(ap(c_2EDecode_2Ewf__decoder(bool),V0p),ap(c_2EDecode_2Edecode__bool,V0p))) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__bool,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ! [V1x: tp__o] :
          ( p(ap(V0p,inj__o(V1x)))
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(bool),ap(c_2EDecode_2Edecode__bool,V0p)),inj__o(V1x))) = surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__bool,inj__o(V1x))) ) ) ) ).

tff(lamtp_f1725,type,
    f1725: ( tp__o * $i ) > $i ).

tff(lameq_f1725,axiom,
    ! [V2h: tp__o,V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ! [V3t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1725(V2h,V0p),inj__c_ty_2Elist_2Elist_o(V3t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))),ap(V0p,inj__o(V2h))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(bool,ty_2Elist_2Elist(bool)),inj__o(V2h)),inj__c_ty_2Elist_2Elist_o(V3t)))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))) ) ) ).

tff(lamtp_f1726,type,
    f1726: $i > $i ).

tff(lameq_f1726,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ! [V2h: tp__o] : ( ap(f1726(V0p),inj__o(V2h)) = f1725(V2h,V0p) ) ) ).

tff(conj_thm_2EDecode_2Edecode__bool,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(bool,bool))
     => ! [V1l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edecode__bool,V0p),inj__c_ty_2Elist_2Elist_o(V1l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_o_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V1l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool)))),f1726(V0p))) ) ) ).

tff(ax_thm_2EDecode_2Edecode__prod__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( mem(V0p,arr(ty_2Epair_2Eprod(A_27a,A_27b),bool))
     => ! [V1d1: $i] :
          ( mem(V1d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V2d2: $i] :
              ( mem(V2d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
             => ( ap(ap(ap(c_2EDecode_2Edecode__prod(A_27a,A_27b),V0p),V1d1),V2d2) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Epair_2Eprod(A_27a,A_27b)),V0p),ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),ap(c_2EDecode_2Edec2enc(A_27a),V1d1)),ap(c_2EDecode_2Edec2enc(A_27b),V2d2))) ) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2d1: $i] :
              ( mem(V2d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ! [V3d2: $i] :
                  ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                 => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p1),V2d1))
                      & p(ap(ap(c_2EDecode_2Ewf__decoder(A_27b),V1p2),V3d2)) )
                   => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Epair_2Eprod(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),ap(ap(ap(c_2EDecode_2Edecode__prod(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),V2d1),V3d2))) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2d1: $i] :
              ( mem(V2d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ! [V3d2: $i] :
                  ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                 => ! [V4x: $i] :
                      ( mem(V4x,ty_2Epair_2Eprod(A_27a,A_27b))
                     => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p1),V2d1))
                          & p(ap(ap(c_2EDecode_2Ewf__decoder(A_27b),V1p2),V3d2))
                          & p(ap(ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2),V4x)) )
                       => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Epair_2Eprod(A_27a,A_27b)),ap(ap(ap(c_2EDecode_2Edecode__prod(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),V2d1),V3d2)),V4x)) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),ap(c_2EDecode_2Edec2enc(A_27a),V2d1)),ap(c_2EDecode_2Edec2enc(A_27b),V3d2)),V4x)) ) ) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eencode__then__decode__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)))
                 => ! [V4l: $i] :
                      ( mem(V4l,ty_2Epair_2Eprod(A_27a,A_27b))
                     => ! [V5t: tp__c_ty_2Elist_2Elist_o] :
                          ( ( 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(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2),V4l)) )
                         => ( ap(ap(ap(ap(c_2EDecode_2Edecode__prod(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p1),V2e1)),ap(ap(c_2EDecode_2Eenc2dec(A_27b),V1p2),V3e2)),ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V2e1),V3e2),V4l)),inj__c_ty_2Elist_2Elist_o(V5t))) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)),V4l),inj__c_ty_2Elist_2Elist_o(V5t))) ) ) ) ) ) ) ) ).

tff(lamtp_f1727,type,
    f1727: ( del * del * $i * $i ) > $i ).

tff(lameq_f1727,axiom,
    ! [A_27a: del,A_27b: del,V9y: $i] :
      ( mem(V9y,A_27b)
     => ! [V6x: $i] :
          ( mem(V6x,A_27a)
         => ! [V10t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1727(A_27a,A_27b,V9y,V6x),inj__c_ty_2Elist_2Elist_o(V10t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)),ap(ap(c_2Epair_2E_2C(A_27a,A_27b),V6x),V9y)),inj__c_ty_2Elist_2Elist_o(V10t_27))) ) ) ) ).

tff(lamtp_f1728,type,
    f1728: ( del * del * $i ) > $i ).

tff(lameq_f1728,axiom,
    ! [A_27a: del,A_27b: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V9y: $i] : ( ap(f1728(A_27a,A_27b,V6x),V9y) = f1727(A_27a,A_27b,V9y,V6x) ) ) ).

tff(lamtp_f1729,type,
    f1729: ( del * del * $i ) > $i ).

tff(lameq_f1729,axiom,
    ! [A_27a: del,A_27b: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V8v: $i] : ( ap(f1729(A_27a,A_27b,V6x),V8v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))),A_27b,ty_2Elist_2Elist(bool)),V8v),f1728(A_27a,A_27b,V6x)) ) ) ).

tff(lamtp_f1730,type,
    f1730: ( del * del * $i * $i ) > $i ).

tff(lameq_f1730,axiom,
    ! [A_27b: del,A_27a: del,V3d2: $i] :
      ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
     => ! [V6x: $i] :
          ( mem(V6x,A_27a)
         => ! [V7t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1730(A_27b,A_27a,V3d2,V6x),inj__c_ty_2Elist_2Elist_o(V7t)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)))),ap(V3d2,inj__c_ty_2Elist_2Elist_o(V7t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)))),f1729(A_27a,A_27b,V6x)) ) ) ) ).

tff(lamtp_f1731,type,
    f1731: ( del * del * $i ) > $i ).

tff(lameq_f1731,axiom,
    ! [A_27b: del,A_27a: del,V3d2: $i] :
      ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
     => ! [V6x: $i] : ( ap(f1731(A_27b,A_27a,V3d2),V6x) = f1730(A_27b,A_27a,V3d2,V6x) ) ) ).

tff(lamtp_f1732,type,
    f1732: ( del * del * $i ) > $i ).

tff(lameq_f1732,axiom,
    ! [A_27b: del,A_27a: del,V3d2: $i] :
      ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
     => ! [V5v1: $i] : ( ap(f1732(A_27b,A_27a,V3d2),V5v1) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))),A_27a,ty_2Elist_2Elist(bool)),V5v1),f1731(A_27b,A_27a,V3d2)) ) ) ).

tff(conj_thm_2EDecode_2Edecode__prod,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1d1: $i] :
          ( mem(V1d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V2p2: $i] :
              ( mem(V2p2,arr(A_27b,bool))
             => ! [V3d2: $i] :
                  ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                 => ! [V4l: tp__c_ty_2Elist_2Elist_o] :
                      ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p1),V1d1))
                        & p(ap(ap(c_2EDecode_2Ewf__decoder(A_27b),V2p2),V3d2)) )
                     => ( ap(ap(ap(ap(c_2EDecode_2Edecode__prod(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V2p2)),V1d1),V3d2),inj__c_ty_2Elist_2Elist_o(V4l)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)))),ap(V1d1,inj__c_ty_2Elist_2Elist_o(V4l))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool)))),f1732(A_27b,A_27a,V3d2)) ) ) ) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__sum__def,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( mem(V0p,arr(ty_2Esum_2Esum(A_27a,A_27b),bool))
     => ! [V1d1: $i] :
          ( mem(V1d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V2d2: $i] :
              ( mem(V2d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
             => ( ap(ap(ap(c_2EDecode_2Edecode__sum(A_27a,A_27b),V0p),V1d1),V2d2) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Esum_2Esum(A_27a,A_27b)),V0p),ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),ap(c_2EDecode_2Edec2enc(A_27a),V1d1)),ap(c_2EDecode_2Edec2enc(A_27b),V2d2))) ) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2d1: $i] :
              ( mem(V2d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ! [V3d2: $i] :
                  ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                 => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p1),V2d1))
                      & p(ap(ap(c_2EDecode_2Ewf__decoder(A_27b),V1p2),V3d2)) )
                   => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Esum_2Esum(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),ap(ap(ap(c_2EDecode_2Edecode__sum(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),V2d1),V3d2))) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1p2: $i] :
          ( mem(V1p2,arr(A_27b,bool))
         => ! [V2d1: $i] :
              ( mem(V2d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
             => ! [V3d2: $i] :
                  ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                 => ! [V4x: $i] :
                      ( mem(V4x,ty_2Esum_2Esum(A_27a,A_27b))
                     => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p1),V2d1))
                          & p(ap(ap(c_2EDecode_2Ewf__decoder(A_27b),V1p2),V3d2))
                          & p(ap(ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2),V4x)) )
                       => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Esum_2Esum(A_27a,A_27b)),ap(ap(ap(c_2EDecode_2Edecode__sum(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),V2d1),V3d2)),V4x)) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),ap(c_2EDecode_2Edec2enc(A_27a),V2d1)),ap(c_2EDecode_2Edec2enc(A_27b),V3d2)),V4x)) ) ) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eencode__then__decode__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)))
                 => ! [V4l: $i] :
                      ( mem(V4l,ty_2Esum_2Esum(A_27a,A_27b))
                     => ! [V5t: tp__c_ty_2Elist_2Elist_o] :
                          ( ( 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(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2),V4l)) )
                         => ( ap(ap(ap(ap(c_2EDecode_2Edecode__sum(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p1),V2e1)),ap(ap(c_2EDecode_2Eenc2dec(A_27b),V1p2),V3e2)),ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V2e1),V3e2),V4l)),inj__c_ty_2Elist_2Elist_o(V5t))) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)),V4l),inj__c_ty_2Elist_2Elist_o(V5t))) ) ) ) ) ) ) ) ).

tff(lamtp_f1733,type,
    f1733: ( del * del * $i ) > $i ).

tff(lameq_f1733,axiom,
    ! [A_27b: del,A_27a: del,V8x: $i] :
      ( mem(V8x,A_27a)
     => ! [V9t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1733(A_27b,A_27a,V8x),inj__c_ty_2Elist_2Elist_o(V9t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)),ap(c_2Esum_2EINL(A_27a,A_27b),V8x)),inj__c_ty_2Elist_2Elist_o(V9t_27))) ) ) ).

tff(lamtp_f1734,type,
    f1734: ( del * del ) > $i ).

tff(lameq_f1734,axiom,
    ! [A_27b: del,A_27a: del,V8x: $i] : ( ap(f1734(A_27b,A_27a),V8x) = f1733(A_27b,A_27a,V8x) ) ).

tff(lamtp_f1735,type,
    f1735: ( del * del ) > $i ).

tff(lameq_f1735,axiom,
    ! [A_27b: del,A_27a: del,V7v: $i] : ( ap(f1735(A_27b,A_27a),V7v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))),A_27a,ty_2Elist_2Elist(bool)),V7v),f1734(A_27b,A_27a)) ) ).

tff(lamtp_f1736,type,
    f1736: ( del * del * $i ) > $i ).

tff(lameq_f1736,axiom,
    ! [A_27a: del,A_27b: del,V11x: $i] :
      ( mem(V11x,A_27b)
     => ! [V12t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1736(A_27a,A_27b,V11x),inj__c_ty_2Elist_2Elist_o(V12t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)),ap(c_2Esum_2EINR(A_27a,A_27b),V11x)),inj__c_ty_2Elist_2Elist_o(V12t_27))) ) ) ).

tff(lamtp_f1737,type,
    f1737: ( del * del ) > $i ).

tff(lameq_f1737,axiom,
    ! [A_27a: del,A_27b: del,V11x: $i] : ( ap(f1737(A_27a,A_27b),V11x) = f1736(A_27a,A_27b,V11x) ) ).

tff(lamtp_f1738,type,
    f1738: ( del * del ) > $i ).

tff(lameq_f1738,axiom,
    ! [A_27a: del,A_27b: del,V10v: $i] : ( ap(f1738(A_27a,A_27b),V10v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))),A_27b,ty_2Elist_2Elist(bool)),V10v),f1737(A_27a,A_27b)) ) ).

tff(lamtp_f1739,type,
    f1739: ( del * del * tp__o * $i * $i ) > $i ).

tff(lameq_f1739,axiom,
    ! [A_27b: del,A_27a: del,V5v1: tp__o,V1d1: $i] :
      ( mem(V1d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V3d2: $i] :
          ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
         => ! [V6t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1739(A_27b,A_27a,V5v1,V1d1,V3d2),inj__c_ty_2Elist_2Elist_o(V6t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),inj__o(V5v1)),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),ap(V1d1,inj__c_ty_2Elist_2Elist_o(V6t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),f1735(A_27b,A_27a))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),ap(V3d2,inj__c_ty_2Elist_2Elist_o(V6t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),f1738(A_27a,A_27b))) ) ) ) ).

tff(lamtp_f1740,type,
    f1740: ( del * del * $i * $i ) > $i ).

tff(lameq_f1740,axiom,
    ! [A_27a: del,A_27b: del,V1d1: $i] :
      ( mem(V1d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V3d2: $i] :
          ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
         => ! [V5v1: tp__o] : ( ap(f1740(A_27a,A_27b,V1d1,V3d2),inj__o(V5v1)) = f1739(A_27b,A_27a,V5v1,V1d1,V3d2) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__sum,axiom,
    ! [A_27a: del,A_27b: del,V0p1: $i] :
      ( mem(V0p1,arr(A_27a,bool))
     => ! [V1d1: $i] :
          ( mem(V1d1,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V2p2: $i] :
              ( mem(V2p2,arr(A_27b,bool))
             => ! [V3d2: $i] :
                  ( mem(V3d2,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,ty_2Elist_2Elist(bool)))))
                 => ! [V4l: tp__c_ty_2Elist_2Elist_o] :
                      ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p1),V1d1))
                        & p(ap(ap(c_2EDecode_2Ewf__decoder(A_27b),V2p2),V3d2)) )
                     => ( ap(ap(ap(ap(c_2EDecode_2Edecode__sum(A_27a,A_27b),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V2p2)),V1d1),V3d2),inj__c_ty_2Elist_2Elist_o(V4l)) = ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V4l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool)))),f1740(A_27a,A_27b,V1d1,V3d2)) ) ) ) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__option__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(ty_2Eoption_2Eoption(A_27a),bool))
     => ! [V1d: $i] :
          ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ( ap(ap(c_2EDecode_2Edecode__option(A_27a),V0p),V1d) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Eoption_2Eoption(A_27a)),V0p),ap(c_2EEncode_2Eencode__option(A_27a),ap(c_2EDecode_2Edec2enc(A_27a),V1d))) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__option,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)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
           => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Eoption_2Eoption(A_27a)),ap(c_2EEncode_2Elift__option(A_27a),V0p)),ap(ap(c_2EDecode_2Edecode__option(A_27a),ap(c_2EEncode_2Elift__option(A_27a),V0p)),V1d))) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__option,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)))))
         => ! [V2x: $i] :
              ( mem(V2x,ty_2Eoption_2Eoption(A_27a))
             => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
                  & p(ap(ap(c_2EEncode_2Elift__option(A_27a),V0p),V2x)) )
               => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Eoption_2Eoption(A_27a)),ap(ap(c_2EDecode_2Edecode__option(A_27a),ap(c_2EEncode_2Elift__option(A_27a),V0p)),V1d)),V2x)) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__option(A_27a),ap(c_2EDecode_2Edec2enc(A_27a),V1d)),V2x)) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eencode__then__decode__option,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: $i] :
              ( mem(V2l,ty_2Eoption_2Eoption(A_27a))
             => ! [V3t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                    & p(ap(ap(c_2EEncode_2Elift__option(A_27a),V0p),V2l)) )
                 => ( ap(ap(ap(c_2EDecode_2Edecode__option(A_27a),ap(c_2EEncode_2Elift__option(A_27a),V0p)),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e)),ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(c_2EEncode_2Eencode__option(A_27a),V1e),V2l)),inj__c_ty_2Elist_2Elist_o(V3t))) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)),V2l),inj__c_ty_2Elist_2Elist_o(V3t))) ) ) ) ) ) ).

tff(lamtp_f1741,type,
    f1741: ( del * $i ) > $i ).

tff(lameq_f1741,axiom,
    ! [A_27a: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V7t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1741(A_27a,V6x),inj__c_ty_2Elist_2Elist_o(V7t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)),ap(c_2Eoption_2ESOME(A_27a),V6x)),inj__c_ty_2Elist_2Elist_o(V7t_27))) ) ) ).

tff(lamtp_f1742,type,
    f1742: del > $i ).

tff(lameq_f1742,axiom,
    ! [A_27a: del,V6x: $i] : ( ap(f1742(A_27a),V6x) = f1741(A_27a,V6x) ) ).

tff(lamtp_f1743,type,
    f1743: del > $i ).

tff(lameq_f1743,axiom,
    ! [A_27a: del,V5v: $i] : ( ap(f1743(A_27a),V5v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool))),A_27a,ty_2Elist_2Elist(bool)),V5v),f1742(A_27a)) ) ).

tff(lamtp_f1744,type,
    f1744: ( del * tp__o * $i ) > $i ).

tff(lameq_f1744,axiom,
    ! [A_27a: del,V3v1: tp__o,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V4t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1744(A_27a,V3v1,V1d),inj__c_ty_2Elist_2Elist_o(V4t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))),inj__o(V3v1)),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))),ap(V1d,inj__c_ty_2Elist_2Elist_o(V4t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))),f1743(A_27a))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)),c_2Eoption_2ENONE(A_27a)),inj__c_ty_2Elist_2Elist_o(V4t)))) ) ) ).

tff(lamtp_f1745,type,
    f1745: ( del * $i ) > $i ).

tff(lameq_f1745,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V3v1: tp__o] : ( ap(f1745(A_27a,V1d),inj__o(V3v1)) = f1744(A_27a,V3v1,V1d) ) ) ).

tff(conj_thm_2EDecode_2Edecode__option,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] :
              ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
             => ( ap(ap(ap(c_2EDecode_2Edecode__option(A_27a),ap(c_2EEncode_2Elift__option(A_27a),V0p)),V1d),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V2l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))),f1745(A_27a,V1d)) ) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__list__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(ty_2Elist_2Elist(A_27a),bool))
     => ! [V1d: $i] :
          ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ( ap(ap(c_2EDecode_2Edecode__list(A_27a),V0p),V1d) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Elist_2Elist(A_27a)),V0p),ap(c_2EEncode_2Eencode__list(A_27a),ap(c_2EDecode_2Edec2enc(A_27a),V1d))) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__list,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)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
           => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Elist_2Elist(A_27a)),ap(c_2Elist_2EEVERY(A_27a),V0p)),ap(ap(c_2EDecode_2Edecode__list(A_27a),ap(c_2Elist_2EEVERY(A_27a),V0p)),V1d))) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__list,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)))))
         => ! [V2x: $i] :
              ( mem(V2x,ty_2Elist_2Elist(A_27a))
             => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
                  & p(ap(ap(c_2Elist_2EEVERY(A_27a),V0p),V2x)) )
               => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Elist_2Elist(A_27a)),ap(ap(c_2EDecode_2Edecode__list(A_27a),ap(c_2Elist_2EEVERY(A_27a),V0p)),V1d)),V2x)) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),ap(c_2EDecode_2Edec2enc(A_27a),V1d)),V2x)) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eencode__then__decode__list,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(A_27a,bool))
     => ! [V1e: $i] :
          ( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
         => ! [V2l: $i] :
              ( mem(V2l,ty_2Elist_2Elist(A_27a))
             => ! [V3t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
                    & p(ap(ap(c_2Elist_2EEVERY(A_27a),V0p),V2l)) )
                 => ( ap(ap(ap(c_2EDecode_2Edecode__list(A_27a),ap(c_2Elist_2EEVERY(A_27a),V0p)),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V0p),V1e)),ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(c_2EEncode_2Eencode__list(A_27a),V1e),V2l)),inj__c_ty_2Elist_2Elist_o(V3t))) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),V2l),inj__c_ty_2Elist_2Elist_o(V3t))) ) ) ) ) ) ).

tff(lamtp_f1746,type,
    f1746: ( del * $i * $i ) > $i ).

tff(lameq_f1746,axiom,
    ! [A_27a: del,V9xs: $i] :
      ( mem(V9xs,ty_2Elist_2Elist(A_27a))
     => ! [V6x: $i] :
          ( mem(V6x,A_27a)
         => ! [V10t_27_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1746(A_27a,V9xs,V6x),inj__c_ty_2Elist_2Elist_o(V10t_27_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),ap(ap(c_2Elist_2ECONS(A_27a),V6x),V9xs)),inj__c_ty_2Elist_2Elist_o(V10t_27_27))) ) ) ) ).

tff(lamtp_f1747,type,
    f1747: ( del * $i ) > $i ).

tff(lameq_f1747,axiom,
    ! [A_27a: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V9xs: $i] : ( ap(f1747(A_27a,V6x),V9xs) = f1746(A_27a,V9xs,V6x) ) ) ).

tff(lamtp_f1748,type,
    f1748: ( del * $i ) > $i ).

tff(lameq_f1748,axiom,
    ! [A_27a: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V8v: $i] : ( ap(f1748(A_27a,V6x),V8v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),V8v),f1747(A_27a,V6x)) ) ) ).

tff(lamtp_f1749,type,
    f1749: ( del * $i * $i * $i ) > $i ).

tff(lameq_f1749,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)))))
         => ! [V6x: $i] :
              ( mem(V6x,A_27a)
             => ! [V7t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1749(A_27a,V0p,V1d,V6x),inj__c_ty_2Elist_2Elist_o(V7t_27)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),ap(ap(ap(c_2EDecode_2Edecode__list(A_27a),ap(c_2Elist_2EEVERY(A_27a),V0p)),V1d),inj__c_ty_2Elist_2Elist_o(V7t_27))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),f1748(A_27a,V6x)) ) ) ) ) ).

tff(lamtp_f1750,type,
    f1750: ( del * $i * $i ) > $i ).

tff(lameq_f1750,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)))))
         => ! [V6x: $i] : ( ap(f1750(A_27a,V0p,V1d),V6x) = f1749(A_27a,V0p,V1d,V6x) ) ) ) ).

tff(lamtp_f1751,type,
    f1751: ( del * $i * $i ) > $i ).

tff(lameq_f1751,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V5v1: $i] : ( ap(f1751(A_27a,V1d,V0p),V5v1) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),A_27a,ty_2Elist_2Elist(bool)),V5v1),f1750(A_27a,V0p,V1d)) ) ) ) ).

tff(lamtp_f1752,type,
    f1752: ( del * tp__o * $i * $i ) > $i ).

tff(lameq_f1752,axiom,
    ! [A_27a: del,V3v2: tp__o,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V4t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1752(A_27a,V3v2,V1d,V0p),inj__c_ty_2Elist_2Elist_o(V4t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),inj__o(V3v2)),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),ap(V1d,inj__c_ty_2Elist_2Elist_o(V4t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),f1751(A_27a,V1d,V0p))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),c_2Elist_2ENIL(A_27a)),inj__c_ty_2Elist_2Elist_o(V4t)))) ) ) ) ).

tff(lamtp_f1753,type,
    f1753: ( del * $i * $i ) > $i ).

tff(lameq_f1753,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V3v2: tp__o] : ( ap(f1753(A_27a,V1d,V0p),inj__o(V3v2)) = f1752(A_27a,V3v2,V1d,V0p) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__list,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] :
              ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
             => ( ap(ap(ap(c_2EDecode_2Edecode__list(A_27a),ap(c_2Elist_2EEVERY(A_27a),V0p)),V1d),inj__c_ty_2Elist_2Elist_o(V2l)) = ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V2l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),f1753(A_27a,V1d,V0p)) ) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__blist__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(ty_2Elist_2Elist(A_27a),bool))
     => ! [V1m: tp__ty_2Enum_2Enum,V2d: $i] :
          ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ( ap(ap(ap(c_2EDecode_2Edecode__blist(A_27a),V0p),inj__ty_2Enum_2Enum(V1m)),V2d) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Elist_2Elist(A_27a)),V0p),ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),inj__ty_2Enum_2Enum(V1m)),ap(c_2EDecode_2Edec2enc(A_27a),V2d))) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(A_27a,bool))
     => ! [V2d: $i] :
          ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V1p),V2d))
           => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Elist_2Elist(A_27a)),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p)),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)),V2d))) ) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__blist,axiom,
    ! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(A_27a,bool))
     => ! [V2d: $i] :
          ( mem(V2d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ! [V3l: $i] :
              ( mem(V3l,ty_2Elist_2Elist(A_27a))
             => ( ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V1p),V2d))
                  & p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p),V3l)) )
               => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Elist_2Elist(A_27a)),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)),V2d)),V3l)) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),inj__ty_2Enum_2Enum(V0m)),ap(c_2EDecode_2Edec2enc(A_27a),V2d)),V3l)) ) ) ) ) ) ).

tff(conj_thm_2EDecode_2Eencode__then__decode__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)))
         => ! [V3l: $i] :
              ( mem(V3l,ty_2Elist_2Elist(A_27a))
             => ! [V4t: tp__c_ty_2Elist_2Elist_o] :
                  ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V1p),V2e))
                    & p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p),V3l)) )
                 => ( ap(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)),ap(ap(c_2EDecode_2Eenc2dec(A_27a),V1p),V2e)),ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),inj__ty_2Enum_2Enum(V0m)),V2e),V3l)),inj__c_ty_2Elist_2Elist_o(V4t))) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),V3l),inj__c_ty_2Elist_2Elist_o(V4t))) ) ) ) ) ) ).

tff(lamtp_f1754,type,
    f1754: ( del * $i * $i ) > $i ).

tff(lameq_f1754,axiom,
    ! [A_27a: del,V9xs: $i] :
      ( mem(V9xs,ty_2Elist_2Elist(A_27a))
     => ! [V6x: $i] :
          ( mem(V6x,A_27a)
         => ! [V10t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1754(A_27a,V9xs,V6x),inj__c_ty_2Elist_2Elist_o(V10t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),ap(ap(c_2Elist_2ECONS(A_27a),V6x),V9xs)),inj__c_ty_2Elist_2Elist_o(V10t_27))) ) ) ) ).

tff(lamtp_f1755,type,
    f1755: ( del * $i ) > $i ).

tff(lameq_f1755,axiom,
    ! [A_27a: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V9xs: $i] : ( ap(f1755(A_27a,V6x),V9xs) = f1754(A_27a,V9xs,V6x) ) ) ).

tff(lamtp_f1756,type,
    f1756: ( del * $i ) > $i ).

tff(lameq_f1756,axiom,
    ! [A_27a: del,V6x: $i] :
      ( mem(V6x,A_27a)
     => ! [V8v: $i] : ( ap(f1756(A_27a,V6x),V8v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),V8v),f1755(A_27a,V6x)) ) ) ).

tff(lamtp_f1757,type,
    f1757: ( del * tp__ty_2Enum_2Enum * $i * $i * $i ) > $i ).

tff(lameq_f1757,axiom,
    ! [A_27a: del,V4n: tp__ty_2Enum_2Enum,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)))))
         => ! [V6x: $i] :
              ( mem(V6x,A_27a)
             => ! [V7t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1757(A_27a,V4n,V0p,V1d,V6x),inj__c_ty_2Elist_2Elist_o(V7t)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),ap(ap(ap(ap(c_2EDecode_2Edecode__blist(A_27a),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V4n)),V0p)),inj__ty_2Enum_2Enum(V4n)),V1d),inj__c_ty_2Elist_2Elist_o(V7t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),f1756(A_27a,V6x)) ) ) ) ) ).

tff(lamtp_f1758,type,
    f1758: ( del * tp__ty_2Enum_2Enum * $i * $i ) > $i ).

tff(lameq_f1758,axiom,
    ! [A_27a: del,V4n: tp__ty_2Enum_2Enum,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)))))
         => ! [V6x: $i] : ( ap(f1758(A_27a,V4n,V0p,V1d),V6x) = f1757(A_27a,V4n,V0p,V1d,V6x) ) ) ) ).

tff(lamtp_f1759,type,
    f1759: ( del * $i * $i * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f1759,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V4n: tp__ty_2Enum_2Enum,V5v1: $i] : ( ap(f1759(A_27a,V1d,V0p,V4n),V5v1) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),A_27a,ty_2Elist_2Elist(bool)),V5v1),f1758(A_27a,V4n,V0p,V1d)) ) ) ) ).

tff(lamtp_f1760,type,
    f1760: ( del * $i * $i * tp__c_ty_2Elist_2Elist_o ) > $i ).

tff(lameq_f1760,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)))))
         => ! [V3l: tp__c_ty_2Elist_2Elist_o,V4n: tp__ty_2Enum_2Enum] : ( ap(f1760(A_27a,V0p,V1d,V3l),inj__ty_2Enum_2Enum(V4n)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),ap(V1d,inj__c_ty_2Elist_2Elist_o(V3l))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),f1759(A_27a,V1d,V0p,V4n)) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__blist,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)))))
         => ! [V2m: tp__ty_2Enum_2Enum,V3l: tp__c_ty_2Elist_2Elist_o] :
              ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
             => ( ap(ap(ap(ap(c_2EDecode_2Edecode__blist(A_27a),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V2m)),V0p)),inj__ty_2Enum_2Enum(V2m)),V1d),inj__c_ty_2Elist_2Elist_o(V3l)) = ap(ap(ap(c_2Earithmetic_2Enum__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))),inj__ty_2Enum_2Enum(V2m)),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)),c_2Elist_2ENIL(A_27a)),inj__c_ty_2Elist_2Elist_o(V3l)))),f1760(A_27a,V0p,V1d,V3l)) ) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__num__def,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ( ap(c_2EDecode_2Edecode__num,V0p) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Enum_2Enum),V0p),c_2EEncode_2Eencode__num) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__num,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2Enum_2Enum),V0p),ap(c_2EDecode_2Edecode__num,V0p))) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__num,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V1x: tp__ty_2Enum_2Enum] :
          ( p(ap(V0p,inj__ty_2Enum_2Enum(V1x)))
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Enum_2Enum),ap(c_2EDecode_2Edecode__num,V0p)),inj__ty_2Enum_2Enum(V1x))) = surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__num,inj__ty_2Enum_2Enum(V1x))) ) ) ) ).

tff(lamtp_f1761,type,
    f1761: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f1761,axiom,
    ! [V6v: tp__ty_2Enum_2Enum,V7t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1761(V6v),inj__c_ty_2Elist_2Elist_o(V7t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V6v))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__c_ty_2Elist_2Elist_o(V7t_27))) ) ).

tff(lamtp_f1762,type,
    f1762: $i ).

tff(lameq_f1762,axiom,
    ! [V6v: tp__ty_2Enum_2Enum] : ( ap(f1762,inj__ty_2Enum_2Enum(V6v)) = f1761(V6v) ) ).

tff(lamtp_f1763,type,
    f1763: $i ).

tff(lameq_f1763,axiom,
    ! [V5v1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1763,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V5v1)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V5v1)),f1762) ) ).

tff(lamtp_f1764,type,
    f1764: tp__o > $i ).

tff(lameq_f1764,axiom,
    ! [V3v8: tp__o,V4t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1764(V3v8),inj__c_ty_2Elist_2Elist_o(V4t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__o(V3v8)),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_o(V4t)))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edecode__num,ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),inj__o(fo__c_2Ebool_2ET))),inj__c_ty_2Elist_2Elist_o(V4t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1763)) ) ).

tff(lamtp_f1765,type,
    f1765: $i ).

tff(lameq_f1765,axiom,
    ! [V3v8: tp__o] : ( ap(f1765,inj__o(V3v8)) = f1764(V3v8) ) ).

tff(lamtp_f1766,type,
    f1766: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f1766,axiom,
    ! [V9v: tp__ty_2Enum_2Enum,V10t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1766(V9v),inj__c_ty_2Elist_2Elist_o(V10t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V9v))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__c_ty_2Elist_2Elist_o(V10t_27))) ) ).

tff(lamtp_f1767,type,
    f1767: $i ).

tff(lameq_f1767,axiom,
    ! [V9v: tp__ty_2Enum_2Enum] : ( ap(f1767,inj__ty_2Enum_2Enum(V9v)) = f1766(V9v) ) ).

tff(lamtp_f1768,type,
    f1768: $i ).

tff(lameq_f1768,axiom,
    ! [V8v1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1768,inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V8v1)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V8v1)),f1767) ) ).

tff(lamtp_f1769,type,
    f1769: tp__o > $i ).

tff(lameq_f1769,axiom,
    ! [V1v4: tp__o,V2t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1769(V1v4),inj__c_ty_2Elist_2Elist_o(V2t_27)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__o(V1v4)),ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V2t_27)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1765)),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edecode__num,ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),inj__o(fo__c_2Ebool_2ET))),inj__c_ty_2Elist_2Elist_o(V2t_27))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1768)) ) ).

tff(lamtp_f1770,type,
    f1770: $i ).

tff(lameq_f1770,axiom,
    ! [V1v4: tp__o] : ( ap(f1770,inj__o(V1v4)) = f1769(V1v4) ) ).

tff(conj_thm_2EDecode_2Edecode__num__total,axiom,
    ! [V0l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edecode__num,ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),inj__o(fo__c_2Ebool_2ET))),inj__c_ty_2Elist_2Elist_o(V0l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V0l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1770)) ) ).

tff(lamtp_f1771,type,
    f1771: ( tp__ty_2Enum_2Enum * $i ) > $i ).

tff(lameq_f1771,axiom,
    ! [V7v: tp__ty_2Enum_2Enum,V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V8t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1771(V7v,V0p),inj__c_ty_2Elist_2Elist_o(V8t_27)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(V0p,ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V7v))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V7v))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__c_ty_2Elist_2Elist_o(V8t_27)))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ) ) ).

tff(lamtp_f1772,type,
    f1772: $i > $i ).

tff(lameq_f1772,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V7v: tp__ty_2Enum_2Enum] : ( ap(f1772(V0p),inj__ty_2Enum_2Enum(V7v)) = f1771(V7v,V0p) ) ) ).

tff(lamtp_f1773,type,
    f1773: $i > $i ).

tff(lameq_f1773,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V6v1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1773(V0p),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V6v1)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V6v1)),f1772(V0p)) ) ) ).

tff(lamtp_f1774,type,
    f1774: ( tp__o * $i ) > $i ).

tff(lameq_f1774,axiom,
    ! [V4v8: tp__o,V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V5t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1774(V4v8,V0p),inj__c_ty_2Elist_2Elist_o(V5t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__o(V4v8)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(V0p,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_o(V5t)))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edecode__num,ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),inj__o(fo__c_2Ebool_2ET))),inj__c_ty_2Elist_2Elist_o(V5t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1773(V0p))) ) ) ).

tff(lamtp_f1775,type,
    f1775: $i > $i ).

tff(lameq_f1775,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V4v8: tp__o] : ( ap(f1775(V0p),inj__o(V4v8)) = f1774(V4v8,V0p) ) ) ).

tff(lamtp_f1776,type,
    f1776: ( tp__ty_2Enum_2Enum * $i ) > $i ).

tff(lameq_f1776,axiom,
    ! [V10v: tp__ty_2Enum_2Enum,V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V11t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1776(V10v,V0p),inj__c_ty_2Elist_2Elist_o(V11t_27)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(V0p,ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V10v))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V10v))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__c_ty_2Elist_2Elist_o(V11t_27)))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ) ) ).

tff(lamtp_f1777,type,
    f1777: $i > $i ).

tff(lameq_f1777,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V10v: tp__ty_2Enum_2Enum] : ( ap(f1777(V0p),inj__ty_2Enum_2Enum(V10v)) = f1776(V10v,V0p) ) ) ).

tff(lamtp_f1778,type,
    f1778: $i > $i ).

tff(lameq_f1778,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V9v1: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1778(V0p),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V9v1)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V9v1)),f1777(V0p)) ) ) ).

tff(lamtp_f1779,type,
    f1779: ( tp__o * $i ) > $i ).

tff(lameq_f1779,axiom,
    ! [V2v4: tp__o,V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V3t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1779(V2v4,V0p),inj__c_ty_2Elist_2Elist_o(V3t_27)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__o(V2v4)),ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V3t_27)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1775(V0p))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edecode__num,ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),inj__o(fo__c_2Ebool_2ET))),inj__c_ty_2Elist_2Elist_o(V3t_27))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1778(V0p))) ) ) ).

tff(lamtp_f1780,type,
    f1780: $i > $i ).

tff(lameq_f1780,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V2v4: tp__o] : ( ap(f1780(V0p),inj__o(V2v4)) = f1779(V2v4,V0p) ) ) ).

tff(conj_thm_2EDecode_2Edecode__num,axiom,
    ! [V0p: $i] :
      ( mem(V0p,arr(ty_2Enum_2Enum,bool))
     => ! [V1l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edecode__num,V0p),inj__c_ty_2Elist_2Elist_o(V1l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V1l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1780(V0p))) ) ) ).

tff(ax_thm_2EDecode_2Edecode__bnum__def,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ( ap(ap(c_2EDecode_2Edecode__bnum,inj__ty_2Enum_2Enum(V0m)),V1p) = ap(ap(c_2EDecode_2Eenc2dec(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m))) ) ) ).

tff(lamtp_f1781,type,
    f1781: ( tp__o * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f1781,axiom,
    ! [V3h: tp__o,V6n: tp__ty_2Enum_2Enum,V7t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1781(V3h,V6n),inj__c_ty_2Elist_2Elist_o(V7t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V6n))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),inj__o(V3h)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),inj__c_ty_2Elist_2Elist_o(V7t_27))) ) ).

tff(lamtp_f1782,type,
    f1782: tp__o > $i ).

tff(lameq_f1782,axiom,
    ! [V3h: tp__o,V6n: tp__ty_2Enum_2Enum] : ( ap(f1782(V3h),inj__ty_2Enum_2Enum(V6n)) = f1781(V3h,V6n) ) ).

tff(lamtp_f1783,type,
    f1783: tp__o > $i ).

tff(lameq_f1783,axiom,
    ! [V3h: tp__o,V5v: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1783(V3h),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V5v)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V5v)),f1782(V3h)) ) ).

tff(lamtp_f1784,type,
    f1784: ( tp__ty_2Enum_2Enum * tp__o ) > $i ).

tff(lameq_f1784,axiom,
    ! [V1m: tp__ty_2Enum_2Enum,V3h: tp__o,V4t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1784(V1m,V3h),inj__c_ty_2Elist_2Elist_o(V4t)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edec__bnum,inj__ty_2Enum_2Enum(V1m)),inj__c_ty_2Elist_2Elist_o(V4t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1783(V3h)) ) ).

tff(lamtp_f1785,type,
    f1785: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f1785,axiom,
    ! [V1m: tp__ty_2Enum_2Enum,V3h: tp__o] : ( ap(f1785(V1m),inj__o(V3h)) = f1784(V1m,V3h) ) ).

tff(ax_thm_2EDecode_2Edec__bnum__def,axiom,
    ( ! [V0l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_o(V0l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_o(V0l)))) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1m))),inj__c_ty_2Elist_2Elist_o(V2l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V2l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1785(V1m))) ) ) ).

tff(lamtp_f1786,type,
    f1786: ( tp__ty_2Enum_2Enum * tp__o ) > $i ).

tff(lameq_f1786,axiom,
    ! [V1m: tp__ty_2Enum_2Enum,V3h: tp__o,V4t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1786(V1m,V3h),inj__c_ty_2Elist_2Elist_o(V4t)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edec__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))))),inj__c_ty_2Elist_2Elist_o(V4t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1783(V3h)) ) ).

tff(lamtp_f1787,type,
    f1787: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f1787,axiom,
    ! [V1m: tp__ty_2Enum_2Enum,V3h: tp__o] : ( ap(f1787(V1m),inj__o(V3h)) = f1786(V1m,V3h) ) ).

tff(lamtp_f1788,type,
    f1788: ( tp__o * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f1788,axiom,
    ! [V10h: tp__o,V13n: tp__ty_2Enum_2Enum,V14t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1788(V10h,V13n),inj__c_ty_2Elist_2Elist_o(V14t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V13n))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),inj__o(V10h)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),inj__c_ty_2Elist_2Elist_o(V14t_27))) ) ).

tff(lamtp_f1789,type,
    f1789: tp__o > $i ).

tff(lameq_f1789,axiom,
    ! [V10h: tp__o,V13n: tp__ty_2Enum_2Enum] : ( ap(f1789(V10h),inj__ty_2Enum_2Enum(V13n)) = f1788(V10h,V13n) ) ).

tff(lamtp_f1790,type,
    f1790: tp__o > $i ).

tff(lameq_f1790,axiom,
    ! [V10h: tp__o,V12v: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1790(V10h),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V12v)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V12v)),f1789(V10h)) ) ).

tff(lamtp_f1791,type,
    f1791: ( tp__ty_2Enum_2Enum * tp__o ) > $i ).

tff(lameq_f1791,axiom,
    ! [V8m: tp__ty_2Enum_2Enum,V10h: tp__o,V11t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1791(V8m,V10h),inj__c_ty_2Elist_2Elist_o(V11t)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edec__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V8m)))),inj__c_ty_2Elist_2Elist_o(V11t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1790(V10h)) ) ).

tff(lamtp_f1792,type,
    f1792: tp__ty_2Enum_2Enum > $i ).

tff(lameq_f1792,axiom,
    ! [V8m: tp__ty_2Enum_2Enum,V10h: tp__o] : ( ap(f1792(V8m),inj__o(V10h)) = f1791(V8m,V10h) ) ).

tff(conj_thm_2EDecode_2Edec__bnum__def__compute,axiom,
    ( ! [V0l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_o(V0l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__c_ty_2Elist_2Elist_o(V0l)))) )
    & ! [V1m: tp__ty_2Enum_2Enum,V2l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V1m)))),inj__c_ty_2Elist_2Elist_o(V2l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V2l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1787(V1m))) )
    & ! [V8m: tp__ty_2Enum_2Enum,V9l: tp__c_ty_2Elist_2Elist_o] : ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(V8m)))),inj__c_ty_2Elist_2Elist_o(V9l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),inj__c_ty_2Elist_2Elist_o(V9l)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1792(V8m))) ) ) ).

tff(conj_thm_2EDecode_2Edec__bnum__lt,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_o,V2n: tp__ty_2Enum_2Enum,V3t: tp__c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,inj__ty_2Enum_2Enum(V0m)),inj__c_ty_2Elist_2Elist_o(V1l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(V2n)),inj__c_ty_2Elist_2Elist_o(V3t)))) )
     => p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2n)),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_2EDecode_2Edec__bnum__inj,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1l: tp__c_ty_2Elist_2Elist_o,V2n: tp__ty_2Enum_2Enum,V3t: tp__c_ty_2Elist_2Elist_o] :
      ( ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec__bnum,inj__ty_2Enum_2Enum(V0m)),inj__c_ty_2Elist_2Elist_o(V1l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(V2n)),inj__c_ty_2Elist_2Elist_o(V3t)))) )
     => ( V1l = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V2n))),inj__c_ty_2Elist_2Elist_o(V3t))) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__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_2EDecode_2Ewf__decoder(ty_2Enum_2Enum),V1p),ap(ap(c_2EDecode_2Edecode__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))) ) ) ).

tff(conj_thm_2EDecode_2Edec2enc__decode__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ! [V2x: tp__ty_2Enum_2Enum] :
          ( ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
            & p(ap(V1p,inj__ty_2Enum_2Enum(V2x))) )
         => ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EDecode_2Edec2enc(ty_2Enum_2Enum),ap(ap(c_2EDecode_2Edecode__bnum,inj__ty_2Enum_2Enum(V0m)),V1p)),inj__ty_2Enum_2Enum(V2x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V2x))) ) ) ) ).

tff(lamtp_f1793,type,
    f1793: ( tp__ty_2Enum_2Enum * $i ) > $i ).

tff(lameq_f1793,axiom,
    ! [V4n: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ! [V5t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1793(V4n,V1p),inj__c_ty_2Elist_2Elist_o(V5t)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(V1p,inj__ty_2Enum_2Enum(V4n))),ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__ty_2Enum_2Enum(V4n)),inj__c_ty_2Elist_2Elist_o(V5t)))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ) ) ).

tff(lamtp_f1794,type,
    f1794: $i > $i ).

tff(lameq_f1794,axiom,
    ! [V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ! [V4n: tp__ty_2Enum_2Enum] : ( ap(f1794(V1p),inj__ty_2Enum_2Enum(V4n)) = f1793(V4n,V1p) ) ) ).

tff(lamtp_f1795,type,
    f1795: $i > $i ).

tff(lameq_f1795,axiom,
    ! [V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ! [V3v: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o] : ( ap(f1795(V1p),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V3v)) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))),ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(V3v)),f1794(V1p)) ) ) ).

tff(conj_thm_2EDecode_2Edecode__bnum,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
      ( mem(V1p,arr(ty_2Enum_2Enum,bool))
     => ! [V2l: tp__c_ty_2Elist_2Elist_o] :
          ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
         => ( surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EDecode_2Edecode__bnum,inj__ty_2Enum_2Enum(V0m)),V1p),inj__c_ty_2Elist_2Elist_o(V2l))) = surj__c_ty_2Eoption_2Eoption_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),ap(ap(c_2EDecode_2Edec__bnum,inj__ty_2Enum_2Enum(V0m)),inj__c_ty_2Elist_2Elist_o(V2l))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))),f1795(V1p))) ) ) ) ).

tff(ax_thm_2EDecode_2Edecode__tree__def,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,arr(ty_2EEncode_2Etree(A_27a),bool))
     => ! [V1d: $i] :
          ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
         => ( ap(ap(c_2EDecode_2Edecode__tree(A_27a),V0p),V1d) = ap(ap(c_2EDecode_2Eenc2dec(ty_2EEncode_2Etree(A_27a)),V0p),ap(c_2EEncode_2Eencode__tree(A_27a),ap(c_2EDecode_2Edec2enc(A_27a),V1d))) ) ) ) ).

tff(conj_thm_2EDecode_2Ewf__decode__tree,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)))))
         => ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
           => p(ap(ap(c_2EDecode_2Ewf__decoder(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),ap(ap(c_2EDecode_2Edecode__tree(A_27a),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),V1d))) ) ) ) ).

tff(lamtp_f1796,type,
    f1796: ( del * $i * $i ) > $i ).

tff(lameq_f1796,axiom,
    ! [A_27a: del,V7ts: $i] :
      ( mem(V7ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
     => ! [V4a: $i] :
          ( mem(V4a,A_27a)
         => ! [V8t_27: tp__c_ty_2Elist_2Elist_o] : ( ap(f1796(A_27a,V7ts,V4a),inj__c_ty_2Elist_2Elist_o(V8t_27)) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool))),ap(ap(c_2Epair_2E_2C(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)),ap(ap(c_2EEncode_2ENode(A_27a),V4a),V7ts)),inj__c_ty_2Elist_2Elist_o(V8t_27))) ) ) ) ).

tff(lamtp_f1797,type,
    f1797: ( del * $i ) > $i ).

tff(lameq_f1797,axiom,
    ! [A_27a: del,V4a: $i] :
      ( mem(V4a,A_27a)
     => ! [V7ts: $i] : ( ap(f1797(A_27a,V4a),V7ts) = f1796(A_27a,V7ts,V4a) ) ) ).

tff(lamtp_f1798,type,
    f1798: ( del * $i ) > $i ).

tff(lameq_f1798,axiom,
    ! [A_27a: del,V4a: $i] :
      ( mem(V4a,A_27a)
     => ! [V6v: $i] : ( ap(f1798(A_27a,V4a),V6v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool))),ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2Elist_2Elist(bool)),V6v),f1797(A_27a,V4a)) ) ) ).

tff(lamtp_f1799,type,
    f1799: ( del * $i * $i * $i ) > $i ).

tff(lameq_f1799,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V4a: $i] :
              ( mem(V4a,A_27a)
             => ! [V5t: tp__c_ty_2Elist_2Elist_o] : ( ap(f1799(A_27a,V1d,V0p,V4a),inj__c_ty_2Elist_2Elist_o(V5t)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2Elist_2Elist(bool)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))),ap(ap(ap(c_2EDecode_2Edecode__list(ty_2EEncode_2Etree(A_27a)),ap(c_2Elist_2EEVERY(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p))),ap(ap(c_2EDecode_2Edecode__tree(A_27a),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),V1d)),inj__c_ty_2Elist_2Elist_o(V5t))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))),f1798(A_27a,V4a)) ) ) ) ) ).

tff(lamtp_f1800,type,
    f1800: ( del * $i * $i ) > $i ).

tff(lameq_f1800,axiom,
    ! [A_27a: del,V1d: $i] :
      ( mem(V1d,arr(ty_2Elist_2Elist(bool),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Elist_2Elist(bool)))))
     => ! [V0p: $i] :
          ( mem(V0p,arr(A_27a,bool))
         => ! [V4a: $i] : ( ap(f1800(A_27a,V1d,V0p),V4a) = f1799(A_27a,V1d,V0p,V4a) ) ) ) ).

tff(lamtp_f1801,type,
    f1801: ( del * $i * $i ) > $i ).

tff(lameq_f1801,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)))))
         => ! [V3v1: $i] : ( ap(f1801(A_27a,V0p,V1d),V3v1) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool))),A_27a,ty_2Elist_2Elist(bool)),V3v1),f1800(A_27a,V1d,V0p)) ) ) ) ).

tff(conj_thm_2EDecode_2Edecode__tree,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] :
              ( p(ap(ap(c_2EDecode_2Ewf__decoder(A_27a),V0p),V1d))
             => ( ap(ap(ap(c_2EDecode_2Edecode__tree(A_27a),ap(c_2EEncode_2Elift__tree(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)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))),ap(V1d,inj__c_ty_2Elist_2Elist_o(V2l))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))),f1801(A_27a,V0p,V1d)) ) ) ) ) ).

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