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 : 55 ( 2 unt; 0 def)
% Number of atoms : 245 ( 46 equ)
% Maximal formula atoms : 13 ( 4 avg)
% Number of connectives : 192 ( 2 ~; 0 |; 8 &)
% ( 13 <=>; 169 =>; 0 <=; 0 <~>)
% Maximal formula depth : 22 ( 8 avg)
% Maximal term depth : 11 ( 2 avg)
% Number of predicates : 4 ( 3 usr; 0 prp; 1-2 aty)
% Number of functors : 74 ( 74 usr; 6 con; 0-6 aty)
% Number of variables : 180 ( 179 !; 1 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Econtainer_2EBAG__OF__FMAP,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> 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)))) ) ) ) ).
fof(mem_c_2Econtainer_2EBAG__TO__LIST,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Econtainer_2EBAG__TO__LIST(A_27a),arr(arr(A_27a,ty_2Enum_2Enum),ty_2Elist_2Elist(A_27a))) ) ).
fof(mem_c_2Econtainer_2ELIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Econtainer_2ELIST__TO__BAG(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(A_27a,ty_2Enum_2Enum))) ) ).
fof(mem_c_2Econtainer_2Emlt__list,axiom,
! [A_27a] :
( ne(A_27a)
=> 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)))) ) ).
fof(conj_thm_2Econtainer_2ESET__TO__LIST__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0s] :
( 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)))) ) ) ) ).
fof(conj_thm_2Econtainer_2ESET__TO__LIST__IND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(arr(A_27a,bool),bool))
=> ( ! [V1s] :
( 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] :
( mem(V2v,arr(A_27a,bool))
=> p(ap(V0P,V2v)) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__SET__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0h] :
( mem(V0h,A_27b)
=> ! [V1t] :
( 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)) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ESET__TO__LIST__INV,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0s] :
( 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 ) ) ) ).
fof(conj_thm_2Econtainer_2ESET__TO__LIST__CARD,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0s] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ap(c_2Elist_2ELENGTH(A_27a),ap(c_2Elist_2ESET__TO__LIST(A_27a),V0s)) = ap(c_2Epred__set_2ECARD(A_27a),V0s) ) ) ) ).
fof(conj_thm_2Econtainer_2ESET__TO__LIST__IN__MEM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0s] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ! [V1x] :
( 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)))) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EMEM__SET__TO__LIST,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0s] :
( mem(V0s,arr(A_27a,bool))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),V0s))
=> ! [V1x] :
( 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)) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ESET__TO__LIST__SING,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0x] :
( 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)) ) ) ).
fof(conj_thm_2Econtainer_2EUNION__APPEND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l1] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2] :
( 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)) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__SET__APPEND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l1] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2] :
( 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)) ) ) ) ).
fof(conj_thm_2Econtainer_2EFINITE__LIST__TO__SET,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l] :
( mem(V0l,ty_2Elist_2Elist(A_27a))
=> p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2Elist_2ELIST__TO__SET(A_27a),V0l))) ) ) ).
fof(ax_thm_2Econtainer_2ELIST__TO__BAG__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),c_2Elist_2ENIL(A_27a)) = c_2Ebag_2EEMPTY__BAG(A_27a)
& ! [V0h] :
( mem(V0h,A_27a)
=> ! [V1t] :
( 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)) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__BAG__alt,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l] :
( mem(V0l,ty_2Elist_2Elist(A_27a))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ap(ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0l),V1x) = ap(c_2Elist_2ELENGTH(A_27a),ap(ap(c_2Elist_2EFILTER(A_27a),ap(c_2Emin_2E_3D(A_27a),V1x)),V0l)) ) ) ) ).
fof(lameq_f2083,axiom,
! [A_27a,V0R] :
( mem(V0R,arr(arr(A_27a,ty_2Enum_2Enum),arr(arr(A_27a,ty_2Enum_2Enum),bool)))
=> ! [V1bag] : 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)) ) ).
fof(lameq_f2084,axiom,
! [A_27a,V0R] : 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))) ).
fof(lameq_f2085,axiom,
! [A_27a,V2BAG__TO__LIST] :
( mem(V2BAG__TO__LIST,arr(arr(A_27a,ty_2Enum_2Enum),ty_2Elist_2Elist(A_27a)))
=> ! [V3a] : 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)))) ) ).
fof(lameq_f2086,axiom,
! [A_27a,V2BAG__TO__LIST] : ap(f2086(A_27a),V2BAG__TO__LIST) = f2085(A_27a,V2BAG__TO__LIST) ).
fof(ax_thm_2Econtainer_2EBAG__TO__LIST__primitive__def,axiom,
! [A_27a] :
( ne(A_27a)
=> 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)) ) ).
fof(conj_thm_2Econtainer_2EBAG__TO__LIST__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0bag] :
( 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)))) ) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__TO__LIST__IND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(arr(A_27a,ty_2Enum_2Enum),bool))
=> ( ! [V1bag] :
( 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] :
( mem(V2v,arr(A_27a,ty_2Enum_2Enum))
=> p(ap(V0P,V2v)) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__TO__LIST__INV,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0b] :
( 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 ) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__IN__MEM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0b] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ! [V1x] :
( 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)))) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EMEM__BAG__TO__LIST,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0b] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ! [V1x] :
( 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)) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EFINITE__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0ls] :
( mem(V0ls,ty_2Elist_2Elist(A_27a))
=> p(ap(c_2Ebag_2EFINITE__BAG(A_27a),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0ls))) ) ) ).
fof(conj_thm_2Econtainer_2EEVERY__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1ls] :
( 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)) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__BAG__APPEND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l1] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2] :
( 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)) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__BAG__MAP,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0f] :
( mem(V0f,arr(A_27b,A_27a))
=> ! [V1b] :
( 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)) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__BAG__FILTER,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0f] :
( mem(V0f,arr(A_27a,bool))
=> ! [V1b] :
( 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)) ) ) ) ).
fof(conj_thm_2Econtainer_2EINN__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0n] :
( mem(V0n,ty_2Enum_2Enum)
=> ! [V1h] :
( mem(V1h,A_27a)
=> ! [V2l] :
( mem(V2l,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2Ebag_2EBAG__INN(A_27a),V1h),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))),V0n)) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EIN__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0h] :
( mem(V0h,A_27a)
=> ! [V1l] :
( 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))) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__BAG__DISTINCT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0b] :
( 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)) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__TO__BAG__EQ__EMPTY,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l] :
( 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) ) ) ) ).
fof(conj_thm_2Econtainer_2EPERM__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0l1] :
( mem(V0l1,ty_2Elist_2Elist(A_27a))
=> ! [V1l2] :
( 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)) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ECARD__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0ls] :
( mem(V0ls,ty_2Elist_2Elist(A_27a))
=> ap(c_2Ebag_2EBAG__CARD(A_27a),ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V0ls)) = ap(c_2Elist_2ELENGTH(A_27a),V0ls) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__TO__LIST__CARD,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0b] :
( mem(V0b,arr(A_27a,ty_2Enum_2Enum))
=> ( p(ap(c_2Ebag_2EFINITE__BAG(A_27a),V0b))
=> ap(c_2Elist_2ELENGTH(A_27a),ap(c_2Econtainer_2EBAG__TO__LIST(A_27a),V0b)) = ap(c_2Ebag_2EBAG__CARD(A_27a),V0b) ) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__TO__LIST__EQ__NIL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0b] :
( 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) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2ELIST__ELEM__COUNT__LIST__TO__BAG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0e] :
( mem(V0e,A_27a)
=> ! [V1ls] :
( mem(V1ls,ty_2Elist_2Elist(A_27a))
=> ap(ap(c_2Erich__list_2ELIST__ELEM__COUNT(A_27a),V0e),V1ls) = ap(ap(c_2Econtainer_2ELIST__TO__BAG(A_27a),V1ls),V0e) ) ) ) ).
fof(lameq_f2087,axiom,
! [A_27a,V3h] :
( mem(V3h,A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V5list] :
( mem(V5list,ty_2Elist_2Elist(A_27a))
=> ! [V6e] : 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)) ) ) ) ).
fof(lameq_f2088,axiom,
! [A_27a,V3h] :
( mem(V3h,A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V4t] :
( mem(V4t,ty_2Elist_2Elist(A_27a))
=> ! [V5list] : 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)))) ) ) ) ) ) ).
fof(lameq_f2089,axiom,
! [A_27a,V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V3h] :
( mem(V3h,A_27a)
=> ! [V4t] : 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)) ) ) ) ) ).
fof(lameq_f2090,axiom,
! [A_27a,V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V3h] : 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)) ) ) ) ).
fof(lameq_f2091,axiom,
! [A_27a,V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l2] : ap(f2091(A_27a,V1l1,V0R),V2l2) = ap(c_2Ebool_2E_3F(A_27a),f2090(A_27a,V0R,V2l2,V1l1)) ) ) ).
fof(lameq_f2092,axiom,
! [A_27a,V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] : ap(f2092(A_27a,V0R),V1l1) = f2091(A_27a,V1l1,V0R) ) ).
fof(ax_thm_2Econtainer_2Emlt__list__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ap(c_2Econtainer_2Emlt__list(A_27a),V0R) = f2092(A_27a,V0R) ) ) ).
fof(conj_thm_2Econtainer_2EWF__mlt__list,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( 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))) ) ) ) ).
fof(lameq_f2093,axiom,
! [A_27c,A_27a,A_27b,V2x] :
( mem(V2x,A_27a)
=> ! [V0f] :
( mem(V0f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V1b] :
( mem(V1b,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ! [V3k] : 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)))) ) ) ) ).
fof(lameq_f2094,axiom,
! [A_27b,A_27c,A_27a,V1b] :
( mem(V1b,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ! [V0f] :
( mem(V0f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V2x] : 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)) ) ) ).
fof(ax_thm_2Econtainer_2EBAG__OF__FMAP__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f] :
( mem(V0f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V1b] :
( 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) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__OF__FMAP__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [A_27e] :
( ne(A_27e)
=> ! [A_27f] :
( ne(A_27f)
=> ( ! [V0f] :
( 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] :
( mem(V1f,arr(A_27d,arr(A_27e,A_27f)))
=> ! [V2b] :
( mem(V2b,ty_2Efinite__map_2Efmap(A_27d,A_27e))
=> ! [V3k] :
( mem(V3k,A_27d)
=> ! [V4v] :
( 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))) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EBAG__IN__BAG__OF__FMAP,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0x] :
( mem(V0x,A_27a)
=> ! [V1f] :
( mem(V1f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V2b] :
( 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] :
( 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)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Econtainer_2EFINITE__BAG__OF__FMAP,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f] :
( mem(V0f,arr(A_27a,arr(A_27b,A_27c)))
=> ! [V1b] :
( 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))) ) ) ) ) ) ).
%------------------------------------------------------------------------------