ITP001 Axioms: ITP043_5.ax
%------------------------------------------------------------------------------
% File : ITP043_5 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 set theory export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : Encode_2.ax [Gau20]
% : HL4043_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 154 ( 36 unt; 47 typ; 0 def)
% Number of atoms : 2222 ( 78 equ)
% Maximal formula atoms : 16 ( 14 avg)
% Number of connectives : 284 ( 3 ~; 1 |; 49 &)
% ( 17 <=>; 214 =>; 0 <=; 0 <~>)
% Maximal formula depth : 20 ( 6 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of FOOLs : 1834 (1834 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 69 ( 39 >; 30 *; 0 +; 0 <<)
% Number of predicates : 76 ( 75 usr; 26 prp; 0-3 aty)
% Number of functors : 47 ( 47 usr; 8 con; 0-5 aty)
% Number of variables : 343 ( 335 !; 8 ?; 343 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_ty_2EEncode_2Etree,type,
ty_2EEncode_2Etree: del > del ).
tff(tp_c_2EEncode_2ENode,type,
c_2EEncode_2ENode: del > $i ).
tff(mem_c_2EEncode_2ENode,axiom,
! [A_27a: del] : mem(c_2EEncode_2ENode(A_27a),arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a)))) ).
tff(tp_c_2EEncode_2Ebiprefix,type,
c_2EEncode_2Ebiprefix: del > $i ).
tff(mem_c_2EEncode_2Ebiprefix,axiom,
! [A_27a: del] : mem(c_2EEncode_2Ebiprefix(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))) ).
tff(tp_c_2EEncode_2Ecollision__free,type,
c_2EEncode_2Ecollision__free: $i ).
tff(mem_c_2EEncode_2Ecollision__free,axiom,
mem(c_2EEncode_2Ecollision__free,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),bool))) ).
tff(tp_c_2EEncode_2Eencode__blist,type,
c_2EEncode_2Eencode__blist: ( del * del ) > $i ).
tff(mem_c_2EEncode_2Eencode__blist,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Eencode__blist(A_27a,A_27b),arr(ty_2Enum_2Enum,arr(arr(A_27b,ty_2Elist_2Elist(A_27a)),arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27a))))) ).
tff(tp_c_2EEncode_2Eencode__bnum,type,
c_2EEncode_2Eencode__bnum: $i ).
tff(mem_c_2EEncode_2Eencode__bnum,axiom,
mem(c_2EEncode_2Eencode__bnum,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ).
tff(tp_c_2EEncode_2Eencode__bool,type,
c_2EEncode_2Eencode__bool: $i ).
tff(mem_c_2EEncode_2Eencode__bool,axiom,
mem(c_2EEncode_2Eencode__bool,arr(bool,ty_2Elist_2Elist(bool))) ).
tff(tp_c_2EEncode_2Eencode__list,type,
c_2EEncode_2Eencode__list: del > $i ).
tff(mem_c_2EEncode_2Eencode__list,axiom,
! [A_27a: del] : mem(c_2EEncode_2Eencode__list(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))) ).
tff(tp_c_2EEncode_2Eencode__num,type,
c_2EEncode_2Eencode__num: $i ).
tff(mem_c_2EEncode_2Eencode__num,axiom,
mem(c_2EEncode_2Eencode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))) ).
tff(tp_c_2EEncode_2Eencode__option,type,
c_2EEncode_2Eencode__option: del > $i ).
tff(mem_c_2EEncode_2Eencode__option,axiom,
! [A_27a: del] : mem(c_2EEncode_2Eencode__option(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))) ).
tff(tp_c_2EEncode_2Eencode__prod,type,
c_2EEncode_2Eencode__prod: ( del * del ) > $i ).
tff(mem_c_2EEncode_2Eencode__prod,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Eencode__prod(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))))) ).
tff(tp_c_2EEncode_2Eencode__sum,type,
c_2EEncode_2Eencode__sum: ( del * del ) > $i ).
tff(mem_c_2EEncode_2Eencode__sum,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Eencode__sum(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))))) ).
tff(tp_c_2EEncode_2Eencode__tree,type,
c_2EEncode_2Eencode__tree: del > $i ).
tff(mem_c_2EEncode_2Eencode__tree,axiom,
! [A_27a: del] : mem(c_2EEncode_2Eencode__tree(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))) ).
tff(tp_c_2EEncode_2Eencode__unit,type,
c_2EEncode_2Eencode__unit: $i ).
tff(mem_c_2EEncode_2Eencode__unit,axiom,
mem(c_2EEncode_2Eencode__unit,arr(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))) ).
tff(tp_c_2EEncode_2Elift__blist,type,
c_2EEncode_2Elift__blist: del > $i ).
tff(mem_c_2EEncode_2Elift__blist,axiom,
! [A_27a: del] : mem(c_2EEncode_2Elift__blist(A_27a),arr(ty_2Enum_2Enum,arr(arr(A_27a,bool),arr(ty_2Elist_2Elist(A_27a),bool)))) ).
tff(tp_c_2EEncode_2Elift__option,type,
c_2EEncode_2Elift__option: del > $i ).
tff(mem_c_2EEncode_2Elift__option,axiom,
! [A_27a: del] : mem(c_2EEncode_2Elift__option(A_27a),arr(arr(A_27a,bool),arr(ty_2Eoption_2Eoption(A_27a),bool))) ).
tff(tp_c_2EEncode_2Elift__prod,type,
c_2EEncode_2Elift__prod: ( del * del ) > $i ).
tff(mem_c_2EEncode_2Elift__prod,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Elift__prod(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Epair_2Eprod(A_27a,A_27b),bool)))) ).
tff(tp_c_2EEncode_2Elift__sum,type,
c_2EEncode_2Elift__sum: ( del * del ) > $i ).
tff(mem_c_2EEncode_2Elift__sum,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Elift__sum(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Esum_2Esum(A_27a,A_27b),bool)))) ).
tff(tp_c_2EEncode_2Elift__tree,type,
c_2EEncode_2Elift__tree: del > $i ).
tff(mem_c_2EEncode_2Elift__tree,axiom,
! [A_27a: del] : mem(c_2EEncode_2Elift__tree(A_27a),arr(arr(A_27a,bool),arr(ty_2EEncode_2Etree(A_27a),bool))) ).
tff(tp_c_2EEncode_2Etree1__size,type,
c_2EEncode_2Etree1__size: del > $i ).
tff(mem_c_2EEncode_2Etree1__size,axiom,
! [A_27a: del] : mem(c_2EEncode_2Etree1__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2Enum_2Enum))) ).
tff(tp_c_2EEncode_2Etree__CASE,type,
c_2EEncode_2Etree__CASE: ( del * del ) > $i ).
tff(mem_c_2EEncode_2Etree__CASE,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EEncode_2Etree__CASE(A_27a,A_27b),arr(ty_2EEncode_2Etree(A_27a),arr(arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)),A_27b))) ).
tff(tp_c_2EEncode_2Etree__size,type,
c_2EEncode_2Etree__size: del > $i ).
tff(mem_c_2EEncode_2Etree__size,axiom,
! [A_27a: del] : mem(c_2EEncode_2Etree__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2EEncode_2Etree(A_27a),ty_2Enum_2Enum))) ).
tff(tp_c_2EEncode_2Ewf__encoder,type,
c_2EEncode_2Ewf__encoder: del > $i ).
tff(mem_c_2EEncode_2Ewf__encoder,axiom,
! [A_27a: del] : mem(c_2EEncode_2Ewf__encoder(A_27a),arr(arr(A_27a,bool),arr(arr(A_27a,ty_2Elist_2Elist(bool)),bool))) ).
tff(tp_c_2EEncode_2Ewf__pred,type,
c_2EEncode_2Ewf__pred: del > $i ).
tff(mem_c_2EEncode_2Ewf__pred,axiom,
! [A_27a: del] : mem(c_2EEncode_2Ewf__pred(A_27a),arr(arr(A_27a,bool),bool)) ).
tff(tp_c_2EEncode_2Ewf__pred__bnum,type,
c_2EEncode_2Ewf__pred__bnum: $i ).
tff(mem_c_2EEncode_2Ewf__pred__bnum,axiom,
mem(c_2EEncode_2Ewf__pred__bnum,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),bool))) ).
tff(ax_thm_2EEncode_2Ebiprefix__def,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Elist_2Elist(A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0a),V1b))
<=> ( p(ap(ap(c_2Elist_2EisPREFIX(A_27a),V1b),V0a))
| p(ap(ap(c_2Elist_2EisPREFIX(A_27a),V0a),V1b)) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ebiprefix__refl,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V0x)) ) ).
tff(conj_thm_2EEncode_2Ebiprefix__sym,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,ty_2Elist_2Elist(A_27a))
=> ! [V1y: $i] :
( mem(V1y,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V1y))
=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1y),V0x)) ) ) ) ).
tff(conj_thm_2EEncode_2Ebiprefix__append,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Elist_2Elist(A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ! [V2c: $i] :
( mem(V2c,ty_2Elist_2Elist(A_27a))
=> ! [V3d: $i] :
( mem(V3d,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V1b)),ap(ap(c_2Elist_2EAPPEND(A_27a),V2c),V3d)))
=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0a),V2c)) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ebiprefix__cons,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,A_27a)
=> ! [V1b: $i] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ! [V2c: $i] :
( mem(V2c,A_27a)
=> ! [V3d: $i] :
( mem(V3d,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V0a),V1b)),ap(ap(c_2Elist_2ECONS(A_27a),V2c),V3d)))
<=> ( ( V0a = V2c )
& p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1b),V3d)) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ebiprefix__appends,axiom,
! [A_27a: del,V0a: $i] :
( mem(V0a,ty_2Elist_2Elist(A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ! [V2c: $i] :
( mem(V2c,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V1b)),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V2c)))
<=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1b),V2c)) ) ) ) ) ).
tff(ax_thm_2EEncode_2Ewf__pred__def,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ( p(ap(c_2EEncode_2Ewf__pred(A_27a),V0p))
<=> ? [V1x: $i] :
( mem(V1x,A_27a)
& p(ap(V0p,V1x)) ) ) ) ).
tff(ax_thm_2EEncode_2Ewf__encoder__def,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
<=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ! [V3y: $i] :
( mem(V3y,A_27a)
=> ( ( p(ap(V0p,V2x))
& p(ap(V0p,V3y))
& p(ap(ap(c_2Elist_2EisPREFIX(bool),ap(V1e,V3y)),ap(V1e,V2x))) )
=> ( V2x = V3y ) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encoder__alt,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
<=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ! [V3y: $i] :
( mem(V3y,A_27a)
=> ( ( p(ap(V0p,V2x))
& p(ap(V0p,V3y))
& p(ap(ap(c_2EEncode_2Ebiprefix(bool),ap(V1e,V2x)),ap(V1e,V3y))) )
=> ( V2x = V3y ) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encoder__eq,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V2f: $i] :
( mem(V2f,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
& ! [V3x: $i] :
( mem(V3x,A_27a)
=> ( p(ap(V0p,V3x))
=> ( surj__c_ty_2Elist_2Elist_o(ap(V1e,V3x)) = surj__c_ty_2Elist_2Elist_o(ap(V2f,V3x)) ) ) ) )
=> p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V2f)) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encoder__total,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),ap(c_2Ecombin_2EK(bool,A_27a),inj__o(fo__c_2Ebool_2ET))),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e)) ) ) ) ).
tff(ax_thm_2EEncode_2Eencode__unit__def,axiom,
! [V0v0: tp__ty_2Eone_2Eone] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__unit,inj__ty_2Eone_2Eone(V0v0))) = surj__c_ty_2Elist_2Elist_o(c_2Elist_2ENIL(bool)) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__unit,axiom,
! [V0p: $i] :
( mem(V0p,arr(ty_2Eone_2Eone,bool))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Eone_2Eone),V0p),c_2EEncode_2Eencode__unit)) ) ).
tff(ax_thm_2EEncode_2Eencode__bool__def,axiom,
! [V0x: tp__o] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__bool,inj__o(V0x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(V0x)),c_2Elist_2ENIL(bool))) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__bool,axiom,
! [V0p: $i] :
( mem(V0p,arr(bool,bool))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(bool),V0p),c_2EEncode_2Eencode__bool)) ) ).
tff(ax_thm_2EEncode_2Eencode__prod__def,axiom,
! [A_27a: del,A_27b: del,V0xb: $i] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1yb: $i] :
( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ! [V3y: $i] :
( mem(V3y,A_27b)
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),ap(ap(c_2Epair_2E_2C(A_27a,A_27b),V2x),V3y))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,V2x)),ap(V1yb,V3y))) ) ) ) ) ) ).
tff(ax_thm_2EEncode_2Elift__prod__def,axiom,
! [A_27a: del,A_27b: del,V0p1: $i] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2: $i] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2x: $i] :
( mem(V2x,ty_2Epair_2Eprod(A_27a,A_27b))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2),V2x))
<=> ( p(ap(V0p1,ap(c_2Epair_2EFST(A_27a,A_27b),V2x)))
& p(ap(V1p2,ap(c_2Epair_2ESND(A_27a,A_27b),V2x))) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Eencode__prod__alt,axiom,
! [A_27a: del,A_27b: del,V0xb: $i] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1yb: $i] :
( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V2p: $i] :
( mem(V2p,ty_2Epair_2Eprod(A_27a,A_27b))
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),V2p)) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,ap(c_2Epair_2EFST(A_27a,A_27b),V2p))),ap(V1yb,ap(c_2Epair_2ESND(A_27a,A_27b),V2p)))) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__prod,axiom,
! [A_27a: del,A_27b: del,V0p1: $i] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2: $i] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2e1: $i] :
( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V3e2: $i] :
( mem(V3e2,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p1),V2e1))
& p(ap(ap(c_2EEncode_2Ewf__encoder(A_27b),V1p2),V3e2)) )
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Epair_2Eprod(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V2e1),V3e2))) ) ) ) ) ) ).
tff(ax_thm_2EEncode_2Eencode__sum__def,axiom,
! [A_27a: del,A_27b: del] :
( ! [V0xb: $i] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1yb: $i] :
( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V0xb),V1yb),ap(c_2Esum_2EINL(A_27a,A_27b),V2x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(V0xb,V2x))) ) ) ) )
& ! [V3xb: $i] :
( mem(V3xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V4yb: $i] :
( mem(V4yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V5y: $i] :
( mem(V5y,A_27b)
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V3xb),V4yb),ap(c_2Esum_2EINR(A_27a,A_27b),V5y))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(V4yb,V5y))) ) ) ) ) ) ).
tff(lamtp_f985,type,
f985: ( del * $i ) > $i ).
tff(lameq_f985,axiom,
! [A_27a: del,V0p1: $i] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V3x1: $i] : ( ap(f985(A_27a,V0p1),V3x1) = ap(V0p1,V3x1) ) ) ).
tff(lamtp_f986,type,
f986: ( del * $i ) > $i ).
tff(lameq_f986,axiom,
! [A_27b: del,V1p2: $i] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V4x2: $i] : ( ap(f986(A_27b,V1p2),V4x2) = ap(V1p2,V4x2) ) ) ).
tff(ax_thm_2EEncode_2Elift__sum__def,axiom,
! [A_27a: del,A_27b: del,V0p1: $i] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2: $i] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2x: $i] :
( mem(V2x,ty_2Esum_2Esum(A_27a,A_27b))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2),V2x))
<=> p(ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,bool),V2x),f985(A_27a,V0p1)),f986(A_27b,V1p2))) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__sum,axiom,
! [A_27a: del,A_27b: del,V0p1: $i] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2: $i] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2e1: $i] :
( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V3e2: $i] :
( mem(V3e2,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p1),V2e1))
& p(ap(ap(c_2EEncode_2Ewf__encoder(A_27b),V1p2),V3e2)) )
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Esum_2Esum(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V2e1),V3e2))) ) ) ) ) ) ).
tff(ax_thm_2EEncode_2Eencode__option__def,axiom,
! [A_27a: del] :
( ! [V0xb: $i] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__option(A_27a),V0xb),c_2Eoption_2ENONE(A_27a))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),c_2Elist_2ENIL(bool))) ) )
& ! [V1xb: $i] :
( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__option(A_27a),V1xb),ap(c_2Eoption_2ESOME(A_27a),V2x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(V1xb,V2x))) ) ) ) ) ).
tff(lamtp_f987,type,
f987: ( del * $i ) > $i ).
tff(lameq_f987,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V2y: $i] : ( ap(f987(A_27a,V0p),V2y) = ap(V0p,V2y) ) ) ).
tff(ax_thm_2EEncode_2Elift__option__def,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1x: $i] :
( mem(V1x,ty_2Eoption_2Eoption(A_27a))
=> ( p(ap(ap(c_2EEncode_2Elift__option(A_27a),V0p),V1x))
<=> p(ap(ap(ap(c_2Eoption_2Eoption__CASE(A_27a,bool),V1x),inj__o(fo__c_2Ebool_2ET)),f987(A_27a,V0p))) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__option,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Eoption_2Eoption(A_27a)),ap(c_2EEncode_2Elift__option(A_27a),V0p)),ap(c_2EEncode_2Eencode__option(A_27a),V1e))) ) ) ) ).
tff(ax_thm_2EEncode_2Eencode__list__def,axiom,
! [A_27a: del] :
( ! [V0xb: $i] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V0xb),c_2Elist_2ENIL(A_27a))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),c_2Elist_2ENIL(bool))) ) )
& ! [V1xb: $i] :
( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ! [V3xs: $i] :
( mem(V3xs,ty_2Elist_2Elist(A_27a))
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),ap(ap(c_2Elist_2ECONS(A_27a),V2x),V3xs))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2EAPPEND(bool),ap(V1xb,V2x)),ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),V3xs)))) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__list,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Elist_2Elist(A_27a)),ap(c_2Elist_2EEVERY(A_27a),V0p)),ap(c_2EEncode_2Eencode__list(A_27a),V1e))) ) ) ) ).
tff(conj_thm_2EEncode_2Eencode__list__cong,axiom,
! [A_27a: del,V0l1: $i] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2: $i] :
( mem(V1l2,ty_2Elist_2Elist(A_27a))
=> ! [V2f1: $i] :
( mem(V2f1,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V3f2: $i] :
( mem(V3f2,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( ( ( V0l1 = V1l2 )
& ! [V4x: $i] :
( mem(V4x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V4x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1l2)))
=> ( surj__c_ty_2Elist_2Elist_o(ap(V2f1,V4x)) = surj__c_ty_2Elist_2Elist_o(ap(V3f2,V4x)) ) ) ) )
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V2f1),V0l1)) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__list(A_27a),V3f2),V1l2)) ) ) ) ) ) ) ).
tff(ax_thm_2EEncode_2Eencode__blist__def,axiom,
! [A_27a: del,A_27b: del] :
( ! [V0e: $i] :
( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V1l: $i] :
( mem(V1l,ty_2Elist_2Elist(A_27b))
=> ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) ) )
& ! [V2m: tp__ty_2Enum_2Enum,V3e: $i] :
( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V4l: $i] :
( mem(V4l,ty_2Elist_2Elist(A_27b))
=> ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V2m))),V3e),V4l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V3e,ap(c_2Elist_2EHD(A_27b),V4l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),inj__ty_2Enum_2Enum(V2m)),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) ) ) ).
tff(conj_thm_2EEncode_2Eencode__blist__def__compute,axiom,
! [A_27a: del,A_27b: del] :
( ! [V0e: $i] :
( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V1l: $i] :
( mem(V1l,ty_2Elist_2Elist(A_27b))
=> ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) ) )
& ! [V2m: tp__ty_2Enum_2Enum,V3e: $i] :
( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V4l: $i] :
( mem(V4l,ty_2Elist_2Elist(A_27b))
=> ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V2m)))),V3e),V4l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V3e,ap(c_2Elist_2EHD(A_27b),V4l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V2m)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) )
& ! [V5m: tp__ty_2Enum_2Enum,V6e: $i] :
( mem(V6e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V7l: $i] :
( mem(V7l,ty_2Elist_2Elist(A_27b))
=> ( ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(V5m)))),V6e),V7l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V6e,ap(c_2Elist_2EHD(A_27b),V7l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V5m)))),V6e),ap(c_2Elist_2ETL(A_27b),V7l))) ) ) ) ) ).
tff(ax_thm_2EEncode_2Elift__blist__def,axiom,
! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(A_27a,bool))
=> ! [V2x: $i] :
( mem(V2x,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p),V2x))
<=> ( p(ap(ap(c_2Elist_2EEVERY(A_27a),V1p),V2x))
& ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(A_27a),V2x)) = V0m ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Elift__blist__suc,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(A_27a,bool))
=> ! [V2h: $i] :
( mem(V2h,A_27a)
=> ! [V3t: $i] :
( mem(V3t,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V0n))),V1p),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)))
<=> ( p(ap(V1p,V2h))
& p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0n)),V1p),V3t)) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__blist,axiom,
! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(A_27a,bool))
=> ! [V2e: $i] :
( mem(V2e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V1p),V2e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Elist_2Elist(A_27a)),ap(ap(c_2EEncode_2Elift__blist(A_27a),inj__ty_2Enum_2Enum(V0m)),V1p)),ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),inj__ty_2Enum_2Enum(V0m)),V2e))) ) ) ) ).
tff(lamtp_f988,type,
f988: $i > $i ).
tff(lameq_f988,axiom,
! [V0R: $i] :
( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ! [V1n: tp__ty_2Enum_2Enum] : ( ap(f988(V0R),inj__ty_2Enum_2Enum(V1n)) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V1n)))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V1n))) ) ) ).
tff(lamtp_f989,type,
f989: $i > $i ).
tff(lameq_f989,axiom,
! [V0R: $i] :
( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ! [V2n: tp__ty_2Enum_2Enum] : ( ap(f989(V0R),inj__ty_2Enum_2Enum(V2n)) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V2n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V2n))))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V2n))) ) ) ).
tff(lamtp_f990,type,
f990: $i ).
tff(lameq_f990,axiom,
! [V0R: $i] : ( ap(f990,V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Enum_2Enum),V0R)),ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f988(V0R))),ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f989(V0R)))) ) ).
tff(lamtp_f991,type,
f991: $i > $i ).
tff(lameq_f991,axiom,
! [V3encode__num: $i] :
( mem(V3encode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))
=> ! [V4a: tp__ty_2Enum_2Enum] : ( ap(f991(V3encode__num),inj__ty_2Enum_2Enum(V4a)) = ap(c_2Ecombin_2EI(ty_2Elist_2Elist(bool)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V4a)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V4a))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V4a)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V4a)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))) ) ) ).
tff(lamtp_f992,type,
f992: $i ).
tff(lameq_f992,axiom,
! [V3encode__num: $i] : ( ap(f992,V3encode__num) = f991(V3encode__num) ) ).
tff(ax_thm_2EEncode_2Eencode__num__primitive__def,axiom,
c_2EEncode_2Eencode__num = ap(ap(c_2Erelation_2EWFREC(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(c_2Emin_2E_40(arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool))),f990)),f992) ).
tff(conj_thm_2EEncode_2Eencode__num__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2EEncode_2Eencode__num,inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V0n))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))))) ) ).
tff(conj_thm_2EEncode_2Eencode__num__ind,axiom,
! [V0P: $i] :
( mem(V0P,arr(ty_2Enum_2Enum,bool))
=> ( ! [V1n: tp__ty_2Enum_2Enum] :
( ( ( ( ( V1n != fo__c_2Enum_2E0 )
& p(ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V1n))) )
=> p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) )
& ( ( ( V1n != fo__c_2Enum_2E0 )
& ~ p(ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V1n))) )
=> p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) )
=> p(ap(V0P,inj__ty_2Enum_2Enum(V1n))) )
=> ! [V2v: tp__ty_2Enum_2Enum] : p(ap(V0P,inj__ty_2Enum_2Enum(V2v))) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__num,axiom,
! [V0p: $i] :
( mem(V0p,arr(ty_2Enum_2Enum,bool))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V0p),c_2EEncode_2Eencode__num)) ) ).
tff(ax_thm_2EEncode_2Eencode__bnum__def,axiom,
( ! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(c_2Elist_2ENIL(bool)) )
& ! [V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1m))),inj__ty_2Enum_2Enum(V2n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V2n)))),ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V1m)),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ) ).
tff(conj_thm_2EEncode_2Eencode__bnum__def__compute,axiom,
( ! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(c_2Elist_2ENIL(bool)) )
& ! [V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V1m)))),inj__ty_2Enum_2Enum(V2n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V2n)))),ap(ap(c_2EEncode_2Eencode__bnum,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V1m)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V2n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) )
& ! [V3m: tp__ty_2Enum_2Enum,V4n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(V3m)))),inj__ty_2Enum_2Enum(V4n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,inj__ty_2Enum_2Enum(V4n)))),ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(V3m)))),ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V4n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))))) ) ) ).
tff(ax_thm_2EEncode_2Ecollision__free__def,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ecollision__free,inj__ty_2Enum_2Enum(V0m)),V1p))
<=> ! [V2x: tp__ty_2Enum_2Enum,V3y: tp__ty_2Enum_2Enum] :
( ( p(ap(V1p,inj__ty_2Enum_2Enum(V2x)))
& p(ap(V1p,inj__ty_2Enum_2Enum(V3y)))
& ( surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V2x)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0m)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2EMOD,inj__ty_2Enum_2Enum(V3y)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0m)))) ) )
=> ( V2x = V3y ) ) ) ) ).
tff(ax_thm_2EEncode_2Ewf__pred__bnum__def,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
<=> ( p(ap(c_2EEncode_2Ewf__pred(ty_2Enum_2Enum),V1p))
& ! [V2x: tp__ty_2Enum_2Enum] :
( p(ap(V1p,inj__ty_2Enum_2Enum(V2x)))
=> p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2x)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0m)))) ) ) ) ) ).
tff(lamtp_f993,type,
f993: tp__ty_2Enum_2Enum > $i ).
tff(lameq_f993,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum] : ( ap(f993(V0m),inj__ty_2Enum_2Enum(V1x)) = ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1x)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0m))) ) ).
tff(conj_thm_2EEncode_2Ewf__pred__bnum__total,axiom,
! [V0m: tp__ty_2Enum_2Enum] : p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),f993(V0m))) ).
tff(conj_thm_2EEncode_2Ewf__pred__bnum,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
=> p(ap(ap(c_2EEncode_2Ecollision__free,inj__ty_2Enum_2Enum(V0m)),V1p)) ) ) ).
tff(conj_thm_2EEncode_2Eencode__bnum__length,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(bool),ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V1n)))) = V0m ) ).
tff(conj_thm_2EEncode_2Eencode__bnum__inj,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum,V2y: tp__ty_2Enum_2Enum] :
( ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1x)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0m))))
& p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2y)),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),inj__ty_2Enum_2Enum(V0m))))
& ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V1x))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)),inj__ty_2Enum_2Enum(V2y))) ) )
=> ( V1x = V2y ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__bnum__collision__free,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m))))
<=> p(ap(ap(c_2EEncode_2Ecollision__free,inj__ty_2Enum_2Enum(V0m)),V1p)) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__bnum,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,inj__ty_2Enum_2Enum(V0m)),V1p))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,inj__ty_2Enum_2Enum(V0m)))) ) ) ).
tff(lamtp_f994,type,
f994: ( del * $i ) > $i ).
tff(lameq_f994,axiom,
! [A_27a: del,V7a0: $i] :
( mem(V7a0,A_27a)
=> ! [V8a1: $i] : ( ap(f994(A_27a,V7a0),V8a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V7a0),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V8a1),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a)))) ) ) ).
tff(lamtp_f995,type,
f995: del > $i ).
tff(lameq_f995,axiom,
! [A_27a: del,V7a0: $i] : ( ap(f995(A_27a),V7a0) = f994(A_27a,V7a0) ) ).
tff(lamtp_f996,type,
f996: ( del * $i * $i * $i ) > $i ).
tff(lameq_f996,axiom,
! [A_27a: del,V5a0: $i] :
( mem(V5a0,A_27a)
=> ! [V4a0_27: $i] :
( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V6a1: $i] : ( ap(f996(A_27a,V5a0,V4a0_27,V3_27_40temp_20_40ind__typeEncode0list_27),V6a1) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V4a0_27),ap(ap(f995(A_27a),V5a0),V6a1))),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V6a1)) ) ) ) ) ).
tff(lamtp_f997,type,
f997: ( del * $i * $i ) > $i ).
tff(lameq_f997,axiom,
! [A_27a: del,V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V4a0_27: $i] :
( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V5a0: $i] : ( ap(f997(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V4a0_27),V5a0) = ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f996(A_27a,V5a0,V4a0_27,V3_27_40temp_20_40ind__typeEncode0list_27)) ) ) ) ).
tff(lamtp_f998,type,
f998: ( del * $i * $i ) > $i ).
tff(lameq_f998,axiom,
! [A_27a: del,V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V2_27tree_27: $i] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V4a0_27: $i] : ( ap(f998(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27),V4a0_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f997(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V4a0_27))),ap(V2_27tree_27,V4a0_27)) ) ) ) ).
tff(lamtp_f999,type,
f999: ( del * $i ) > $i ).
tff(lameq_f999,axiom,
! [A_27a: del,V14a0: $i] :
( mem(V14a0,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V15a1: $i] : ( ap(f999(A_27a,V14a0),V15a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),c_2Ebool_2EARB(A_27a)),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V14a0),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V15a1),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a))))) ) ) ).
tff(lamtp_f1000,type,
f1000: del > $i ).
tff(lameq_f1000,axiom,
! [A_27a: del,V14a0: $i] : ( ap(f1000(A_27a),V14a0) = f999(A_27a,V14a0) ) ).
tff(lamtp_f1001,type,
f1001: ( del * $i * $i * $i * $i ) > $i ).
tff(lameq_f1001,axiom,
! [A_27a: del,V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V2_27tree_27: $i] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V10a1_27: $i] :
( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V12a0: $i] :
( mem(V12a0,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V13a1: $i] : ( ap(f1001(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27,V10a1_27,V12a0),V13a1) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V10a1_27),ap(ap(f1000(A_27a),V12a0),V13a1))),ap(ap(c_2Ebool_2E_2F_5C,ap(V2_27tree_27,V12a0)),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V13a1))) ) ) ) ) ) ).
tff(lamtp_f1002,type,
f1002: ( del * $i * $i * $i ) > $i ).
tff(lameq_f1002,axiom,
! [A_27a: del,V10a1_27: $i] :
( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V2_27tree_27: $i] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V12a0: $i] : ( ap(f1002(A_27a,V10a1_27,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27),V12a0) = ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f1001(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27,V10a1_27,V12a0)) ) ) ) ) ).
tff(lamtp_f1003,type,
f1003: ( del * $i * $i ) > $i ).
tff(lameq_f1003,axiom,
! [A_27a: del,V2_27tree_27: $i] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V10a1_27: $i] : ( ap(f1003(A_27a,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27),V10a1_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_5C_2F,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V10a1_27),ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Ebool_2EARB(A_27a)),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a))))),ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f1002(A_27a,V10a1_27,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27)))),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V10a1_27)) ) ) ) ).
tff(lamtp_f1004,type,
f1004: ( del * $i * $i ) > $i ).
tff(lameq_f1004,axiom,
! [A_27a: del,V2_27tree_27: $i] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V1a0_27: $i] :
( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27: $i] : ( ap(f1004(A_27a,V2_27tree_27,V1a0_27),V3_27_40temp_20_40ind__typeEncode0list_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Eind__type_2Erecspace(A_27a)),f998(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27))),ap(c_2Ebool_2E_21(ty_2Eind__type_2Erecspace(A_27a)),f1003(A_27a,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27)))),ap(V2_27tree_27,V1a0_27)) ) ) ) ).
tff(lamtp_f1005,type,
f1005: ( del * $i ) > $i ).
tff(lameq_f1005,axiom,
! [A_27a: del,V1a0_27: $i] :
( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V2_27tree_27: $i] : ( ap(f1005(A_27a,V1a0_27),V2_27tree_27) = ap(c_2Ebool_2E_21(arr(ty_2Eind__type_2Erecspace(A_27a),bool)),f1004(A_27a,V2_27tree_27,V1a0_27)) ) ) ).
tff(lamtp_f1006,type,
f1006: del > $i ).
tff(lameq_f1006,axiom,
! [A_27a: del,V1a0_27: $i] : ( ap(f1006(A_27a),V1a0_27) = ap(c_2Ebool_2E_21(arr(ty_2Eind__type_2Erecspace(A_27a),bool)),f1005(A_27a,V1a0_27)) ) ).
tff(ax_thm_2EEncode_2Etree__TY__DEF,axiom,
! [A_27a: del] :
? [V0rep: $i] :
( mem(V0rep,arr(ty_2EEncode_2Etree(A_27a),ty_2Eind__type_2Erecspace(A_27a)))
& p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(ty_2Eind__type_2Erecspace(A_27a),ty_2EEncode_2Etree(A_27a)),f1006(A_27a)),V0rep)) ) ).
tff(ax_thm_2EEncode_2Etree__case__def,axiom,
! [A_27a: del,A_27b: del,V0a0: $i] :
( mem(V0a0,A_27a)
=> ! [V1a1: $i] :
( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ! [V2f: $i] :
( mem(V2f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),ap(ap(c_2EEncode_2ENode(A_27a),V0a0),V1a1)),V2f) = ap(ap(V2f,V0a0),V1a1) ) ) ) ) ).
tff(ax_thm_2EEncode_2Etree__size__def,axiom,
! [A_27a: del] :
( ! [V0f: $i] :
( mem(V0f,arr(A_27a,ty_2Enum_2Enum))
=> ! [V1a0: $i] :
( mem(V1a0,A_27a)
=> ! [V2a1: $i] :
( mem(V2a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( surj__ty_2Enum_2Enum(ap(ap(c_2EEncode_2Etree__size(A_27a),V0f),ap(ap(c_2EEncode_2ENode(A_27a),V1a0),V2a1))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(V0f,V1a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V0f),V2a1)))) ) ) ) )
& ! [V3f: $i] :
( mem(V3f,arr(A_27a,ty_2Enum_2Enum))
=> ( surj__ty_2Enum_2Enum(ap(ap(c_2EEncode_2Etree1__size(A_27a),V3f),c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a)))) = fo__c_2Enum_2E0 ) )
& ! [V4f: $i] :
( mem(V4f,arr(A_27a,ty_2Enum_2Enum))
=> ! [V5a0: $i] :
( mem(V5a0,ty_2EEncode_2Etree(A_27a))
=> ! [V6a1: $i] :
( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( surj__ty_2Enum_2Enum(ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V5a0),V6a1))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2EEncode_2Etree__size(A_27a),V4f),V5a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),V6a1)))) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Edatatype__tree,axiom,
! [A_27a: del,V0tree: $i] :
( mem(V0tree,arr(arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a))),bool))
=> p(ap(c_2Ebool_2EDATATYPE(bool),ap(V0tree,c_2EEncode_2ENode(A_27a)))) ) ).
tff(conj_thm_2EEncode_2Etree__11,axiom,
! [A_27a: del,V0a0: $i] :
( mem(V0a0,A_27a)
=> ! [V1a1: $i] :
( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ! [V2a0_27: $i] :
( mem(V2a0_27,A_27a)
=> ! [V3a1_27: $i] :
( mem(V3a1_27,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ( ap(ap(c_2EEncode_2ENode(A_27a),V0a0),V1a1) = ap(ap(c_2EEncode_2ENode(A_27a),V2a0_27),V3a1_27) )
<=> ( ( V0a0 = V2a0_27 )
& ( V1a1 = V3a1_27 ) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Etree__nchotomy,axiom,
! [A_27a: del,V0tt: $i] :
( mem(V0tt,ty_2EEncode_2Etree(A_27a))
=> ? [V1a: $i] :
( mem(V1a,A_27a)
& ? [V2l: $i] :
( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
& ( V0tt = ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2l) ) ) ) ) ).
tff(conj_thm_2EEncode_2Etree__Axiom,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f0: $i] :
( mem(V0f0,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27c,A_27b))))
=> ! [V1f1: $i] :
( mem(V1f1,A_27c)
=> ! [V2f2: $i] :
( mem(V2f2,arr(ty_2EEncode_2Etree(A_27a),arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27b,arr(A_27c,A_27c)))))
=> ? [V3fn0: $i] :
( mem(V3fn0,arr(ty_2EEncode_2Etree(A_27a),A_27b))
& ? [V4fn1: $i] :
( mem(V4fn1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27c))
& ! [V5a0: $i] :
( mem(V5a0,A_27a)
=> ! [V6a1: $i] :
( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ap(V3fn0,ap(ap(c_2EEncode_2ENode(A_27a),V5a0),V6a1)) = ap(ap(ap(V0f0,V5a0),V6a1),ap(V4fn1,V6a1)) ) ) )
& ( ap(V4fn1,c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))) = V1f1 )
& ! [V7a0: $i] :
( mem(V7a0,ty_2EEncode_2Etree(A_27a))
=> ! [V8a1: $i] :
( mem(V8a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ap(V4fn1,ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V7a0),V8a1)) = ap(ap(ap(ap(V2f2,V7a0),V8a1),ap(V3fn0,V7a0)),ap(V4fn1,V8a1)) ) ) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Etree__induction,axiom,
! [A_27a: del,V0P0: $i] :
( mem(V0P0,arr(ty_2EEncode_2Etree(A_27a),bool))
=> ! [V1P1: $i] :
( mem(V1P1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),bool))
=> ( ( ! [V2l: $i] :
( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( p(ap(V1P1,V2l))
=> ! [V3a: $i] :
( mem(V3a,A_27a)
=> p(ap(V0P0,ap(ap(c_2EEncode_2ENode(A_27a),V3a),V2l))) ) ) )
& p(ap(V1P1,c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))))
& ! [V4t: $i] :
( mem(V4t,ty_2EEncode_2Etree(A_27a))
=> ! [V5l: $i] :
( mem(V5l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ( p(ap(V0P0,V4t))
& p(ap(V1P1,V5l)) )
=> p(ap(V1P1,ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V4t),V5l))) ) ) ) )
=> ( ! [V6t: $i] :
( mem(V6t,ty_2EEncode_2Etree(A_27a))
=> p(ap(V0P0,V6t)) )
& ! [V7l: $i] :
( mem(V7l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> p(ap(V1P1,V7l)) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Etree__case__cong,axiom,
! [A_27a: del,A_27b: del,V0f_27: $i] :
( mem(V0f_27,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ! [V1M: $i] :
( mem(V1M,ty_2EEncode_2Etree(A_27a))
=> ! [V2M_27: $i] :
( mem(V2M_27,ty_2EEncode_2Etree(A_27a))
=> ! [V3f: $i] :
( mem(V3f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ( ( ( V1M = V2M_27 )
& ! [V4a0: $i] :
( mem(V4a0,A_27a)
=> ! [V5a1: $i] :
( mem(V5a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ( V2M_27 = ap(ap(c_2EEncode_2ENode(A_27a),V4a0),V5a1) )
=> ( ap(ap(V3f,V4a0),V5a1) = ap(ap(V0f_27,V4a0),V5a1) ) ) ) ) )
=> ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V1M),V3f) = ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V2M_27),V0f_27) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Etree__case__eq,axiom,
! [A_27a: del,A_27b: del,V0x: $i] :
( mem(V0x,ty_2EEncode_2Etree(A_27a))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ! [V2v: $i] :
( mem(V2v,A_27b)
=> ( ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V0x),V1f) = V2v )
<=> ? [V3a: $i] :
( mem(V3a,A_27a)
& ? [V4l: $i] :
( mem(V4l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
& ( V0x = ap(ap(c_2EEncode_2ENode(A_27a),V3a),V4l) )
& ( ap(ap(V1f,V3a),V4l) = V2v ) ) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Etree__ind,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(ty_2EEncode_2Etree(A_27a),bool))
=> ( ! [V1a: $i] :
( mem(V1a,A_27a)
=> ! [V2ts: $i] :
( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ! [V3t: $i] :
( mem(V3t,ty_2EEncode_2Etree(A_27a))
=> ( p(ap(ap(c_2Ebool_2EIN(ty_2EEncode_2Etree(A_27a)),V3t),ap(c_2Elist_2ELIST__TO__SET(ty_2EEncode_2Etree(A_27a)),V2ts)))
=> p(ap(V0p,V3t)) ) )
=> p(ap(V0p,ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts))) ) ) )
=> ! [V4t: $i] :
( mem(V4t,ty_2EEncode_2Etree(A_27a))
=> p(ap(V0p,V4t)) ) ) ) ).
tff(conj_thm_2EEncode_2Eencode__tree__def,axiom,
! [A_27a: del,V0e: $i] :
( mem(V0e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1a: $i] :
( mem(V1a,A_27a)
=> ! [V2ts: $i] :
( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( surj__c_ty_2Elist_2Elist_o(ap(ap(c_2EEncode_2Eencode__tree(A_27a),V0e),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts))) = surj__c_ty_2Elist_2Elist_o(ap(ap(c_2Elist_2EAPPEND(bool),ap(V0e,V1a)),ap(ap(c_2EEncode_2Eencode__list(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Eencode__tree(A_27a),V0e)),V2ts))) ) ) ) ) ).
tff(conj_thm_2EEncode_2Elift__tree__def,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1a: $i] :
( mem(V1a,A_27a)
=> ! [V2ts: $i] :
( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( p(ap(ap(c_2EEncode_2Elift__tree(A_27a),V0p),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts)))
<=> ( p(ap(V0p,V1a))
& p(ap(ap(c_2Elist_2EEVERY(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),V2ts)) ) ) ) ) ) ).
tff(conj_thm_2EEncode_2Ewf__encode__tree,axiom,
! [A_27a: del,V0p: $i] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e: $i] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),ap(c_2EEncode_2Eencode__tree(A_27a),V1e))) ) ) ) ).
%------------------------------------------------------------------------------