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 : 108 ( 12 unt; 0 def)
% Number of atoms : 505 ( 78 equ)
% Maximal formula atoms : 17 ( 4 avg)
% Number of connectives : 400 ( 3 ~; 1 |; 49 &)
% ( 17 <=>; 330 =>; 0 <=; 0 <~>)
% Maximal formula depth : 23 ( 7 avg)
% Maximal term depth : 12 ( 2 avg)
% Number of predicates : 4 ( 3 usr; 0 prp; 1-2 aty)
% Number of functors : 111 ( 111 usr; 30 con; 0-5 aty)
% Number of variables : 344 ( 336 !; 8 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(ne_ty_2EEncode_2Etree,axiom,
! [A0] :
( ne(A0)
=> ne(ty_2EEncode_2Etree(A0)) ) ).
fof(mem_c_2EEncode_2ENode,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2ENode(A_27a),arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a)))) ) ).
fof(mem_c_2EEncode_2Ebiprefix,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Ebiprefix(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))) ) ).
fof(mem_c_2EEncode_2Ecollision__free,axiom,
mem(c_2EEncode_2Ecollision__free,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),bool))) ).
fof(mem_c_2EEncode_2Eencode__blist,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EEncode_2Eencode__blist(A_27a,A_27b),arr(ty_2Enum_2Enum,arr(arr(A_27b,ty_2Elist_2Elist(A_27a)),arr(ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27a))))) ) ) ).
fof(mem_c_2EEncode_2Eencode__bnum,axiom,
mem(c_2EEncode_2Eencode__bnum,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))) ).
fof(mem_c_2EEncode_2Eencode__bool,axiom,
mem(c_2EEncode_2Eencode__bool,arr(bool,ty_2Elist_2Elist(bool))) ).
fof(mem_c_2EEncode_2Eencode__list,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Eencode__list(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(bool)))) ) ).
fof(mem_c_2EEncode_2Eencode__num,axiom,
mem(c_2EEncode_2Eencode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))) ).
fof(mem_c_2EEncode_2Eencode__option,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Eencode__option(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2Eoption_2Eoption(A_27a),ty_2Elist_2Elist(bool)))) ) ).
fof(mem_c_2EEncode_2Eencode__prod,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EEncode_2Eencode__prod(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Elist_2Elist(bool))))) ) ) ).
fof(mem_c_2EEncode_2Eencode__sum,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EEncode_2Eencode__sum(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(arr(A_27b,ty_2Elist_2Elist(bool)),arr(ty_2Esum_2Esum(A_27a,A_27b),ty_2Elist_2Elist(bool))))) ) ) ).
fof(mem_c_2EEncode_2Eencode__tree,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Eencode__tree(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(bool)),arr(ty_2EEncode_2Etree(A_27a),ty_2Elist_2Elist(bool)))) ) ).
fof(mem_c_2EEncode_2Eencode__unit,axiom,
mem(c_2EEncode_2Eencode__unit,arr(ty_2Eone_2Eone,ty_2Elist_2Elist(bool))) ).
fof(mem_c_2EEncode_2Elift__blist,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Elift__blist(A_27a),arr(ty_2Enum_2Enum,arr(arr(A_27a,bool),arr(ty_2Elist_2Elist(A_27a),bool)))) ) ).
fof(mem_c_2EEncode_2Elift__option,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Elift__option(A_27a),arr(arr(A_27a,bool),arr(ty_2Eoption_2Eoption(A_27a),bool))) ) ).
fof(mem_c_2EEncode_2Elift__prod,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EEncode_2Elift__prod(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Epair_2Eprod(A_27a,A_27b),bool)))) ) ) ).
fof(mem_c_2EEncode_2Elift__sum,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EEncode_2Elift__sum(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Esum_2Esum(A_27a,A_27b),bool)))) ) ) ).
fof(mem_c_2EEncode_2Elift__tree,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Elift__tree(A_27a),arr(arr(A_27a,bool),arr(ty_2EEncode_2Etree(A_27a),bool))) ) ).
fof(mem_c_2EEncode_2Etree1__size,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Etree1__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2Enum_2Enum))) ) ).
fof(mem_c_2EEncode_2Etree__CASE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EEncode_2Etree__CASE(A_27a,A_27b),arr(ty_2EEncode_2Etree(A_27a),arr(arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)),A_27b))) ) ) ).
fof(mem_c_2EEncode_2Etree__size,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Etree__size(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),arr(ty_2EEncode_2Etree(A_27a),ty_2Enum_2Enum))) ) ).
fof(mem_c_2EEncode_2Ewf__encoder,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Ewf__encoder(A_27a),arr(arr(A_27a,bool),arr(arr(A_27a,ty_2Elist_2Elist(bool)),bool))) ) ).
fof(mem_c_2EEncode_2Ewf__pred,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EEncode_2Ewf__pred(A_27a),arr(arr(A_27a,bool),bool)) ) ).
fof(mem_c_2EEncode_2Ewf__pred__bnum,axiom,
mem(c_2EEncode_2Ewf__pred__bnum,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),bool))) ).
fof(ax_thm_2EEncode_2Ebiprefix__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0a] :
( mem(V0a,ty_2Elist_2Elist(A_27a))
=> ! [V1b] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0a),V1b))
<=> ( p(ap(ap(c_2Elist_2EisPREFIX(A_27a),V1b),V0a))
| p(ap(ap(c_2Elist_2EisPREFIX(A_27a),V0a),V1b)) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ebiprefix__refl,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0x] :
( mem(V0x,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V0x)) ) ) ).
fof(conj_thm_2EEncode_2Ebiprefix__sym,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0x] :
( mem(V0x,ty_2Elist_2Elist(A_27a))
=> ! [V1y] :
( mem(V1y,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0x),V1y))
=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1y),V0x)) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ebiprefix__append,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0a] :
( mem(V0a,ty_2Elist_2Elist(A_27a))
=> ! [V1b] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ! [V2c] :
( mem(V2c,ty_2Elist_2Elist(A_27a))
=> ! [V3d] :
( mem(V3d,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V1b)),ap(ap(c_2Elist_2EAPPEND(A_27a),V2c),V3d)))
=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V0a),V2c)) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ebiprefix__cons,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0a] :
( mem(V0a,A_27a)
=> ! [V1b] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ! [V2c] :
( mem(V2c,A_27a)
=> ! [V3d] :
( mem(V3d,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V0a),V1b)),ap(ap(c_2Elist_2ECONS(A_27a),V2c),V3d)))
<=> ( V0a = V2c
& p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1b),V3d)) ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ebiprefix__appends,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0a] :
( mem(V0a,ty_2Elist_2Elist(A_27a))
=> ! [V1b] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ! [V2c] :
( mem(V2c,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V1b)),ap(ap(c_2Elist_2EAPPEND(A_27a),V0a),V2c)))
<=> p(ap(ap(c_2EEncode_2Ebiprefix(A_27a),V1b),V2c)) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Ewf__pred__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ( p(ap(c_2EEncode_2Ewf__pred(A_27a),V0p))
<=> ? [V1x] :
( mem(V1x,A_27a)
& p(ap(V0p,V1x)) ) ) ) ) ).
fof(ax_thm_2EEncode_2Ewf__encoder__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
<=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27a)
=> ( ( p(ap(V0p,V2x))
& p(ap(V0p,V3y))
& p(ap(ap(c_2Elist_2EisPREFIX(bool),ap(V1e,V3y)),ap(V1e,V2x))) )
=> V2x = V3y ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encoder__alt,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
<=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27a)
=> ( ( p(ap(V0p,V2x))
& p(ap(V0p,V3y))
& p(ap(ap(c_2EEncode_2Ebiprefix(bool),ap(V1e,V2x)),ap(V1e,V3y))) )
=> V2x = V3y ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encoder__eq,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V2f] :
( mem(V2f,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
& ! [V3x] :
( mem(V3x,A_27a)
=> ( p(ap(V0p,V3x))
=> ap(V1e,V3x) = ap(V2f,V3x) ) ) )
=> p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V2f)) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encoder__total,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),ap(c_2Ecombin_2EK(bool,A_27a),c_2Ebool_2ET)),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e)) ) ) ) ) ).
fof(ax_thm_2EEncode_2Eencode__unit__def,axiom,
! [V0v0] :
( mem(V0v0,ty_2Eone_2Eone)
=> ap(c_2EEncode_2Eencode__unit,V0v0) = c_2Elist_2ENIL(bool) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__unit,axiom,
! [V0p] :
( mem(V0p,arr(ty_2Eone_2Eone,bool))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Eone_2Eone),V0p),c_2EEncode_2Eencode__unit)) ) ).
fof(ax_thm_2EEncode_2Eencode__bool__def,axiom,
! [V0x] :
( mem(V0x,bool)
=> ap(c_2EEncode_2Eencode__bool,V0x) = ap(ap(c_2Elist_2ECONS(bool),V0x),c_2Elist_2ENIL(bool)) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__bool,axiom,
! [V0p] :
( mem(V0p,arr(bool,bool))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(bool),V0p),c_2EEncode_2Eencode__bool)) ) ).
fof(ax_thm_2EEncode_2Eencode__prod__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0xb] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1yb] :
( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27b)
=> ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),ap(ap(c_2Epair_2E_2C(A_27a,A_27b),V2x),V3y)) = ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,V2x)),ap(V1yb,V3y)) ) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Elift__prod__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0p1] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2x] :
( mem(V2x,ty_2Epair_2Eprod(A_27a,A_27b))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2),V2x))
<=> ( p(ap(V0p1,ap(c_2Epair_2EFST(A_27a,A_27b),V2x)))
& p(ap(V1p2,ap(c_2Epair_2ESND(A_27a,A_27b),V2x))) ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Eencode__prod__alt,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0xb] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1yb] :
( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V2p] :
( mem(V2p,ty_2Epair_2Eprod(A_27a,A_27b))
=> ap(ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V0xb),V1yb),V2p) = ap(ap(c_2Elist_2EAPPEND(bool),ap(V0xb,ap(c_2Epair_2EFST(A_27a,A_27b),V2p))),ap(V1yb,ap(c_2Epair_2ESND(A_27a,A_27b),V2p))) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__prod,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0p1] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2e1] :
( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V3e2] :
( mem(V3e2,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p1),V2e1))
& p(ap(ap(c_2EEncode_2Ewf__encoder(A_27b),V1p2),V3e2)) )
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Epair_2Eprod(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__prod(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EEncode_2Eencode__prod(A_27a,A_27b),V2e1),V3e2))) ) ) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Eencode__sum__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0xb] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1yb] :
( mem(V1yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V0xb),V1yb),ap(c_2Esum_2EINL(A_27a,A_27b),V2x)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(V0xb,V2x)) ) ) )
& ! [V3xb] :
( mem(V3xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V4yb] :
( mem(V4yb,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ! [V5y] :
( mem(V5y,A_27b)
=> ap(ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V3xb),V4yb),ap(c_2Esum_2EINR(A_27a,A_27b),V5y)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(V4yb,V5y)) ) ) ) ) ) ) ).
fof(lameq_f985,axiom,
! [A_27a,V0p1] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V3x1] : ap(f985(A_27a,V0p1),V3x1) = ap(V0p1,V3x1) ) ).
fof(lameq_f986,axiom,
! [A_27b,V1p2] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V4x2] : ap(f986(A_27b,V1p2),V4x2) = ap(V1p2,V4x2) ) ).
fof(ax_thm_2EEncode_2Elift__sum__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0p1] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2x] :
( mem(V2x,ty_2Esum_2Esum(A_27a,A_27b))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2),V2x))
<=> p(ap(ap(ap(c_2Esum_2Esum__CASE(A_27a,A_27b,bool),V2x),f985(A_27a,V0p1)),f986(A_27b,V1p2))) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__sum,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0p1] :
( mem(V0p1,arr(A_27a,bool))
=> ! [V1p2] :
( mem(V1p2,arr(A_27b,bool))
=> ! [V2e1] :
( mem(V2e1,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V3e2] :
( mem(V3e2,arr(A_27b,ty_2Elist_2Elist(bool)))
=> ( ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p1),V2e1))
& p(ap(ap(c_2EEncode_2Ewf__encoder(A_27b),V1p2),V3e2)) )
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Esum_2Esum(A_27a,A_27b)),ap(ap(c_2EEncode_2Elift__sum(A_27a,A_27b),V0p1),V1p2)),ap(ap(c_2EEncode_2Eencode__sum(A_27a,A_27b),V2e1),V3e2))) ) ) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Eencode__option__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0xb] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ap(ap(c_2EEncode_2Eencode__option(A_27a),V0xb),c_2Eoption_2ENONE(A_27a)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),c_2Elist_2ENIL(bool)) )
& ! [V1xb] :
( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ap(ap(c_2EEncode_2Eencode__option(A_27a),V1xb),ap(c_2Eoption_2ESOME(A_27a),V2x)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(V1xb,V2x)) ) ) ) ) ).
fof(lameq_f987,axiom,
! [A_27a,V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V2y] : ap(f987(A_27a,V0p),V2y) = ap(V0p,V2y) ) ).
fof(ax_thm_2EEncode_2Elift__option__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1x] :
( mem(V1x,ty_2Eoption_2Eoption(A_27a))
=> ( p(ap(ap(c_2EEncode_2Elift__option(A_27a),V0p),V1x))
<=> p(ap(ap(ap(c_2Eoption_2Eoption__CASE(A_27a,bool),V1x),c_2Ebool_2ET),f987(A_27a,V0p))) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__option,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Eoption_2Eoption(A_27a)),ap(c_2EEncode_2Elift__option(A_27a),V0p)),ap(c_2EEncode_2Eencode__option(A_27a),V1e))) ) ) ) ) ).
fof(ax_thm_2EEncode_2Eencode__list__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0xb] :
( mem(V0xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ap(ap(c_2EEncode_2Eencode__list(A_27a),V0xb),c_2Elist_2ENIL(A_27a)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),c_2Elist_2ENIL(bool)) )
& ! [V1xb] :
( mem(V1xb,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3xs] :
( mem(V3xs,ty_2Elist_2Elist(A_27a))
=> ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),ap(ap(c_2Elist_2ECONS(A_27a),V2x),V3xs)) = ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2EAPPEND(bool),ap(V1xb,V2x)),ap(ap(c_2EEncode_2Eencode__list(A_27a),V1xb),V3xs))) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__list,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Elist_2Elist(A_27a)),ap(c_2Elist_2EEVERY(A_27a),V0p)),ap(c_2EEncode_2Eencode__list(A_27a),V1e))) ) ) ) ) ).
fof(conj_thm_2EEncode_2Eencode__list__cong,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l1] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2] :
( mem(V1l2,ty_2Elist_2Elist(A_27a))
=> ! [V2f1] :
( mem(V2f1,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V3f2] :
( mem(V3f2,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( ( V0l1 = V1l2
& ! [V4x] :
( mem(V4x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V4x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1l2)))
=> ap(V2f1,V4x) = ap(V3f2,V4x) ) ) )
=> ap(ap(c_2EEncode_2Eencode__list(A_27a),V2f1),V0l1) = ap(ap(c_2EEncode_2Eencode__list(A_27a),V3f2),V1l2) ) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Eencode__blist__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0e] :
( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27b))
=> ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),c_2Enum_2E0),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) )
& ! [V2m] :
( mem(V2m,ty_2Enum_2Enum)
=> ! [V3e] :
( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V4l] :
( mem(V4l,ty_2Elist_2Elist(A_27b))
=> ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Enum_2ESUC,V2m)),V3e),V4l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V3e,ap(c_2Elist_2EHD(A_27b),V4l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),V2m),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Eencode__blist__def__compute,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0e] :
( mem(V0e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27b))
=> ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),c_2Enum_2E0),V0e),V1l) = c_2Elist_2ENIL(A_27a) ) )
& ! [V2m] :
( mem(V2m,ty_2Enum_2Enum)
=> ! [V3e] :
( mem(V3e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V4l] :
( mem(V4l,ty_2Elist_2Elist(A_27b))
=> ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V2m))),V3e),V4l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V3e,ap(c_2Elist_2EHD(A_27b),V4l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V2m))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V3e),ap(c_2Elist_2ETL(A_27b),V4l))) ) ) )
& ! [V5m] :
( mem(V5m,ty_2Enum_2Enum)
=> ! [V6e] :
( mem(V6e,arr(A_27b,ty_2Elist_2Elist(A_27a)))
=> ! [V7l] :
( mem(V7l,ty_2Elist_2Elist(A_27b))
=> ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V5m))),V6e),V7l) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(V6e,ap(c_2Elist_2EHD(A_27b),V7l))),ap(ap(ap(c_2EEncode_2Eencode__blist(A_27a,A_27b),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V5m))),V6e),ap(c_2Elist_2ETL(A_27b),V7l))) ) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Elift__blist__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(A_27a,bool))
=> ! [V2x] :
( mem(V2x,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),V0m),V1p),V2x))
<=> ( p(ap(ap(c_2Elist_2EEVERY(A_27a),V1p),V2x))
& ap(c_2Elist_2ELENGTH(A_27a),V2x) = V0m ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Elift__blist__suc,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(A_27a,bool))
=> ! [V2h] :
( mem(V2h,A_27a)
=> ! [V3t] :
( mem(V3t,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),ap(c_2Enum_2ESUC,V0n)),V1p),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)))
<=> ( p(ap(V1p,V2h))
& p(ap(ap(ap(c_2EEncode_2Elift__blist(A_27a),V0n),V1p),V3t)) ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__blist,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(A_27a,bool))
=> ! [V2e] :
( mem(V2e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V1p),V2e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Elist_2Elist(A_27a)),ap(ap(c_2EEncode_2Elift__blist(A_27a),V0m),V1p)),ap(ap(c_2EEncode_2Eencode__blist(bool,A_27a),V0m),V2e))) ) ) ) ) ) ).
fof(lameq_f988,axiom,
! [V0R] :
( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ! [V1n] : ap(f988(V0R),V1n) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V1n),c_2Enum_2E0))),ap(c_2Earithmetic_2EEVEN,V1n))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V1n)) ) ).
fof(lameq_f989,axiom,
! [V0R] :
( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ! [V2n] : ap(f989(V0R),V2n) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V2n),c_2Enum_2E0))),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V2n)))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),V2n)) ) ).
fof(lameq_f990,axiom,
! [V0R] : ap(f990,V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Enum_2Enum),V0R)),ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f988(V0R))),ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f989(V0R)))) ).
fof(lameq_f991,axiom,
! [V3encode__num] :
( mem(V3encode__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))
=> ! [V4a] : ap(f991(V3encode__num),V4a) = ap(c_2Ecombin_2EI(ty_2Elist_2Elist(bool)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V4a),c_2Enum_2E0)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,V4a)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V4a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))))),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(V3encode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V4a),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))))))) ) ).
fof(lameq_f992,axiom,
! [V3encode__num] : ap(f992,V3encode__num) = f991(V3encode__num) ).
fof(ax_thm_2EEncode_2Eencode__num__primitive__def,axiom,
c_2EEncode_2Eencode__num = ap(ap(c_2Erelation_2EWFREC(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(c_2Emin_2E_40(arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool))),f990)),f992) ).
fof(conj_thm_2EEncode_2Eencode__num__def,axiom,
! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ap(c_2EEncode_2Eencode__num,V0n) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V0n),c_2Enum_2E0)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),c_2Elist_2ENIL(bool)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(c_2Earithmetic_2EEVEN,V0n)),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V0n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))))),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),ap(c_2EEncode_2Eencode__num,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V0n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))))))) ) ).
fof(conj_thm_2EEncode_2Eencode__num__ind,axiom,
! [V0P] :
( mem(V0P,arr(ty_2Enum_2Enum,bool))
=> ( ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ( ( ( ( V1n != c_2Enum_2E0
& p(ap(c_2Earithmetic_2EEVEN,V1n)) )
=> p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) )
& ( ( V1n != c_2Enum_2E0
& ~ p(ap(c_2Earithmetic_2EEVEN,V1n)) )
=> p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,ap(ap(c_2Earithmetic_2E_2D,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) )
=> p(ap(V0P,V1n)) ) )
=> ! [V2v] :
( mem(V2v,ty_2Enum_2Enum)
=> p(ap(V0P,V2v)) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__num,axiom,
! [V0p] :
( mem(V0p,arr(ty_2Enum_2Enum,bool))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V0p),c_2EEncode_2Eencode__num)) ) ).
fof(ax_thm_2EEncode_2Eencode__bnum__def,axiom,
( ! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ap(ap(c_2EEncode_2Eencode__bnum,c_2Enum_2E0),V0n) = c_2Elist_2ENIL(bool) )
& ! [V1m] :
( mem(V1m,ty_2Enum_2Enum)
=> ! [V2n] :
( mem(V2n,ty_2Enum_2Enum)
=> ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Enum_2ESUC,V1m)),V2n) = ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V2n))),ap(ap(c_2EEncode_2Eencode__bnum,V1m),ap(ap(c_2Earithmetic_2EDIV,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) ) ) ).
fof(conj_thm_2EEncode_2Eencode__bnum__def__compute,axiom,
( ! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ap(ap(c_2EEncode_2Eencode__bnum,c_2Enum_2E0),V0n) = c_2Elist_2ENIL(bool) )
& ! [V1m] :
( mem(V1m,ty_2Enum_2Enum)
=> ! [V2n] :
( mem(V2n,ty_2Enum_2Enum)
=> ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))),V2n) = ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V2n))),ap(ap(c_2EEncode_2Eencode__bnum,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V1m))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2EDIV,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) )
& ! [V3m] :
( mem(V3m,ty_2Enum_2Enum)
=> ! [V4n] :
( mem(V4n,ty_2Enum_2Enum)
=> ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V3m))),V4n) = ap(ap(c_2Elist_2ECONS(bool),ap(c_2Ebool_2E_7E,ap(c_2Earithmetic_2EEVEN,V4n))),ap(ap(c_2EEncode_2Eencode__bnum,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3m))),ap(ap(c_2Earithmetic_2EDIV,V4n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))))) ) ) ) ).
fof(ax_thm_2EEncode_2Ecollision__free__def,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ecollision__free,V0m),V1p))
<=> ! [V2x] :
( mem(V2x,ty_2Enum_2Enum)
=> ! [V3y] :
( mem(V3y,ty_2Enum_2Enum)
=> ( ( p(ap(V1p,V2x))
& p(ap(V1p,V3y))
& ap(ap(c_2Earithmetic_2EMOD,V2x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)) = ap(ap(c_2Earithmetic_2EMOD,V3y),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)) )
=> V2x = V3y ) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Ewf__pred__bnum__def,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),V1p))
<=> ( p(ap(c_2EEncode_2Ewf__pred(ty_2Enum_2Enum),V1p))
& ! [V2x] :
( mem(V2x,ty_2Enum_2Enum)
=> ( p(ap(V1p,V2x))
=> p(ap(ap(c_2Eprim__rec_2E_3C,V2x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m))) ) ) ) ) ) ) ).
fof(lameq_f993,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1x] : ap(f993(V0m),V1x) = ap(ap(c_2Eprim__rec_2E_3C,V1x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)) ) ).
fof(conj_thm_2EEncode_2Ewf__pred__bnum__total,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),f993(V0m))) ) ).
fof(conj_thm_2EEncode_2Ewf__pred__bnum,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),V1p))
=> p(ap(ap(c_2EEncode_2Ecollision__free,V0m),V1p)) ) ) ) ).
fof(conj_thm_2EEncode_2Eencode__bnum__length,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ap(c_2Elist_2ELENGTH(bool),ap(ap(c_2EEncode_2Eencode__bnum,V0m),V1n)) = V0m ) ) ).
fof(conj_thm_2EEncode_2Eencode__bnum__inj,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1x] :
( mem(V1x,ty_2Enum_2Enum)
=> ! [V2y] :
( mem(V2y,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,V1x),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)))
& p(ap(ap(c_2Eprim__rec_2E_3C,V2y),ap(ap(c_2Earithmetic_2EEXP,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),V0m)))
& ap(ap(c_2EEncode_2Eencode__bnum,V0m),V1x) = ap(ap(c_2EEncode_2Eencode__bnum,V0m),V2y) )
=> V1x = V2y ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__bnum__collision__free,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,V0m)))
<=> p(ap(ap(c_2EEncode_2Ecollision__free,V0m),V1p)) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__bnum,axiom,
! [V0m] :
( mem(V0m,ty_2Enum_2Enum)
=> ! [V1p] :
( mem(V1p,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(c_2EEncode_2Ewf__pred__bnum,V0m),V1p))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2Enum_2Enum),V1p),ap(c_2EEncode_2Eencode__bnum,V0m))) ) ) ) ).
fof(lameq_f994,axiom,
! [A_27a,V7a0] :
( mem(V7a0,A_27a)
=> ! [V8a1] : ap(f994(A_27a,V7a0),V8a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),c_2Enum_2E0),V7a0),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V8a1),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a)))) ) ).
fof(lameq_f995,axiom,
! [A_27a,V7a0] : ap(f995(A_27a),V7a0) = f994(A_27a,V7a0) ).
fof(lameq_f996,axiom,
! [A_27a,V5a0] :
( mem(V5a0,A_27a)
=> ! [V4a0_27] :
( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V6a1] : ap(f996(A_27a,V5a0,V4a0_27,V3_27_40temp_20_40ind__typeEncode0list_27),V6a1) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V4a0_27),ap(ap(f995(A_27a),V5a0),V6a1))),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V6a1)) ) ) ) ).
fof(lameq_f997,axiom,
! [A_27a,V3_27_40temp_20_40ind__typeEncode0list_27] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V4a0_27] :
( mem(V4a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V5a0] : ap(f997(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V4a0_27),V5a0) = ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f996(A_27a,V5a0,V4a0_27,V3_27_40temp_20_40ind__typeEncode0list_27)) ) ) ).
fof(lameq_f998,axiom,
! [A_27a,V3_27_40temp_20_40ind__typeEncode0list_27] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V2_27tree_27] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V4a0_27] : ap(f998(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27),V4a0_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f997(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V4a0_27))),ap(V2_27tree_27,V4a0_27)) ) ) ).
fof(lameq_f999,axiom,
! [A_27a,V14a0] :
( mem(V14a0,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V15a1] : ap(f999(A_27a,V14a0),V15a1) = ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,ap(c_2Enum_2ESUC,c_2Enum_2E0))),c_2Ebool_2EARB(A_27a)),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V14a0),ap(ap(c_2Eind__type_2EFCONS(ty_2Eind__type_2Erecspace(A_27a)),V15a1),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a))))) ) ).
fof(lameq_f1000,axiom,
! [A_27a,V14a0] : ap(f1000(A_27a),V14a0) = f999(A_27a,V14a0) ).
fof(lameq_f1001,axiom,
! [A_27a,V3_27_40temp_20_40ind__typeEncode0list_27] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V2_27tree_27] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V10a1_27] :
( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V12a0] :
( mem(V12a0,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V13a1] : ap(f1001(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27,V10a1_27,V12a0),V13a1) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V10a1_27),ap(ap(f1000(A_27a),V12a0),V13a1))),ap(ap(c_2Ebool_2E_2F_5C,ap(V2_27tree_27,V12a0)),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V13a1))) ) ) ) ) ).
fof(lameq_f1002,axiom,
! [A_27a,V10a1_27] :
( mem(V10a1_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V2_27tree_27] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V12a0] : ap(f1002(A_27a,V10a1_27,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27),V12a0) = ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f1001(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27,V10a1_27,V12a0)) ) ) ) ).
fof(lameq_f1003,axiom,
! [A_27a,V2_27tree_27] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27] :
( mem(V3_27_40temp_20_40ind__typeEncode0list_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V10a1_27] : ap(f1003(A_27a,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27),V10a1_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_5C_2F,ap(ap(c_2Emin_2E_3D(ty_2Eind__type_2Erecspace(A_27a)),V10a1_27),ap(ap(ap(c_2Eind__type_2ECONSTR(A_27a),ap(c_2Enum_2ESUC,c_2Enum_2E0)),c_2Ebool_2EARB(A_27a)),k(ty_2Enum_2Enum,c_2Eind__type_2EBOTTOM(A_27a))))),ap(c_2Ebool_2E_3F(ty_2Eind__type_2Erecspace(A_27a)),f1002(A_27a,V10a1_27,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27)))),ap(V3_27_40temp_20_40ind__typeEncode0list_27,V10a1_27)) ) ) ).
fof(lameq_f1004,axiom,
! [A_27a,V2_27tree_27] :
( mem(V2_27tree_27,arr(ty_2Eind__type_2Erecspace(A_27a),bool))
=> ! [V1a0_27] :
( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V3_27_40temp_20_40ind__typeEncode0list_27] : ap(f1004(A_27a,V2_27tree_27,V1a0_27),V3_27_40temp_20_40ind__typeEncode0list_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Eind__type_2Erecspace(A_27a)),f998(A_27a,V3_27_40temp_20_40ind__typeEncode0list_27,V2_27tree_27))),ap(c_2Ebool_2E_21(ty_2Eind__type_2Erecspace(A_27a)),f1003(A_27a,V2_27tree_27,V3_27_40temp_20_40ind__typeEncode0list_27)))),ap(V2_27tree_27,V1a0_27)) ) ) ).
fof(lameq_f1005,axiom,
! [A_27a,V1a0_27] :
( mem(V1a0_27,ty_2Eind__type_2Erecspace(A_27a))
=> ! [V2_27tree_27] : ap(f1005(A_27a,V1a0_27),V2_27tree_27) = ap(c_2Ebool_2E_21(arr(ty_2Eind__type_2Erecspace(A_27a),bool)),f1004(A_27a,V2_27tree_27,V1a0_27)) ) ).
fof(lameq_f1006,axiom,
! [A_27a,V1a0_27] : ap(f1006(A_27a),V1a0_27) = ap(c_2Ebool_2E_21(arr(ty_2Eind__type_2Erecspace(A_27a),bool)),f1005(A_27a,V1a0_27)) ).
fof(ax_thm_2EEncode_2Etree__TY__DEF,axiom,
! [A_27a] :
( ne(A_27a)
=> ? [V0rep] :
( mem(V0rep,arr(ty_2EEncode_2Etree(A_27a),ty_2Eind__type_2Erecspace(A_27a)))
& p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(ty_2Eind__type_2Erecspace(A_27a),ty_2EEncode_2Etree(A_27a)),f1006(A_27a)),V0rep)) ) ) ).
fof(ax_thm_2EEncode_2Etree__case__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0a0] :
( mem(V0a0,A_27a)
=> ! [V1a1] :
( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ! [V2f] :
( mem(V2f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),ap(ap(c_2EEncode_2ENode(A_27a),V0a0),V1a1)),V2f) = ap(ap(V2f,V0a0),V1a1) ) ) ) ) ) ).
fof(ax_thm_2EEncode_2Etree__size__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0f] :
( mem(V0f,arr(A_27a,ty_2Enum_2Enum))
=> ! [V1a0] :
( mem(V1a0,A_27a)
=> ! [V2a1] :
( mem(V2a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ap(ap(c_2EEncode_2Etree__size(A_27a),V0f),ap(ap(c_2EEncode_2ENode(A_27a),V1a0),V2a1)) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Earithmetic_2E_2B,ap(V0f,V1a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V0f),V2a1))) ) ) )
& ! [V3f] :
( mem(V3f,arr(A_27a,ty_2Enum_2Enum))
=> ap(ap(c_2EEncode_2Etree1__size(A_27a),V3f),c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))) = c_2Enum_2E0 )
& ! [V4f] :
( mem(V4f,arr(A_27a,ty_2Enum_2Enum))
=> ! [V5a0] :
( mem(V5a0,ty_2EEncode_2Etree(A_27a))
=> ! [V6a1] :
( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V5a0),V6a1)) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2EEncode_2Etree__size(A_27a),V4f),V5a0)),ap(ap(c_2EEncode_2Etree1__size(A_27a),V4f),V6a1))) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Edatatype__tree,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0tree] :
( mem(V0tree,arr(arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),ty_2EEncode_2Etree(A_27a))),bool))
=> p(ap(c_2Ebool_2EDATATYPE(bool),ap(V0tree,c_2EEncode_2ENode(A_27a)))) ) ) ).
fof(conj_thm_2EEncode_2Etree__11,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0a0] :
( mem(V0a0,A_27a)
=> ! [V1a1] :
( mem(V1a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ! [V2a0_27] :
( mem(V2a0_27,A_27a)
=> ! [V3a1_27] :
( mem(V3a1_27,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ap(ap(c_2EEncode_2ENode(A_27a),V0a0),V1a1) = ap(ap(c_2EEncode_2ENode(A_27a),V2a0_27),V3a1_27)
<=> ( V0a0 = V2a0_27
& V1a1 = V3a1_27 ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Etree__nchotomy,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0tt] :
( mem(V0tt,ty_2EEncode_2Etree(A_27a))
=> ? [V1a] :
( mem(V1a,A_27a)
& ? [V2l] :
( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
& V0tt = ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2l) ) ) ) ) ).
fof(conj_thm_2EEncode_2Etree__Axiom,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f0] :
( mem(V0f0,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27c,A_27b))))
=> ! [V1f1] :
( mem(V1f1,A_27c)
=> ! [V2f2] :
( mem(V2f2,arr(ty_2EEncode_2Etree(A_27a),arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),arr(A_27b,arr(A_27c,A_27c)))))
=> ? [V3fn0] :
( mem(V3fn0,arr(ty_2EEncode_2Etree(A_27a),A_27b))
& ? [V4fn1] :
( mem(V4fn1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27c))
& ! [V5a0] :
( mem(V5a0,A_27a)
=> ! [V6a1] :
( mem(V6a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ap(V3fn0,ap(ap(c_2EEncode_2ENode(A_27a),V5a0),V6a1)) = ap(ap(ap(V0f0,V5a0),V6a1),ap(V4fn1,V6a1)) ) )
& ap(V4fn1,c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))) = V1f1
& ! [V7a0] :
( mem(V7a0,ty_2EEncode_2Etree(A_27a))
=> ! [V8a1] :
( mem(V8a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ap(V4fn1,ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V7a0),V8a1)) = ap(ap(ap(ap(V2f2,V7a0),V8a1),ap(V3fn0,V7a0)),ap(V4fn1,V8a1)) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Etree__induction,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P0] :
( mem(V0P0,arr(ty_2EEncode_2Etree(A_27a),bool))
=> ! [V1P1] :
( mem(V1P1,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),bool))
=> ( ( ! [V2l] :
( mem(V2l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( p(ap(V1P1,V2l))
=> ! [V3a] :
( mem(V3a,A_27a)
=> p(ap(V0P0,ap(ap(c_2EEncode_2ENode(A_27a),V3a),V2l))) ) ) )
& p(ap(V1P1,c_2Elist_2ENIL(ty_2EEncode_2Etree(A_27a))))
& ! [V4t] :
( mem(V4t,ty_2EEncode_2Etree(A_27a))
=> ! [V5l] :
( mem(V5l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ( p(ap(V0P0,V4t))
& p(ap(V1P1,V5l)) )
=> p(ap(V1P1,ap(ap(c_2Elist_2ECONS(ty_2EEncode_2Etree(A_27a)),V4t),V5l))) ) ) ) )
=> ( ! [V6t] :
( mem(V6t,ty_2EEncode_2Etree(A_27a))
=> p(ap(V0P0,V6t)) )
& ! [V7l] :
( mem(V7l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> p(ap(V1P1,V7l)) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Etree__case__cong,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0f_27] :
( mem(V0f_27,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ! [V1M] :
( mem(V1M,ty_2EEncode_2Etree(A_27a))
=> ! [V2M_27] :
( mem(V2M_27,ty_2EEncode_2Etree(A_27a))
=> ! [V3f] :
( mem(V3f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ( ( V1M = V2M_27
& ! [V4a0] :
( mem(V4a0,A_27a)
=> ! [V5a1] :
( mem(V5a1,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( V2M_27 = ap(ap(c_2EEncode_2ENode(A_27a),V4a0),V5a1)
=> ap(ap(V3f,V4a0),V5a1) = ap(ap(V0f_27,V4a0),V5a1) ) ) ) )
=> ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V1M),V3f) = ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V2M_27),V0f_27) ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Etree__case__eq,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0x] :
( mem(V0x,ty_2EEncode_2Etree(A_27a))
=> ! [V1f] :
( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)),A_27b)))
=> ! [V2v] :
( mem(V2v,A_27b)
=> ( ap(ap(c_2EEncode_2Etree__CASE(A_27a,A_27b),V0x),V1f) = V2v
<=> ? [V3a] :
( mem(V3a,A_27a)
& ? [V4l] :
( mem(V4l,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
& V0x = ap(ap(c_2EEncode_2ENode(A_27a),V3a),V4l)
& ap(ap(V1f,V3a),V4l) = V2v ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Etree__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(ty_2EEncode_2Etree(A_27a),bool))
=> ( ! [V1a] :
( mem(V1a,A_27a)
=> ! [V2ts] :
( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( ! [V3t] :
( mem(V3t,ty_2EEncode_2Etree(A_27a))
=> ( p(ap(ap(c_2Ebool_2EIN(ty_2EEncode_2Etree(A_27a)),V3t),ap(c_2Elist_2ELIST__TO__SET(ty_2EEncode_2Etree(A_27a)),V2ts)))
=> p(ap(V0p,V3t)) ) )
=> p(ap(V0p,ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts))) ) ) )
=> ! [V4t] :
( mem(V4t,ty_2EEncode_2Etree(A_27a))
=> p(ap(V0p,V4t)) ) ) ) ) ).
fof(conj_thm_2EEncode_2Eencode__tree__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0e] :
( mem(V0e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ! [V1a] :
( mem(V1a,A_27a)
=> ! [V2ts] :
( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ap(ap(c_2EEncode_2Eencode__tree(A_27a),V0e),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts)) = ap(ap(c_2Elist_2EAPPEND(bool),ap(V0e,V1a)),ap(ap(c_2EEncode_2Eencode__list(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Eencode__tree(A_27a),V0e)),V2ts)) ) ) ) ) ).
fof(conj_thm_2EEncode_2Elift__tree__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1a] :
( mem(V1a,A_27a)
=> ! [V2ts] :
( mem(V2ts,ty_2Elist_2Elist(ty_2EEncode_2Etree(A_27a)))
=> ( p(ap(ap(c_2EEncode_2Elift__tree(A_27a),V0p),ap(ap(c_2EEncode_2ENode(A_27a),V1a),V2ts)))
<=> ( p(ap(V0p,V1a))
& p(ap(ap(c_2Elist_2EEVERY(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),V2ts)) ) ) ) ) ) ) ).
fof(conj_thm_2EEncode_2Ewf__encode__tree,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,bool))
=> ! [V1e] :
( mem(V1e,arr(A_27a,ty_2Elist_2Elist(bool)))
=> ( p(ap(ap(c_2EEncode_2Ewf__encoder(A_27a),V0p),V1e))
=> p(ap(ap(c_2EEncode_2Ewf__encoder(ty_2EEncode_2Etree(A_27a)),ap(c_2EEncode_2Elift__tree(A_27a),V0p)),ap(c_2EEncode_2Eencode__tree(A_27a),V1e))) ) ) ) ) ).
%------------------------------------------------------------------------------