ITP001 Axioms: ITP082_5.ax
%------------------------------------------------------------------------------
% File : ITP082_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 : container_2.ax [Gau20]
% : HL4082_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 71 ( 7 unt; 16 typ; 0 def)
% Number of atoms : 846 ( 46 equ)
% Maximal formula atoms : 8 ( 11 avg)
% Number of connectives : 133 ( 2 ~; 0 |; 8 &)
% ( 13 <=>; 110 =>; 0 <=; 0 <~>)
% Maximal formula depth : 16 ( 7 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 660 ( 660 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 47 ( 16 >; 31 *; 0 +; 0 <<)
% Number of predicates : 65 ( 64 usr; 8 prp; 0-2 aty)
% Number of functors : 16 ( 16 usr; 0 con; 1-6 aty)
% Number of variables : 180 ( 179 !; 1 ?; 180 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Econtainer_2EBAG__OF__FMAP,type,
c_2Econtainer_2EBAG__OF__FMAP: ( del * del * del ) > $i ).
tff(mem_c_2Econtainer_2EBAG__OF__FMAP,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Econtainer_2EBAG__OF__FMAP(A_27a,A_27b,A_27c),arr(arr(A_27b,arr(A_27c,A_27a)),arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(A_27a,ty_2Enum_2Enum)))) ).
tff(tp_c_2Econtainer_2EBAG__TO__LIST,type,
c_2Econtainer_2EBAG__TO__LIST: del > $i ).
tff(mem_c_2Econtainer_2EBAG__TO__LIST,axiom,
! [A_27a: del] : mem(c_2Econtainer_2EBAG__TO__LIST(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),ty_2Elist_2Elist(A_27a))) ).
tff(tp_c_2Econtainer_2ELIST__TO__BAG,type,
c_2Econtainer_2ELIST__TO__BAG: del > $i ).
tff(mem_c_2Econtainer_2ELIST__TO__BAG,axiom,
! [A_27a: del] : mem(c_2Econtainer_2ELIST__TO__BAG(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(A_27a,ty_2Enum_2Enum))) ).
tff(tp_c_2Econtainer_2Emlt__list,type,
c_2Econtainer_2Emlt__list: del > $i ).
tff(mem_c_2Econtainer_2Emlt__list,axiom,
! [A_27a: del] : mem(c_2Econtainer_2Emlt__list(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool)))) ).
tff(conj_thm_2Econtainer_2ESET__TO__LIST__THM,axiom,
! [A_27a: del,V0s: $i] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ( ap(c_2Elist_2ESET__TO__LIST(A_27a),V0s) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(arr(A_27a,bool)),V0s),c_2Epred__set_2EEMPTY(A_27a))),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),ap(c_2Epred__set_2ECHOICE(A_27a),V0s)),ap(c_2Elist_2ESET__TO__LIST(A_27a),ap(c_2Epred__set_2EREST(A_27a),V0s)))) ) ) ) ).
tff(conj_thm_2Econtainer_2ESET__TO__LIST__IND,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(arr(A_27a,bool),bool))
=> ( ! [V1s: $i] :
( mem(V1s,arr(A_27a,bool))
=> ( ( ( p(ap(c_2Epred__set_2EFINITE(A_27a),V1s))
& ( V1s != c_2Epred__set_2EEMPTY(A_27a) ) )
=> p(ap(V0P,ap(c_2Epred__set_2EREST(A_27a),V1s))) )
=> p(ap(V0P,V1s)) ) )
=> ! [V2v: $i] :
( mem(V2v,arr(A_27a,bool))
=> p(ap(V0P,V2v)) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__SET__THM,axiom,
! [A_27a: del,A_27b: del,V0h: $i] :
( mem(V0h,A_27b)
=> ! [V1t: $i] :
( mem(V1t,ty_2Elist_2Elist(A_27b))
=> ( ( ap(c_2Elist_2ELIST__TO__SET(A_27a),c_2Elist_2ENIL(A_27a)) = c_2Epred__set_2EEMPTY(A_27a) )
& ( ap(c_2Elist_2ELIST__TO__SET(A_27b),ap(ap(c_2Elist_2ECONS(A_27b),V0h),V1t)) = ap(ap(c_2Epred__set_2EINSERT(A_27b),V0h),ap(c_2Elist_2ELIST__TO__SET(A_27b),V1t)) ) ) ) ) ).
tff(conj_thm_2Econtainer_2ESET__TO__LIST__INV,axiom,
! [A_27a: del,V0s: $i] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ( ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(c_2Elist_2ESET__TO__LIST(A_27a),V0s)) = V0s ) ) ) ).
tff(conj_thm_2Econtainer_2ESET__TO__LIST__CARD,axiom,
! [A_27a: del,V0s: $i] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(A_27a),ap(c_2Elist_2ESET__TO__LIST(A_27a),V0s))) = surj__ty_2Enum_2Enum(ap(c_2Epred__set_2ECARD(A_27a),V0s)) ) ) ) ).
tff(conj_thm_2Econtainer_2ESET__TO__LIST__IN__MEM,axiom,
! [A_27a: del,V0s: $i] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),V0s))
<=> p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(c_2Elist_2ESET__TO__LIST(A_27a),V0s)))) ) ) ) ) ).
tff(conj_thm_2Econtainer_2EMEM__SET__TO__LIST,axiom,
! [A_27a: del,V0s: $i] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(c_2Elist_2ESET__TO__LIST(A_27a),V0s))))
<=> p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),V0s)) ) ) ) ) ).
tff(conj_thm_2Econtainer_2ESET__TO__LIST__SING,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,A_27a)
=> ( ap(c_2Elist_2ESET__TO__LIST(A_27a),ap(ap(c_2Epred__set_2EINSERT(A_27a),V0x),c_2Epred__set_2EEMPTY(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V0x),c_2Elist_2ENIL(A_27a)) ) ) ).
tff(conj_thm_2Econtainer_2EUNION__APPEND,axiom,
! [A_27a: del,V0l1: $i] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2: $i] :
( mem(V1l2,ty_2Elist_2Elist(A_27a))
=> ( ap(ap(c_2Epred__set_2EUNION(A_27a),ap(c_2Elist_2ELIST__TO__SET(A_27a),V0l1)),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1l2)) = ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0l1),V1l2)) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__SET__APPEND,axiom,
! [A_27a: del,V0l1: $i] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2: $i] :
( mem(V1l2,ty_2Elist_2Elist(A_27a))
=> ( ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0l1),V1l2)) = ap(ap(c_2Epred__set_2EUNION(A_27a),ap(c_2Elist_2ELIST__TO__SET(A_27a),V0l1)),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1l2)) ) ) ) ).
tff(conj_thm_2Econtainer_2EFINITE__LIST__TO__SET,axiom,
! [A_27a: del,V0l: $i] :
( mem(V0l,ty_2Elist_2Elist(A_27a))
=> p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2Elist_2ELIST__TO__SET(A_27a),V0l))) ) ).
tff(ax_thm_2Econtainer_2ELIST__TO__BAG__def,axiom,
! [A_27a: del] :
( ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),c_2Elist_2ENIL(A_27a)) = c_2Ebag_2EEMPTY__BAG(A_27a) )
& ! [V0h: $i] :
( mem(V0h,A_27a)
=> ! [V1t: $i] :
( mem(V1t,ty_2Elist_2Elist(A_27a))
=> ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V0h),V1t)) = ap(ap(c_2Ebag_2EBAG__INSERT(A_27a),V0h),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1t)) ) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__BAG__alt,axiom,
! [A_27a: del,V0l: $i] :
( mem(V0l,ty_2Elist_2Elist(A_27a))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ( surj__ty_2Enum_2Enum(ap(ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0l),V1x)) = surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(A_27a),ap(ap(c_2Elist_2EFILTER(A_27a),ap(c_2Emin_2E_3D(A_27a),V1x)),V0l))) ) ) ) ).
tff(lamtp_f2083,type,
f2083: ( del * $i ) > $i ).
tff(lameq_f2083,axiom,
! [A_27a: del,V0R: $i] :
( mem(V0R,arr(arr(A_27a,ty_2Enum_2Enum),arr(arr(A_27a,ty_2Enum_2Enum),bool)))
=> ! [V1bag: $i] : ( ap(f2083(A_27a,V0R),V1bag) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebag_2EFINITE__BAG(A_27a),V1bag)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(arr(A_27a,ty_2Enum_2Enum)),V1bag),c_2Ebag_2EEMPTY__BAG(A_27a))))),ap(ap(V0R,ap(c_2Ebag_2EBAG__REST(A_27a),V1bag)),V1bag)) ) ) ).
tff(lamtp_f2084,type,
f2084: del > $i ).
tff(lameq_f2084,axiom,
! [A_27a: del,V0R: $i] : ( ap(f2084(A_27a),V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(arr(A_27a,ty_2Enum_2Enum)),V0R)),ap(c_2Ebool_2E_21(arr(A_27a,ty_2Enum_2Enum)),f2083(A_27a,V0R))) ) ).
tff(lamtp_f2085,type,
f2085: ( del * $i ) > $i ).
tff(lameq_f2085,axiom,
! [A_27a: del,V2BAG__TO__LIST: $i] :
( mem(V2BAG__TO__LIST,arr(arr(A_27a,ty_2Enum_2Enum),ty_2Elist_2Elist(A_27a)))
=> ! [V3a: $i] : ( ap(f2085(A_27a,V2BAG__TO__LIST),V3a) = ap(c_2Ecombin_2EI(ty_2Elist_2Elist(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebag_2EFINITE__BAG(A_27a),V3a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(arr(A_27a,ty_2Enum_2Enum)),V3a),c_2Ebag_2EEMPTY__BAG(A_27a))),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),ap(c_2Ebag_2EBAG__CHOICE(A_27a),V3a)),ap(V2BAG__TO__LIST,ap(c_2Ebag_2EBAG__REST(A_27a),V3a))))),c_2Ebool_2EARB(ty_2Elist_2Elist(A_27a)))) ) ) ).
tff(lamtp_f2086,type,
f2086: del > $i ).
tff(lameq_f2086,axiom,
! [A_27a: del,V2BAG__TO__LIST: $i] : ( ap(f2086(A_27a),V2BAG__TO__LIST) = f2085(A_27a,V2BAG__TO__LIST) ) ).
tff(ax_thm_2Econtainer_2EBAG__TO__LIST__primitive__def,axiom,
! [A_27a: del] : ( c_2Econtainer_2EBAG__TO__LIST(A_27a) = ap(ap(c_2Erelation_2EWFREC(arr(A_27a,ty_2Enum_2Enum),ty_2Elist_2Elist(A_27a)),ap(c_2Emin_2E_40(arr(arr(A_27a,ty_2Enum_2Enum),arr(arr(A_27a,ty_2Enum_2Enum),bool))),f2084(A_27a))),f2086(A_27a)) ) ).
tff(conj_thm_2Econtainer_2EBAG__TO__LIST__THM,axiom,
! [A_27a: del,V0bag: $i] :
( mem(V0bag,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0bag))
=> ( ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0bag) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(arr(A_27a,ty_2Enum_2Enum)),V0bag),c_2Ebag_2EEMPTY__BAG(A_27a))),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),ap(c_2Ebag_2EBAG__CHOICE(A_27a),V0bag)),ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),ap(c_2Ebag_2EBAG__REST(A_27a),V0bag)))) ) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__TO__LIST__IND,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(arr(A_27a,ty_2Enum_2Enum),bool))
=> ( ! [V1bag: $i] :
( mem(V1bag,arr(A_27a,ty_2Enum_2Enum))
=> ( ( ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V1bag))
& ( V1bag != c_2Ebag_2EEMPTY__BAG(A_27a) ) )
=> p(ap(V0P,ap(c_2Ebag_2EBAG__REST(A_27a),V1bag))) )
=> p(ap(V0P,V1bag)) ) )
=> ! [V2v: $i] :
( mem(V2v,arr(A_27a,ty_2Enum_2Enum))
=> p(ap(V0P,V2v)) ) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__TO__LIST__INV,axiom,
! [A_27a: del,V0b: $i] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b)) = V0b ) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__IN__MEM,axiom,
! [A_27a: del,V0b: $i] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ( p(ap(ap(c_2Ebag_2EBAG__IN(A_27a),V1x),V0b))
<=> p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b)))) ) ) ) ) ).
tff(conj_thm_2Econtainer_2EMEM__BAG__TO__LIST,axiom,
! [A_27a: del,V0b: $i] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b))))
<=> p(ap(ap(c_2Ebag_2EBAG__IN(A_27a),V1x),V0b)) ) ) ) ) ).
tff(conj_thm_2Econtainer_2EFINITE__LIST__TO__BAG,axiom,
! [A_27a: del,V0ls: $i] :
( mem(V0ls,ty_2Elist_2Elist(A_27a))
=> p(ap(c_2Ebag_2EFINITE__BAG(A_27a),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0ls))) ) ).
tff(conj_thm_2Econtainer_2EEVERY__LIST__TO__BAG,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1ls: $i] :
( mem(V1ls,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2Ebag_2EBAG__EVERY(A_27a),V0P),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1ls)))
<=> p(ap(ap(c_2Elist_2EEVERY(A_27a),V0P),V1ls)) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__BAG__APPEND,axiom,
! [A_27a: del,V0l1: $i] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2: $i] :
( mem(V1l2,ty_2Elist_2Elist(A_27a))
=> ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V0l1),V1l2)) = ap(ap(c_2Ebag_2EBAG__UNION(A_27a),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0l1)),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1l2)) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__BAG__MAP,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( mem(V0f,arr(A_27b,A_27a))
=> ! [V1b: $i] :
( mem(V1b,ty_2Elist_2Elist(A_27b))
=> ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),ap(ap(c_2Elist_2EMAP(A_27b,A_27a),V0f),V1b)) = ap(ap(c_2Ebag_2EBAG__IMAGE(A_27a,A_27b),V0f),ap(c_2Econtainer_2ELIST__TO__BAG(A_27b),V1b)) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__BAG__FILTER,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(A_27a,bool))
=> ! [V1b: $i] :
( mem(V1b,ty_2Elist_2Elist(A_27a))
=> ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),ap(ap(c_2Elist_2EFILTER(A_27a),V0f),V1b)) = ap(ap(c_2Ebag_2EBAG__FILTER(A_27a),V0f),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1b)) ) ) ) ).
tff(conj_thm_2Econtainer_2EINN__LIST__TO__BAG,axiom,
! [A_27a: del,V0n: tp__ty_2Enum_2Enum,V1h: $i] :
( mem(V1h,A_27a)
=> ! [V2l: $i] :
( mem(V2l,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2Ebag_2EBAG__INN(A_27a),V1h),inj__ty_2Enum_2Enum(V0n)),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V2l)))
<=> p(ap(ap(c_2Earithmetic_2E_3E_3D,ap(c_2Elist_2ELENGTH(A_27a),ap(ap(c_2Elist_2EFILTER(A_27a),ap(c_2Emin_2E_3D(A_27a),V1h)),V2l))),inj__ty_2Enum_2Enum(V0n))) ) ) ) ).
tff(conj_thm_2Econtainer_2EIN__LIST__TO__BAG,axiom,
! [A_27a: del,V0h: $i] :
( mem(V0h,A_27a)
=> ! [V1l: $i] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(c_2Ebag_2EBAG__IN(A_27a),V0h),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1l)))
<=> p(ap(ap(c_2Ebool_2EIN(A_27a),V0h),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1l))) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__BAG__DISTINCT,axiom,
! [A_27a: del,V0b: $i] :
( mem(V0b,ty_2Elist_2Elist(A_27a))
=> ( p(ap(c_2Ebag_2EBAG__ALL__DISTINCT(A_27a),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0b)))
<=> p(ap(c_2Elist_2EALL__DISTINCT(A_27a),V0b)) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__TO__BAG__EQ__EMPTY,axiom,
! [A_27a: del,V0l: $i] :
( mem(V0l,ty_2Elist_2Elist(A_27a))
=> ( ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0l) = c_2Ebag_2EEMPTY__BAG(A_27a) )
<=> ( V0l = c_2Elist_2ENIL(A_27a) ) ) ) ).
tff(conj_thm_2Econtainer_2EPERM__LIST__TO__BAG,axiom,
! [A_27a: del,V0l1: $i] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2: $i] :
( mem(V1l2,ty_2Elist_2Elist(A_27a))
=> ( ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0l1) = ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1l2) )
<=> p(ap(ap(c_2Esorting_2EPERM(A_27a),V0l1),V1l2)) ) ) ) ).
tff(conj_thm_2Econtainer_2ECARD__LIST__TO__BAG,axiom,
! [A_27a: del,V0ls: $i] :
( mem(V0ls,ty_2Elist_2Elist(A_27a))
=> ( surj__ty_2Enum_2Enum(ap(c_2Ebag_2EBAG__CARD(A_27a),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0ls))) = surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(A_27a),V0ls)) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__TO__LIST__CARD,axiom,
! [A_27a: del,V0b: $i] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ( surj__ty_2Enum_2Enum(ap(c_2Elist_2ELENGTH(A_27a),ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b))) = surj__ty_2Enum_2Enum(ap(c_2Ebag_2EBAG__CARD(A_27a),V0b)) ) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__TO__LIST__EQ__NIL,axiom,
! [A_27a: del,V0b: $i] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ( ( ( c_2Elist_2ENIL(A_27a) = ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b) )
<=> ( V0b = c_2Ebag_2EEMPTY__BAG(A_27a) ) )
& ( ( ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b) = c_2Elist_2ENIL(A_27a) )
<=> ( V0b = c_2Ebag_2EEMPTY__BAG(A_27a) ) ) ) ) ) ).
tff(conj_thm_2Econtainer_2ELIST__ELEM__COUNT__LIST__TO__BAG,axiom,
! [A_27a: del,V0e: $i] :
( mem(V0e,A_27a)
=> ! [V1ls: $i] :
( mem(V1ls,ty_2Elist_2Elist(A_27a))
=> ( surj__ty_2Enum_2Enum(ap(ap(c_2Erich__list_2ELIST__ELEM__COUNT(A_27a),V0e),V1ls)) = surj__ty_2Enum_2Enum(ap(ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1ls),V0e)) ) ) ) ).
tff(lamtp_f2087,type,
f2087: ( del * $i * $i * $i ) > $i ).
tff(lameq_f2087,axiom,
! [A_27a: del,V3h: $i] :
( mem(V3h,A_27a)
=> ! [V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V5list: $i] :
( mem(V5list,ty_2Elist_2Elist(A_27a))
=> ! [V6e: $i] : ( ap(f2087(A_27a,V3h,V0R,V5list),V6e) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2EIN(A_27a),V6e),ap(c_2Elist_2ELIST__TO__SET(A_27a),V5list))),ap(ap(V0R,V6e),V3h)) ) ) ) ) ).
tff(lamtp_f2088,type,
f2088: ( del * $i * $i * $i * $i * $i ) > $i ).
tff(lameq_f2088,axiom,
! [A_27a: del,V3h: $i] :
( mem(V3h,A_27a)
=> ! [V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l2: $i] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V1l1: $i] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V4t: $i] :
( mem(V4t,ty_2Elist_2Elist(A_27a))
=> ! [V5list: $i] : ( ap(f2088(A_27a,V3h,V0R,V2l2,V1l1,V4t),V5list) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Elist_2Elist(A_27a)),V1l1),ap(ap(c_2Elist_2EAPPEND(A_27a),V5list),V4t))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Elist_2Elist(A_27a)),V2l2),ap(ap(c_2Elist_2ECONS(A_27a),V3h),V4t))),ap(c_2Ebool_2E_21(A_27a),f2087(A_27a,V3h,V0R,V5list)))) ) ) ) ) ) ) ).
tff(lamtp_f2089,type,
f2089: ( del * $i * $i * $i * $i ) > $i ).
tff(lameq_f2089,axiom,
! [A_27a: del,V1l1: $i] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2: $i] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V3h: $i] :
( mem(V3h,A_27a)
=> ! [V4t: $i] : ( ap(f2089(A_27a,V1l1,V2l2,V0R,V3h),V4t) = ap(c_2Ebool_2E_3F(ty_2Elist_2Elist(A_27a)),f2088(A_27a,V3h,V0R,V2l2,V1l1,V4t)) ) ) ) ) ) ).
tff(lamtp_f2090,type,
f2090: ( del * $i * $i * $i ) > $i ).
tff(lameq_f2090,axiom,
! [A_27a: del,V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l2: $i] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V1l1: $i] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V3h: $i] : ( ap(f2090(A_27a,V0R,V2l2,V1l1),V3h) = ap(c_2Ebool_2E_3F(ty_2Elist_2Elist(A_27a)),f2089(A_27a,V1l1,V2l2,V0R,V3h)) ) ) ) ) ).
tff(lamtp_f2091,type,
f2091: ( del * $i * $i ) > $i ).
tff(lameq_f2091,axiom,
! [A_27a: del,V1l1: $i] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l2: $i] : ( ap(f2091(A_27a,V1l1,V0R),V2l2) = ap(c_2Ebool_2E_3F(A_27a),f2090(A_27a,V0R,V2l2,V1l1)) ) ) ) ).
tff(lamtp_f2092,type,
f2092: ( del * $i ) > $i ).
tff(lameq_f2092,axiom,
! [A_27a: del,V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1: $i] : ( ap(f2092(A_27a,V0R),V1l1) = f2091(A_27a,V1l1,V0R) ) ) ).
tff(ax_thm_2Econtainer_2Emlt__list__def,axiom,
! [A_27a: del,V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ( ap(c_2Econtainer_2Emlt__list(A_27a),V0R) = f2092(A_27a,V0R) ) ) ).
tff(conj_thm_2Econtainer_2EWF__mlt__list,axiom,
! [A_27a: del,V0R: $i] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ( p(ap(c_2Erelation_2EWF(A_27a),V0R))
=> p(ap(c_2Erelation_2EWF(ty_2Elist_2Elist(A_27a)),ap(c_2Econtainer_2Emlt__list(A_27a),V0R))) ) ) ).
tff(lamtp_f2093,type,
f2093: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2093,axiom,
! [A_27c: del,A_27a: del,A_27b: del,V2x: $i] :
( mem(V2x,A_27a)
=> ! [V0f: $i] :
( mem(V0f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ! [V3k: $i] : ( ap(f2093(A_27c,A_27a,A_27b,V2x,V0f,V1b),V3k) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V1b))),ap(ap(c_2Emin_2E_3D(A_27a),V2x),ap(ap(V0f,V3k),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V1b),V3k)))) ) ) ) ) ).
tff(lamtp_f2094,type,
f2094: ( del * del * del * $i * $i ) > $i ).
tff(lameq_f2094,axiom,
! [A_27b: del,A_27c: del,A_27a: del,V1b: $i] :
( mem(V1b,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ! [V0f: $i] :
( mem(V0f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V2x: $i] : ( ap(f2094(A_27b,A_27c,A_27a,V1b,V0f),V2x) = ap(c_2Epred__set_2ECARD(A_27b),f2093(A_27c,A_27a,A_27b,V2x,V0f,V1b)) ) ) ) ).
tff(ax_thm_2Econtainer_2EBAG__OF__FMAP__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( mem(V0f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ( ap(ap(c_2Econtainer_2EBAG__OF__FMAP(A_27a,A_27b,A_27c),V0f),V1b) = f2094(A_27b,A_27c,A_27a,V1b,V0f) ) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__OF__FMAP__THM,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,A_27f: del] :
( ! [V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,A_27c)))
=> ( ap(ap(c_2Econtainer_2EBAG__OF__FMAP(A_27c,A_27a,A_27b),V0f),c_2Efinite__map_2EFEMPTY(A_27a,A_27b)) = c_2Ebag_2EEMPTY__BAG(A_27c) ) )
& ! [V1f: $i] :
( mem(V1f,arr(A_27d,arr(A_27e,A_27f)))
=> ! [V2b: $i] :
( mem(V2b,ty_2Efinite__map_2Efmap(A_27d,A_27e))
=> ! [V3k: $i] :
( mem(V3k,A_27d)
=> ! [V4v: $i] :
( mem(V4v,A_27e)
=> ( ap(ap(c_2Econtainer_2EBAG__OF__FMAP(A_27f,A_27d,A_27e),V1f),ap(ap(c_2Efinite__map_2EFUPDATE(A_27d,A_27e),V2b),ap(ap(c_2Epair_2E_2C(A_27d,A_27e),V3k),V4v))) = ap(ap(c_2Ebag_2EBAG__INSERT(A_27f),ap(ap(V1f,V3k),V4v)),ap(ap(c_2Econtainer_2EBAG__OF__FMAP(A_27f,A_27d,A_27e),V1f),ap(ap(c_2Efinite__map_2Efdomsub(A_27d,A_27e),V2b),V3k))) ) ) ) ) ) ) ).
tff(conj_thm_2Econtainer_2EBAG__IN__BAG__OF__FMAP,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0x: $i] :
( mem(V0x,A_27a)
=> ! [V1f: $i] :
( mem(V1f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V2b: $i] :
( mem(V2b,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ( p(ap(ap(c_2Ebag_2EBAG__IN(A_27a),V0x),ap(ap(c_2Econtainer_2EBAG__OF__FMAP(A_27a,A_27b,A_27c),V1f),V2b)))
<=> ? [V3k: $i] :
( mem(V3k,A_27b)
& p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V2b)))
& ( V0x = ap(ap(V1f,V3k),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V2b),V3k)) ) ) ) ) ) ) ).
tff(conj_thm_2Econtainer_2EFINITE__BAG__OF__FMAP,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,A_27c)))
=> ! [V1b: $i] :
( mem(V1b,ty_2Efinite__map_2Efmap(A_27a,A_27b))
=> p(ap(c_2Ebag_2EFINITE__BAG(A_27c),ap(ap(c_2Econtainer_2EBAG__OF__FMAP(A_27c,A_27a,A_27b),V0f),V1b))) ) ) ).
%------------------------------------------------------------------------------