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))) ) ) ) ) ) ).

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