ITP001 Axioms: ITP045^7.ax
%------------------------------------------------------------------------------
% File : ITP045^7 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 syntactic export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : bag.ax [Gau19]
% : HL4045^7.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 348 ( 73 unt; 81 typ; 0 def)
% Number of atoms : 893 ( 234 equ; 43 cnn)
% Maximal formula atoms : 66 ( 2 avg)
% Number of connectives : 3999 ( 43 ~; 19 |; 177 &;3481 @)
% ( 83 <=>; 196 =>; 0 <=; 0 <~>)
% Maximal formula depth : 38 ( 8 avg;3481 nst)
% Number of types : 3 ( 2 usr)
% Number of type conns : 956 ( 956 >; 0 *; 0 +; 0 <<)
% Number of symbols : 81 ( 79 usr; 4 con; 0-6 aty)
% Number of variables : 1166 ( 20 ^1046 !; 32 ?;1166 :)
% ( 68 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Emin_2Ebool,type,
tyop_2Emin_2Ebool: $tType ).
thf(tyop_2Emin_2Efun,type,
tyop_2Emin_2Efun: $tType > $tType > $tType ).
thf(tyop_2Enum_2Enum,type,
tyop_2Enum_2Enum: $tType ).
thf(tyop_2Epair_2Eprod,type,
tyop_2Epair_2Eprod: $tType > $tType > $tType ).
thf(c_2Ebool_2E_21,type,
c_2Ebool_2E_21:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Earithmetic_2E_2A,type,
c_2Earithmetic_2E_2A: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2E_2B,type,
c_2Earithmetic_2E_2B: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Epair_2E_2C,type,
c_2Epair_2E_2C:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) ).
thf(c_2Earithmetic_2E_2D,type,
c_2Earithmetic_2E_2D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_2F_5C,type,
c_2Ebool_2E_2F_5C: $o > $o > $o ).
thf(c_2Enum_2E0,type,
c_2Enum_2E0: tyop_2Enum_2Enum ).
thf(c_2Eprim__rec_2E_3C,type,
c_2Eprim__rec_2E_3C: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Earithmetic_2E_3C_3D,type,
c_2Earithmetic_2E_3C_3D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Emin_2E_3D,type,
c_2Emin_2E_3D:
!>[A_27a: $tType] : ( A_27a > A_27a > $o ) ).
thf(c_2Emin_2E_3D_3D_3E,type,
c_2Emin_2E_3D_3D_3E: $o > $o > $o ).
thf(c_2Earithmetic_2E_3E,type,
c_2Earithmetic_2E_3E: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Earithmetic_2E_3E_3D,type,
c_2Earithmetic_2E_3E_3D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Ebool_2E_3F,type,
c_2Ebool_2E_3F:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Ebag_2EBAG__ALL__DISTINCT,type,
c_2Ebag_2EBAG__ALL__DISTINCT:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2EBAG__CARD,type,
c_2Ebag_2EBAG__CARD:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__CARD__RELn,type,
c_2Ebag_2EBAG__CARD__RELn:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > $o ) ).
thf(c_2Ebag_2EBAG__CHOICE,type,
c_2Ebag_2EBAG__CHOICE:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > A_27a ) ).
thf(c_2Ebag_2EBAG__DELETE,type,
c_2Ebag_2EBAG__DELETE:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > A_27a > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2EBAG__DIFF,type,
c_2Ebag_2EBAG__DIFF:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__DISJOINT,type,
c_2Ebag_2EBAG__DISJOINT:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2EBAG__EVERY,type,
c_2Ebag_2EBAG__EVERY:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2EBAG__FILTER,type,
c_2Ebag_2EBAG__FILTER:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__GEN__PROD,type,
c_2Ebag_2EBAG__GEN__PROD: ( tyop_2Enum_2Enum > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebag_2EBAG__GEN__SUM,type,
c_2Ebag_2EBAG__GEN__SUM: ( tyop_2Enum_2Enum > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebag_2EBAG__IMAGE,type,
c_2Ebag_2EBAG__IMAGE:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > A_27a ) > ( A_27b > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__IN,type,
c_2Ebag_2EBAG__IN:
!>[A_27a: $tType] : ( A_27a > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2EBAG__INN,type,
c_2Ebag_2EBAG__INN:
!>[A_27a: $tType] : ( A_27a > tyop_2Enum_2Enum > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2EBAG__INSERT,type,
c_2Ebag_2EBAG__INSERT:
!>[A_27a: $tType] : ( A_27a > ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__INTER,type,
c_2Ebag_2EBAG__INTER:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__MERGE,type,
c_2Ebag_2EBAG__MERGE:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__OF__SET,type,
c_2Ebag_2EBAG__OF__SET:
!>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__REST,type,
c_2Ebag_2EBAG__REST:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBAG__UNION,type,
c_2Ebag_2EBAG__UNION:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Ebag_2EBIG__BAG__UNION,type,
c_2Ebag_2EBIG__BAG__UNION:
!>[A_27a: $tType] : ( ( ( A_27a > tyop_2Enum_2Enum ) > $o ) > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Earithmetic_2EBIT1,type,
c_2Earithmetic_2EBIT1: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2ECOND,type,
c_2Ebool_2ECOND:
!>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).
thf(c_2Epred__set_2EDELETE,type,
c_2Epred__set_2EDELETE:
!>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a > A_27a > $o ) ).
thf(c_2Epred__set_2EDIFF,type,
c_2Epred__set_2EDIFF:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).
thf(c_2Epred__set_2EDISJOINT,type,
c_2Epred__set_2EDISJOINT:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > $o ) ).
thf(c_2Ebag_2EEL__BAG,type,
c_2Ebag_2EEL__BAG:
!>[A_27a: $tType] : ( A_27a > A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Epred__set_2EEMPTY,type,
c_2Epred__set_2EEMPTY:
!>[A_27a: $tType] : ( A_27a > $o ) ).
thf(c_2Ebag_2EEMPTY__BAG,type,
c_2Ebag_2EEMPTY__BAG:
!>[A_27a: $tType] : ( A_27a > tyop_2Enum_2Enum ) ).
thf(c_2Epred__set_2EFINITE,type,
c_2Epred__set_2EFINITE:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Ebag_2EFINITE__BAG,type,
c_2Ebag_2EFINITE__BAG:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Epred__set_2EGSPEC,type,
c_2Epred__set_2EGSPEC:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > ( tyop_2Epair_2Eprod @ A_27a @ $o ) ) > A_27a > $o ) ).
thf(c_2Ecombin_2EI,type,
c_2Ecombin_2EI:
!>[A_27a: $tType] : ( A_27a > A_27a ) ).
thf(c_2Epred__set_2EIMAGE,type,
c_2Epred__set_2EIMAGE:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( A_27a > $o ) > A_27b > $o ) ).
thf(c_2Ebool_2EIN,type,
c_2Ebool_2EIN:
!>[A_27a: $tType] : ( A_27a > ( A_27a > $o ) > $o ) ).
thf(c_2Epred__set_2EINSERT,type,
c_2Epred__set_2EINSERT:
!>[A_27a: $tType] : ( A_27a > ( A_27a > $o ) > A_27a > $o ) ).
thf(c_2Epred__set_2EINTER,type,
c_2Epred__set_2EINTER:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).
thf(c_2Ebag_2EITBAG,type,
c_2Ebag_2EITBAG:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27b ) > ( A_27a > tyop_2Enum_2Enum ) > A_27b > A_27b ) ).
thf(c_2Epred__set_2EITSET,type,
c_2Epred__set_2EITSET:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27b ) > ( A_27a > $o ) > A_27b > A_27b ) ).
thf(c_2Ecombin_2EK,type,
c_2Ecombin_2EK:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > A_27a ) ).
thf(c_2Ebool_2ELET,type,
c_2Ebool_2ELET:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > A_27a > A_27b ) ).
thf(c_2Earithmetic_2ENUMERAL,type,
c_2Earithmetic_2ENUMERAL: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebag_2EPSUB__BAG,type,
c_2Ebag_2EPSUB__BAG:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ebag_2ESET__OF__BAG,type,
c_2Ebag_2ESET__OF__BAG:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > A_27a > $o ) ).
thf(c_2Ebag_2ESING__BAG,type,
c_2Ebag_2ESING__BAG:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Epred__set_2ESUBSET,type,
c_2Epred__set_2ESUBSET:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > $o ) ).
thf(c_2Ebag_2ESUB__BAG,type,
c_2Ebag_2ESUB__BAG:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Enum_2ESUC,type,
c_2Enum_2ESUC: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Epred__set_2ESUM__IMAGE,type,
c_2Epred__set_2ESUM__IMAGE:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > $o ) > tyop_2Enum_2Enum ) ).
thf(c_2Ebool_2ET,type,
c_2Ebool_2ET: $o ).
thf(c_2Erelation_2ETC,type,
c_2Erelation_2ETC:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > A_27a > A_27a > $o ) ).
thf(c_2Epred__set_2EUNION,type,
c_2Epred__set_2EUNION:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).
thf(c_2Erelation_2EWF,type,
c_2Erelation_2EWF:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).
thf(c_2Erelation_2EWFP,type,
c_2Erelation_2EWFP:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > A_27a > $o ) ).
thf(c_2Earithmetic_2EZERO,type,
c_2Earithmetic_2EZERO: tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_5C_2F,type,
c_2Ebool_2E_5C_2F: $o > $o > $o ).
thf(c_2Ebag_2Ebag__size,type,
c_2Ebag_2Ebag__size:
!>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum ) ).
thf(c_2Edivides_2Edivides,type,
c_2Edivides_2Edivides: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Ebag_2Edominates,type,
c_2Ebag_2Edominates:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > $o ) > ( A_27a > $o ) > ( A_27b > $o ) > $o ) ).
thf(c_2Ebag_2Emlt1,type,
c_2Ebag_2Emlt1:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > tyop_2Enum_2Enum ) > $o ) ).
thf(c_2Ecombin_2Eo,type,
c_2Ecombin_2Eo:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27c > A_27b ) > ( A_27a > A_27c ) > A_27a > A_27b ) ).
thf(c_2Erelation_2Etransitive,type,
c_2Erelation_2Etransitive:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).
thf(c_2Ebool_2E_7E,type,
c_2Ebool_2E_7E: $o > $o ).
thf(logicdef_2E_2F_5C,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_2F_5C @ V0 @ V1 )
<=> ( V0
& V1 ) ) ).
thf(logicdef_2E_5C_2F,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_5C_2F @ V0 @ V1 )
<=> ( V0
| V1 ) ) ).
thf(logicdef_2E_7E,axiom,
! [V0: $o] :
( ( c_2Ebool_2E_7E @ V0 )
<=> ( (~) @ V0 ) ) ).
thf(logicdef_2E_3D_3D_3E,axiom,
! [V0: $o,V1: $o] :
( ( c_2Emin_2E_3D_3D_3E @ V0 @ V1 )
<=> ( V0
=> V1 ) ) ).
thf(logicdef_2E_3D,axiom,
! [A_27a: $tType,V0: A_27a,V1: A_27a] :
( ( c_2Emin_2E_3D @ A_27a @ V0 @ V1 )
<=> ( V0 = V1 ) ) ).
thf(quantdef_2E_21,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_21 @ A_27a @ V0f )
<=> ! [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(quantdef_2E_3F,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_3F @ A_27a @ V0f )
<=> ? [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(thm_2Ebag_2EEMPTY__BAG,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2EEMPTY__BAG @ A_27a )
= ( c_2Ecombin_2EK @ tyop_2Enum_2Enum @ A_27a @ c_2Enum_2E0 ) ) ).
thf(thm_2Ebag_2EBAG__INN,axiom,
! [A_27a: $tType,V0e: A_27a,V1n: tyop_2Enum_2Enum,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V0e @ V1n @ V2b )
= ( c_2Earithmetic_2E_3E_3D @ ( V2b @ V0e ) @ V1n ) ) ).
thf(thm_2Ebag_2ESUB__BAG,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
<=> ! [V2x: A_27a,V3n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V2x @ V3n @ V0b1 )
=> ( c_2Ebag_2EBAG__INN @ A_27a @ V2x @ V3n @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EPSUB__BAG,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 )
<=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
& ( (~) @ ( V0b1 = V1b2 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__IN,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b )
= ( c_2Ebag_2EBAG__INN @ A_27a @ V0e @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ V1b ) ) ).
thf(thm_2Ebag_2EBAG__UNION,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1c: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b @ V1c )
= ( ^ [V2x: A_27a] : ( c_2Earithmetic_2E_2B @ ( V0b @ V2x ) @ ( V1c @ V2x ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V1b2 )
= ( ^ [V2x: A_27a] : ( c_2Earithmetic_2E_2D @ ( V0b1 @ V2x ) @ ( V1b2 @ V2x ) ) ) ) ).
thf(thm_2Ebag_2EBAG__INSERT,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b )
= ( ^ [V2x: A_27a] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Emin_2E_3D @ A_27a @ V2x @ V0e ) @ ( c_2Earithmetic_2E_2B @ ( V1b @ V0e ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( V1b @ V2x ) ) ) ) ).
thf(thm_2Ebag_2EBAG__INTER,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INTER @ A_27a @ V0b1 @ V1b2 )
= ( ^ [V2x: A_27a] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Eprim__rec_2E_3C @ ( V0b1 @ V2x ) @ ( V1b2 @ V2x ) ) @ ( V0b1 @ V2x ) @ ( V1b2 @ V2x ) ) ) ) ).
thf(thm_2Ebag_2EBAG__MERGE,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__MERGE @ A_27a @ V0b1 @ V1b2 )
= ( ^ [V2x: A_27a] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Eprim__rec_2E_3C @ ( V0b1 @ V2x ) @ ( V1b2 @ V2x ) ) @ ( V1b2 @ V2x ) @ ( V0b1 @ V2x ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1e: A_27a,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V1e @ V2b )
<=> ( V0b0
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ V2b ) ) ) ).
thf(thm_2Ebag_2ESING__BAG,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESING__BAG @ A_27a @ V0b )
<=> ? [V1x: A_27a] :
( V0b
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1x @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2EEL__BAG,axiom,
! [A_27a: $tType,V0e: A_27a] :
( ( c_2Ebag_2EEL__BAG @ A_27a @ V0e )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b )
= ( ^ [V1x: A_27a] : ( c_2Ebag_2EBAG__IN @ A_27a @ V1x @ V0b ) ) ) ).
thf(thm_2Ebag_2EBAG__OF__SET,axiom,
! [A_27a: $tType,V0P: A_27a > $o] :
( ( c_2Ebag_2EBAG__OF__SET @ A_27a @ V0P )
= ( ^ [V1x: A_27a] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Ebool_2EIN @ A_27a @ V1x @ V0P ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ c_2Enum_2E0 ) ) ) ).
thf(thm_2Ebag_2EBAG__DISJOINT,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V0b1 @ V1b2 )
= ( c_2Epred__set_2EDISJOINT @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b1 ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
<=> ! [V1P: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( ( V1P @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V2b: A_27a > tyop_2Enum_2Enum] :
( ( V1P @ V2b )
=> ! [V3e: A_27a] : ( V1P @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V3e @ V2b ) ) ) )
=> ( V1P @ V0b ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD__RELn,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__CARD__RELn @ A_27a @ V0b @ V1n )
<=> ! [V2P: ( A_27a > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > $o] :
( ( ( V2P @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) @ c_2Enum_2E0 )
& ! [V3b: A_27a > tyop_2Enum_2Enum,V4n: tyop_2Enum_2Enum] :
( ( V2P @ V3b @ V4n )
=> ! [V5e: A_27a] : ( V2P @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V5e @ V3b ) @ ( c_2Enum_2ESUC @ V4n ) ) ) )
=> ( V2P @ V0b @ V1n ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ( c_2Ebag_2EBAG__CARD__RELn @ A_27a @ V0b @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b ) ) ) ).
thf(thm_2Ebag_2EBAG__FILTER__DEF,axiom,
! [A_27a: $tType,V0P: A_27a > $o,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__FILTER @ A_27a @ V0P @ V1b )
= ( ^ [V2e: A_27a] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V0P @ V2e ) @ ( V1b @ V2e ) @ c_2Enum_2E0 ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__DEF,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27b > A_27a,V1b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IMAGE @ A_27a @ A_27b @ V0f @ V1b )
= ( ^ [V2e: A_27a] :
( c_2Ebool_2ELET @ ( A_27b > tyop_2Enum_2Enum ) @ tyop_2Enum_2Enum
@ ^ [V3sb: A_27b > tyop_2Enum_2Enum] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Ebag_2EFINITE__BAG @ A_27b @ V3sb ) @ ( c_2Ebag_2EBAG__CARD @ A_27b @ V3sb ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
@ ( c_2Ebag_2EBAG__FILTER @ A_27b
@ ^ [V4e0: A_27b] : ( c_2Emin_2E_3D @ A_27a @ ( V0f @ V4e0 ) @ V2e )
@ V1b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__CHOICE__DEF,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( (~)
@ ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ ( c_2Ebag_2EBAG__CHOICE @ A_27a @ V0b ) @ V0b ) ) ).
thf(thm_2Ebag_2EBAG__REST__DEF,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__REST @ A_27a @ V0b )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b @ ( c_2Ebag_2EEL__BAG @ A_27a @ ( c_2Ebag_2EBAG__CHOICE @ A_27a @ V0b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__SUM__def,axiom,
! [V0bag: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__SUM @ V0bag @ V1n )
= ( c_2Ebag_2EITBAG @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum @ c_2Earithmetic_2E_2B @ V0bag @ V1n ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__def,axiom,
! [V0bag: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__PROD @ V0bag @ V1n )
= ( c_2Ebag_2EITBAG @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum @ c_2Earithmetic_2E_2A @ V0bag @ V1n ) ) ).
thf(thm_2Ebag_2EBAG__EVERY,axiom,
! [A_27a: $tType,V0P: A_27a > $o,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__EVERY @ A_27a @ V0P @ V1b )
<=> ! [V2e: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V1b )
=> ( V0P @ V2e ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b )
<=> ! [V1e: A_27a] : ( c_2Earithmetic_2E_3C_3D @ ( V0b @ V1e ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__def,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob )
= ( ^ [V1x: A_27a] :
( c_2Epred__set_2ESUM__IMAGE @ ( A_27a > tyop_2Enum_2Enum )
@ ^ [V2b: A_27a > tyop_2Enum_2Enum] : ( V2b @ V1x )
@ V0sob ) ) ) ).
thf(thm_2Ebag_2Emlt1__def,axiom,
! [A_27a: $tType,V0r: A_27a > A_27a > $o,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2Emlt1 @ A_27a @ V0r @ V1b1 @ V2b2 )
<=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b2 )
& ? [V3e: A_27a,V4rep: A_27a > tyop_2Enum_2Enum,V5res: A_27a > tyop_2Enum_2Enum] :
( ( V1b1
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V4rep @ V5res ) )
& ( V2b2
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V5res @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V3e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) )
& ! [V6e_27: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V6e_27 @ V4rep )
=> ( V0r @ V6e_27 @ V3e ) ) ) ) ) ).
thf(thm_2Ebag_2Edominates__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1s1: A_27a > $o,V2s2: A_27b > $o] :
( ( c_2Ebag_2Edominates @ A_27a @ A_27b @ V0R @ V1s1 @ V2s2 )
<=> ! [V3x: A_27a] :
( ( c_2Ebool_2EIN @ A_27a @ V3x @ V1s1 )
=> ? [V4y: A_27b] :
( ( c_2Ebool_2EIN @ A_27b @ V4y @ V2s2 )
& ( V0R @ V3x @ V4y ) ) ) ) ).
thf(thm_2Ebag_2Ebag__size__def,axiom,
! [A_27a: $tType,V0eltsize: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2Ebag__size @ A_27a @ V0eltsize @ V1b )
= ( c_2Ebag_2EITBAG @ A_27a @ tyop_2Enum_2Enum
@ ^ [V2e: A_27a,V3acc: tyop_2Enum_2Enum] : ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( V0eltsize @ V2e ) ) @ V3acc )
@ V1b
@ c_2Enum_2E0 ) ) ).
thf(thm_2Ebag_2EEMPTY__BAG__alt,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2EEMPTY__BAG @ A_27a )
= ( ^ [V0x: A_27a] : c_2Enum_2E0 ) ) ).
thf(thm_2Ebag_2EBAG__cases,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
| ? [V1b0: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( V0b
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e @ V1b0 ) ) ) ).
thf(thm_2Ebag_2EBAG__MERGE__IDEM,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__MERGE @ A_27a @ V0b @ V0b )
= V0b ) ).
thf(thm_2Ebag_2EBAG__INN__0,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e: A_27a] : ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ c_2Enum_2E0 @ V0b ) ).
thf(thm_2Ebag_2EBAG__INN__LESS,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e: A_27a,V2n: tyop_2Enum_2Enum,V3m: tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V2n @ V0b )
& ( c_2Eprim__rec_2E_3C @ V3m @ V2n ) )
=> ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V3m @ V0b ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__INSERT,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e1: A_27a,V2e2: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V1e1 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e2 @ V0b ) )
<=> ( ( V1e1 = V2e2 )
| ( c_2Ebag_2EBAG__IN @ A_27a @ V1e1 @ V0b ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__BAG__INSERT,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2e1: A_27a,V3e2: A_27a] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e1 @ V0n @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V3e2 @ V1b ) )
<=> ( ( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e1 @ ( c_2Earithmetic_2E_2D @ V0n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V1b )
& ( V2e1 = V3e2 ) )
| ( c_2Ebag_2EBAG__INN @ A_27a @ V2e1 @ V0n @ V1b ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__BAG__INSERT__STRONG,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum,V2e1: A_27a,V3e2: A_27a] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e1 @ V1n @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V3e2 @ V0b ) )
<=> ( ( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e1 @ ( c_2Earithmetic_2E_2D @ V1n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V0b )
& ( V2e1 = V3e2 ) )
| ( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e1 @ V1n @ V0b )
& ( (~) @ ( V2e1 = V3e2 ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__UNION__EQ__LCANCEL1,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum] :
( ( V1b
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b @ V0c ) )
<=> ( V0c
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2EBAG__UNION__EQ__RCANCEL1,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum] :
( ( V1b
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V0c @ V1b ) )
<=> ( V0c
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) )
<=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V0b1 )
| ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__BAG__UNION,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1e: A_27a,V2b1: A_27a > tyop_2Enum_2Enum,V3b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V0n @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b1 @ V3b2 ) )
<=> ? [V4m1: tyop_2Enum_2Enum,V5m2: tyop_2Enum_2Enum] :
( ( V0n
= ( c_2Earithmetic_2E_2B @ V4m1 @ V5m2 ) )
& ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V4m1 @ V2b1 )
& ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V5m2 @ V3b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__BAG__MERGE,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1e: A_27a,V2b1: A_27a > tyop_2Enum_2Enum,V3b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V0n @ ( c_2Ebag_2EBAG__MERGE @ A_27a @ V2b1 @ V3b2 ) )
<=> ( ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V0n @ V2b1 )
| ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V0n @ V3b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__MERGE,axiom,
! [A_27a: $tType,V0e: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ ( c_2Ebag_2EBAG__MERGE @ A_27a @ V1b1 @ V2b2 ) )
<=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b1 )
| ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V2b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__EXTENSION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( V0b1 = V1b2 )
<=> ! [V2n: tyop_2Enum_2Enum,V3e: A_27a] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V3e @ V2n @ V0b1 )
= ( c_2Ebag_2EBAG__INN @ A_27a @ V3e @ V2n @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__UNION__INSERT,axiom,
! [A_27a: $tType,V0e: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b1 ) @ V2b2 )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ V2b2 ) ) )
& ( ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2b2 ) )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ V2b2 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__DIFF,axiom,
! [A_27a: $tType,V0x: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( (~)
@ ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b )
= V1b ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__NOT__EMPTY,axiom,
! [A_27a: $tType,V0x: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( (~)
@ ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__ONE__ONE,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2x: A_27a] :
( ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2x @ V0b1 )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2x @ V1b2 ) )
<=> ( V0b1 = V1b2 ) ) ).
thf(thm_2Ebag_2EC__BAG__INSERT__ONE__ONE,axiom,
! [A_27a: $tType,V0x: A_27a,V1y: A_27a,V2b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V2b )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1y @ V2b ) )
<=> ( V0x = V1y ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__commutes,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e1: A_27a,V2e2: A_27a] :
( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e1 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e2 @ V0b ) )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e2 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e1 @ V0b ) ) ) ).
thf(thm_2Ebag_2EBAG__DECOMPOSE,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b )
=> ? [V2b_27: A_27a > tyop_2Enum_2Enum] :
( V1b
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2b_27 ) ) ) ).
thf(thm_2Ebag_2EBAG__UNION__LEFT__CANCEL,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b @ V1b1 )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b @ V2b2 ) )
<=> ( V1b1 = V2b2 ) ) ).
thf(thm_2Ebag_2ECOMM__BAG__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V0b1 ) ) ).
thf(thm_2Ebag_2EBAG__UNION__RIGHT__CANCEL,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ V0b )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b2 @ V0b ) )
<=> ( V1b1 = V2b2 ) ) ).
thf(thm_2Ebag_2EASSOC__BAG__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V2b3 ) )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ V2b3 ) ) ).
thf(thm_2Ebag_2EBAG__UNION__EMPTY,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType] :
( ! [V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= V0b )
& ! [V1b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__UNION @ A_27b @ ( c_2Ebag_2EEMPTY__BAG @ A_27b ) @ V1b )
= V1b )
& ! [V2b1: A_27c > tyop_2Enum_2Enum,V3b2: A_27c > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__UNION @ A_27c @ V2b1 @ V3b2 )
= ( c_2Ebag_2EEMPTY__BAG @ A_27c ) )
<=> ( ( V2b1
= ( c_2Ebag_2EEMPTY__BAG @ A_27c ) )
& ( V3b2
= ( c_2Ebag_2EEMPTY__BAG @ A_27c ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__EMPTY,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] : ( (~) @ ( c_2Ebag_2EBAG__DELETE @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) @ V0e @ V1b ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__commutes,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum,V3e1: A_27a,V4e2: A_27a] :
( ( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V3e1 @ V1b1 )
& ( c_2Ebag_2EBAG__DELETE @ A_27a @ V1b1 @ V4e2 @ V2b2 ) )
=> ? [V5b_27: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V4e2 @ V5b_27 )
& ( c_2Ebag_2EBAG__DELETE @ A_27a @ V5b_27 @ V3e1 @ V2b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__11,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1e1: A_27a,V2e2: A_27a,V3b1: A_27a > tyop_2Enum_2Enum,V4b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V1e1 @ V3b1 )
& ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V2e2 @ V4b2 ) )
=> ( ( V1e1 = V2e2 )
<=> ( V3b1 = V4b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__BAG__DELETE,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum,V2e: A_27a] :
( ( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e @ V1n @ V0b )
& ( c_2Earithmetic_2E_3E @ V1n @ c_2Enum_2E0 ) )
=> ? [V3b_27: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b @ V2e @ V3b_27 ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__DELETE,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V1e @ V0b )
=> ? [V2b_27: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b @ V1e @ V2b_27 ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__INSERT,axiom,
! [A_27a: $tType,V0x: A_27a,V1y: A_27a,V2b1: A_27a > tyop_2Enum_2Enum,V3b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V2b1 ) @ V1y @ V3b2 )
=> ( ( ( V0x = V1y )
& ( V2b1 = V3b2 ) )
| ( ? [V4b3: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2EBAG__DELETE @ A_27a @ V2b1 @ V1y @ V4b3 )
& ( (~) @ ( V0x = V1y ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__BAG__IN__up,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V2e @ V1b )
=> ! [V3e_27: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V3e_27 @ V1b )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V3e_27 @ V0b0 ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__BAG__IN__down,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2e1: A_27a,V3e2: A_27a] :
( ( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V2e1 @ V1b )
& ( (~) @ ( V2e1 = V3e2 ) )
& ( c_2Ebag_2EBAG__IN @ A_27a @ V3e2 @ V0b0 ) )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V3e2 @ V1b ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__BAG__IN,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V2e @ V1b )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V0b0 ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__concrete,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V2e @ V1b )
<=> ( ( c_2Earithmetic_2E_3E @ ( V0b0 @ V2e ) @ c_2Enum_2E0 )
& ( V1b
= ( ^ [V3x: A_27a] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Emin_2E_3D @ A_27a @ V3x @ V2e ) @ ( c_2Earithmetic_2E_2D @ ( V0b0 @ V2e ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( V0b0 @ V3x ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__UNION__DIFF__eliminate,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b @ V0c ) @ V0c )
= V1b )
& ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0c @ V1b ) @ V0c )
= V1b ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__EQUAL,axiom,
! [A_27a: $tType,V0b: A_27a,V1a: A_27a,V2N: A_27a > tyop_2Enum_2Enum,V3M: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1a @ V3M )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0b @ V2N ) )
<=> ( ( ( V3M = V2N )
& ( V1a = V0b ) )
| ? [V4k: A_27a > tyop_2Enum_2Enum] :
( ( V3M
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0b @ V4k ) )
& ( V2N
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1a @ V4k ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__TWICE,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1e1: A_27a,V2e2: A_27a,V3b1: A_27a > tyop_2Enum_2Enum,V4b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V1e1 @ V3b1 )
& ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V2e2 @ V4b2 )
& ( (~) @ ( V3b1 = V4b2 ) ) )
=> ? [V5b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V3b1 @ V2e2 @ V5b )
& ( c_2Ebag_2EBAG__DELETE @ A_27a @ V4b2 @ V1e1 @ V5b ) ) ) ).
thf(thm_2Ebag_2ESING__BAG__THM,axiom,
! [A_27a: $tType,V0e: A_27a] : ( c_2Ebag_2ESING__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2EEL__BAG__11,axiom,
! [A_27a: $tType,V0x: A_27a,V1y: A_27a] :
( ( ( c_2Ebag_2EEL__BAG @ A_27a @ V0x )
= ( c_2Ebag_2EEL__BAG @ A_27a @ V1y ) )
=> ( V0x = V1y ) ) ).
thf(thm_2Ebag_2EEL__BAG__INSERT__squeeze,axiom,
! [A_27a: $tType,V0x: A_27a,V1b: A_27a > tyop_2Enum_2Enum,V2y: A_27a] :
( ( ( c_2Ebag_2EEL__BAG @ A_27a @ V0x )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2y @ V1b ) )
=> ( ( V0x = V2y )
& ( V1b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2ESING__EL__BAG,axiom,
! [A_27a: $tType,V0e: A_27a] : ( c_2Ebag_2ESING__BAG @ A_27a @ ( c_2Ebag_2EEL__BAG @ A_27a @ V0e ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__UNION,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e: A_27a] :
( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ V0b )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EEL__BAG @ A_27a @ V1e ) @ V0b ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__EQ__UNION,axiom,
! [A_27a: $tType,V0e: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum,V3b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V3b )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ V2b2 ) )
=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b1 )
| ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V2b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__SING,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e: A_27a] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b @ V1e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
=> ( c_2Ebag_2ESING__BAG @ A_27a @ V0b ) ) ).
thf(thm_2Ebag_2ENOT__IN__EMPTY__BAG,axiom,
! [A_27a: $tType,V0x: A_27a] : ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V0x @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__EMPTY__BAG,axiom,
! [A_27a: $tType,V0e: A_27a,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V0e @ V1n @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
<=> ( V1n = c_2Enum_2E0 ) ) ).
thf(thm_2Ebag_2EMEMBER__NOT__EMPTY,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ? [V1x: A_27a] : ( c_2Ebag_2EBAG__IN @ A_27a @ V1x @ V0b )
<=> ( (~)
@ ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__LEQ,axiom,
! [A_27a: $tType,V0b2: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b1 @ V0b2 )
<=> ! [V2x: A_27a] : ( c_2Earithmetic_2E_3C_3D @ ( V1b1 @ V2x ) @ ( V0b2 @ V2x ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__EMPTY,axiom,
! [A_27a: $tType] :
( ! [V0b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) @ V0b )
& ! [V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
<=> ( V1b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__REFL,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b @ V0b ) ).
thf(thm_2Ebag_2EPSUB__BAG__IRREFL,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] : ( (~) @ ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b @ V0b ) ) ).
thf(thm_2Ebag_2ESUB__BAG__ANTISYM,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V0b1 ) )
=> ( V0b1 = V1b2 ) ) ).
thf(thm_2Ebag_2EPSUB__BAG__ANTISYM,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( (~)
@ ( ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 )
& ( c_2Ebag_2EPSUB__BAG @ A_27a @ V1b2 @ V0b1 ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__TRANS,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V2b3 ) )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V2b3 ) ) ).
thf(thm_2Ebag_2EPSUB__BAG__TRANS,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 )
& ( c_2Ebag_2EPSUB__BAG @ A_27a @ V1b2 @ V2b3 ) )
=> ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V2b3 ) ) ).
thf(thm_2Ebag_2EPSUB__BAG__SUB__BAG,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 ) ) ).
thf(thm_2Ebag_2EPSUB__BAG__NOT__EQ,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 )
=> ( (~) @ ( V0b1 = V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__EMPTY,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
( ! [V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b @ V0b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V1b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27b @ V1b @ ( c_2Ebag_2EEMPTY__BAG @ A_27b ) )
= V1b )
& ! [V2b: A_27c > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27c @ ( c_2Ebag_2EEMPTY__BAG @ A_27c ) @ V2b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27c ) )
& ! [V3b1: A_27d > tyop_2Enum_2Enum,V4b2: A_27d > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27d @ V3b1 @ V4b2 )
=> ( ( c_2Ebag_2EBAG__DIFF @ A_27d @ V3b1 @ V4b2 )
= ( c_2Ebag_2EEMPTY__BAG @ A_27d ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__EMPTY__simple,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType] :
( ! [V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b @ V0b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V1b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27b @ V1b @ ( c_2Ebag_2EEMPTY__BAG @ A_27b ) )
= V1b )
& ! [V2b: A_27c > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27c @ ( c_2Ebag_2EEMPTY__BAG @ A_27c ) @ V2b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27c ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__EQ__EMPTY,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b @ V0c )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
<=> ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b @ V0c ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__INSERT__same,axiom,
! [A_27a: $tType,V0x: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b1 ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V2b2 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b1 @ V2b2 ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__INSERT,axiom,
! [A_27a: $tType,V0x: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V0x @ V1b1 ) )
=> ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V2b2 ) @ V1b1 )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b2 @ V1b1 ) ) ) ) ).
thf(thm_2Ebag_2ENOT__IN__BAG__DIFF,axiom,
! [A_27a: $tType,V0x: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V0x @ V1b1 ) )
=> ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b1 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V2b2 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b1 @ V2b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__IN__DIFF__I,axiom,
! [A_27a: $tType,V0e: A_27a,V1b2: A_27a > tyop_2Enum_2Enum,V2b1: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V2b1 )
& ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b2 ) ) )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__IN__DIFF__E,axiom,
! [A_27a: $tType,V0e: A_27a,V1b2: A_27a > tyop_2Enum_2Enum,V2b1: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b1 @ V1b2 ) )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V2b1 ) ) ).
thf(thm_2Ebag_2EBAG__UNION__DIFF,axiom,
! [A_27a: $tType,V0X: A_27a > tyop_2Enum_2Enum,V1Y: A_27a > tyop_2Enum_2Enum,V2Z: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V2Z @ V1Y )
=> ( ( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0X @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1Y @ V2Z ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0X @ V1Y ) @ V2Z ) )
& ( ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1Y @ V2Z ) @ V0X )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0X @ V1Y ) @ V2Z ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__2L,axiom,
! [A_27a: $tType,V0X: A_27a > tyop_2Enum_2Enum,V1Y: A_27a > tyop_2Enum_2Enum,V2Z: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0X @ V1Y ) @ V2Z )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0X @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1Y @ V2Z ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__2R,axiom,
! [A_27a: $tType,V0A: A_27a > tyop_2Enum_2Enum,V1B: A_27a > tyop_2Enum_2Enum,V2C: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V2C @ V1B )
=> ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0A @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1B @ V2C ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0A @ V2C ) @ V1B ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__BAG__DIFF,axiom,
! [A_27a: $tType,V0X: A_27a > tyop_2Enum_2Enum,V1Y: A_27a > tyop_2Enum_2Enum,V2Y_27: A_27a > tyop_2Enum_2Enum,V3Z: A_27a > tyop_2Enum_2Enum,V4W: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0X @ V1Y ) @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V3Z @ V4W ) )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0X @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1Y @ V2Y_27 ) ) @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V3Z @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V4W @ V2Y_27 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__UNION__eliminate,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V2b3 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b2 @ V2b3 ) )
& ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b3 @ V0b1 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b2 @ V2b3 ) )
& ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V0b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V2b3 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b2 @ V2b3 ) )
& ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V0b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b3 @ V0b1 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b2 @ V2b3 ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__UNION__eliminate,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V2b3 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V2b3 ) )
& ( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b3 @ V0b1 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V2b3 ) )
& ( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V0b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V2b3 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V2b3 ) )
& ( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V0b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b3 @ V0b1 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V2b3 ) ) ) ).
thf(thm_2Ebag_2Emove__BAG__UNION__over__eq,axiom,
! [A_27a: $tType,V0X: A_27a > tyop_2Enum_2Enum,V1Y: A_27a > tyop_2Enum_2Enum,V2Z: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0X @ V1Y )
= V2Z )
=> ( V0X
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2Z @ V1Y ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__UNION,axiom,
! [A_27a: $tType] :
( ! [V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
=> ! [V2b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V2b ) ) )
& ! [V3b1: A_27a > tyop_2Enum_2Enum,V4b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V3b1 @ V4b2 )
=> ! [V5b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V3b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V5b @ V4b2 ) ) )
& ! [V6b1: A_27a > tyop_2Enum_2Enum,V7b2: A_27a > tyop_2Enum_2Enum,V8b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V6b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V7b2 @ V8b3 ) )
=> ! [V9b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V6b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V7b2 @ V9b ) @ V8b3 ) ) )
& ! [V10b1: A_27a > tyop_2Enum_2Enum,V11b2: A_27a > tyop_2Enum_2Enum,V12b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V10b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V11b2 @ V12b3 ) )
=> ! [V13b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V10b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V13b @ V11b2 ) @ V12b3 ) ) )
& ! [V14b1: A_27a > tyop_2Enum_2Enum,V15b2: A_27a > tyop_2Enum_2Enum,V16b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V14b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V16b3 @ V15b2 ) )
=> ! [V17b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V14b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V16b3 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V15b2 @ V17b ) ) ) )
& ! [V18b1: A_27a > tyop_2Enum_2Enum,V19b2: A_27a > tyop_2Enum_2Enum,V20b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V18b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V20b3 @ V19b2 ) )
=> ! [V21b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V18b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V20b3 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V21b @ V19b2 ) ) ) )
& ! [V22b1: A_27a > tyop_2Enum_2Enum,V23b2: A_27a > tyop_2Enum_2Enum,V24b3: A_27a > tyop_2Enum_2Enum,V25b4: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V22b1 @ V24b3 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V23b2 @ V25b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V22b1 @ V23b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V24b3 @ V25b4 ) ) ) )
& ! [V26b1: A_27a > tyop_2Enum_2Enum,V27b2: A_27a > tyop_2Enum_2Enum,V28b3: A_27a > tyop_2Enum_2Enum,V29b4: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V26b1 @ V29b4 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V27b2 @ V28b3 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V26b1 @ V27b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V28b3 @ V29b4 ) ) ) )
& ! [V30b1: A_27a > tyop_2Enum_2Enum,V31b2: A_27a > tyop_2Enum_2Enum,V32b3: A_27a > tyop_2Enum_2Enum,V33b4: A_27a > tyop_2Enum_2Enum,V34b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V30b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V32b3 @ V34b5 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V31b2 @ V33b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V30b1 @ V31b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V32b3 @ V33b4 ) @ V34b5 ) ) ) )
& ! [V35b1: A_27a > tyop_2Enum_2Enum,V36b2: A_27a > tyop_2Enum_2Enum,V37b3: A_27a > tyop_2Enum_2Enum,V38b4: A_27a > tyop_2Enum_2Enum,V39b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V35b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V38b4 @ V39b5 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V36b2 @ V37b3 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V35b1 @ V36b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V37b3 @ V38b4 ) @ V39b5 ) ) ) )
& ! [V40b1: A_27a > tyop_2Enum_2Enum,V41b2: A_27a > tyop_2Enum_2Enum,V42b3: A_27a > tyop_2Enum_2Enum,V43b4: A_27a > tyop_2Enum_2Enum,V44b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V41b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V42b3 @ V44b5 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V40b1 @ V43b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V40b1 @ V41b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V42b3 @ V43b4 ) @ V44b5 ) ) ) )
& ! [V45b1: A_27a > tyop_2Enum_2Enum,V46b2: A_27a > tyop_2Enum_2Enum,V47b3: A_27a > tyop_2Enum_2Enum,V48b4: A_27a > tyop_2Enum_2Enum,V49b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V46b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V48b4 @ V49b5 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V45b1 @ V47b3 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V45b1 @ V46b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V47b3 @ V48b4 ) @ V49b5 ) ) ) )
& ! [V50b1: A_27a > tyop_2Enum_2Enum,V51b2: A_27a > tyop_2Enum_2Enum,V52b3: A_27a > tyop_2Enum_2Enum,V53b4: A_27a > tyop_2Enum_2Enum,V54b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V50b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V54b5 @ V52b3 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V51b2 @ V53b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V51b2 @ V50b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V54b5 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V52b3 @ V53b4 ) ) ) ) )
& ! [V55b1: A_27a > tyop_2Enum_2Enum,V56b2: A_27a > tyop_2Enum_2Enum,V57b3: A_27a > tyop_2Enum_2Enum,V58b4: A_27a > tyop_2Enum_2Enum,V59b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V55b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V59b5 @ V58b4 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V56b2 @ V57b3 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V56b2 @ V55b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V59b5 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V57b3 @ V58b4 ) ) ) ) )
& ! [V60b1: A_27a > tyop_2Enum_2Enum,V61b2: A_27a > tyop_2Enum_2Enum,V62b3: A_27a > tyop_2Enum_2Enum,V63b4: A_27a > tyop_2Enum_2Enum,V64b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V61b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V64b5 @ V62b3 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V60b1 @ V63b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V61b2 @ V60b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V64b5 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V62b3 @ V63b4 ) ) ) ) )
& ! [V65b1: A_27a > tyop_2Enum_2Enum,V66b2: A_27a > tyop_2Enum_2Enum,V67b3: A_27a > tyop_2Enum_2Enum,V68b4: A_27a > tyop_2Enum_2Enum,V69b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V66b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V69b5 @ V68b4 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V65b1 @ V67b3 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V66b2 @ V65b1 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V69b5 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V67b3 @ V68b4 ) ) ) ) )
& ! [V70b1: A_27a > tyop_2Enum_2Enum,V71b2: A_27a > tyop_2Enum_2Enum,V72b3: A_27a > tyop_2Enum_2Enum,V73b4: A_27a > tyop_2Enum_2Enum,V74b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V70b1 @ V71b2 ) @ V73b4 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V72b3 @ V74b5 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V70b1 @ V72b3 ) @ V71b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V73b4 @ V74b5 ) ) ) )
& ! [V75b1: A_27a > tyop_2Enum_2Enum,V76b2: A_27a > tyop_2Enum_2Enum,V77b3: A_27a > tyop_2Enum_2Enum,V78b4: A_27a > tyop_2Enum_2Enum,V79b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V75b1 @ V76b2 ) @ V79b5 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V77b3 @ V78b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V75b1 @ V77b3 ) @ V76b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V78b4 @ V79b5 ) ) ) )
& ! [V80b1: A_27a > tyop_2Enum_2Enum,V81b2: A_27a > tyop_2Enum_2Enum,V82b3: A_27a > tyop_2Enum_2Enum,V83b4: A_27a > tyop_2Enum_2Enum,V84b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V82b3 @ V81b2 ) @ V83b4 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V80b1 @ V84b5 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V80b1 @ V82b3 ) @ V81b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V83b4 @ V84b5 ) ) ) )
& ! [V85b1: A_27a > tyop_2Enum_2Enum,V86b2: A_27a > tyop_2Enum_2Enum,V87b3: A_27a > tyop_2Enum_2Enum,V88b4: A_27a > tyop_2Enum_2Enum,V89b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V87b3 @ V86b2 ) @ V89b5 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V85b1 @ V88b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V85b1 @ V87b3 ) @ V86b2 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V88b4 @ V89b5 ) ) ) )
& ! [V90b1: A_27a > tyop_2Enum_2Enum,V91b2: A_27a > tyop_2Enum_2Enum,V92b3: A_27a > tyop_2Enum_2Enum,V93b4: A_27a > tyop_2Enum_2Enum,V94b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V91b2 @ V90b1 ) @ V93b4 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V92b3 @ V94b5 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V91b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V90b1 @ V92b3 ) ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V94b5 @ V93b4 ) ) ) )
& ! [V95b1: A_27a > tyop_2Enum_2Enum,V96b2: A_27a > tyop_2Enum_2Enum,V97b3: A_27a > tyop_2Enum_2Enum,V98b4: A_27a > tyop_2Enum_2Enum,V99b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V96b2 @ V95b1 ) @ V99b5 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V97b3 @ V98b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V96b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V95b1 @ V97b3 ) ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V99b5 @ V98b4 ) ) ) )
& ! [V100b1: A_27a > tyop_2Enum_2Enum,V101b2: A_27a > tyop_2Enum_2Enum,V102b3: A_27a > tyop_2Enum_2Enum,V103b4: A_27a > tyop_2Enum_2Enum,V104b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V101b2 @ V102b3 ) @ V103b4 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V100b1 @ V104b5 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V101b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V100b1 @ V102b3 ) ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V104b5 @ V103b4 ) ) ) )
& ! [V105b1: A_27a > tyop_2Enum_2Enum,V106b2: A_27a > tyop_2Enum_2Enum,V107b3: A_27a > tyop_2Enum_2Enum,V108b4: A_27a > tyop_2Enum_2Enum,V109b5: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V106b2 @ V107b3 ) @ V109b5 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V105b1 @ V108b4 )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V106b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V105b1 @ V107b3 ) ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V109b5 @ V108b4 ) ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__EL__BAG,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EEL__BAG @ A_27a @ V0e ) @ V1b )
= ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b ) ) ).
thf(thm_2Ebag_2ESUB__BAG__INSERT,axiom,
! [A_27a: $tType,V0e: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b1 ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2b2 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b1 @ V2b2 ) ) ).
thf(thm_2Ebag_2ESUB__BAG__INSERT__I,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1c: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b @ V1c )
=> ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e @ V1c ) ) ) ).
thf(thm_2Ebag_2ENOT__IN__SUB__BAG__INSERT,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V0b1 ) )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e @ V1b2 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__BAG__IN,axiom,
! [A_27a: $tType,V0x: A_27a,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b1 ) @ V2b2 )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V0x @ V2b2 ) ) ).
thf(thm_2Ebag_2ESUB__BAG__EXISTS,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
<=> ? [V2b: A_27a > tyop_2Enum_2Enum] :
( V1b2
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V2b ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__UNION__DIFF,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V2b3 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b3 @ V0b1 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ V2b3 ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__UNION__down,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b3: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) @ V2b3 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V2b3 )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V2b3 ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__DIFF,axiom,
! [A_27a: $tType] :
( ! [V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
=> ! [V2b3: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V2b3 ) @ V1b2 ) )
& ! [V3b1: A_27a > tyop_2Enum_2Enum,V4b2: A_27a > tyop_2Enum_2Enum,V5b3: A_27a > tyop_2Enum_2Enum,V6b4: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V4b2 @ V3b1 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V6b4 @ V5b3 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V3b1 @ V4b2 ) @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V5b3 @ V6b4 ) )
= ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V3b1 @ V6b4 ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V4b2 @ V5b3 ) ) ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__PSUB__BAG,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
<=> ( ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 )
| ( V0b1 = V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__DELETE__PSUB__BAG,axiom,
! [A_27a: $tType,V0b0: A_27a > tyop_2Enum_2Enum,V1e: A_27a,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DELETE @ A_27a @ V0b0 @ V1e @ V2b )
=> ( c_2Ebag_2EPSUB__BAG @ A_27a @ V2b @ V0b0 ) ) ).
thf(thm_2Ebag_2ESET__OF__EMPTY,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2EBAG__OF__SET @ A_27a @ ( c_2Epred__set_2EEMPTY @ A_27a ) )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__OF__SET,axiom,
! [A_27a: $tType,V0P: A_27a > $o,V1p: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V1p @ ( c_2Ebag_2EBAG__OF__SET @ A_27a @ V0P ) )
= ( c_2Ebool_2EIN @ A_27a @ V1p @ V0P ) ) ).
thf(thm_2Ebag_2EBAG__OF__EMPTY,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= ( c_2Epred__set_2EEMPTY @ A_27a ) ) ).
thf(thm_2Ebag_2ESET__BAG__I,axiom,
! [A_27a: $tType,V0s: A_27a > $o] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__OF__SET @ A_27a @ V0s ) )
= V0s ) ).
thf(thm_2Ebag_2ESUB__BAG__SET,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
=> ( c_2Epred__set_2ESUBSET @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b1 ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) )
= ( c_2Epred__set_2EUNION @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b1 ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__MERGE,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__MERGE @ A_27a @ V0b1 @ V1b2 ) )
= ( c_2Epred__set_2EUNION @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b1 ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__INSERT,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b ) )
= ( c_2Epred__set_2EINSERT @ A_27a @ V0e @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b ) ) ) ).
thf(thm_2Ebag_2ESET__OF__EL__BAG,axiom,
! [A_27a: $tType,V0e: A_27a] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EEL__BAG @ A_27a @ V0e ) )
= ( c_2Epred__set_2EINSERT @ A_27a @ V0e @ ( c_2Epred__set_2EEMPTY @ A_27a ) ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__DIFF__SUBSET__down,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] : ( c_2Epred__set_2ESUBSET @ A_27a @ ( c_2Epred__set_2EDIFF @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b1 ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b2 ) ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__DIFF__SUBSET__up,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] : ( c_2Epred__set_2ESUBSET @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V1b2 ) ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b1 ) ) ).
thf(thm_2Ebag_2EIN__SET__OF__BAG,axiom,
! [A_27a: $tType,V0x: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1b ) )
= ( c_2Ebag_2EBAG__IN @ A_27a @ V0x @ V1b ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__EQ__EMPTY,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( ( ( c_2Epred__set_2EEMPTY @ A_27a )
= ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b ) )
<=> ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
& ( ( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b )
= ( c_2Epred__set_2EEMPTY @ A_27a ) )
<=> ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DISJOINT__EMPTY,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V0b @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) @ V0b ) ) ).
thf(thm_2Ebag_2EBAG__DISJOINT__DIFF,axiom,
! [A_27a: $tType,V0B1: A_27a > tyop_2Enum_2Enum,V1B2: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0B1 @ V1B2 ) @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1B2 @ V0B1 ) ) ).
thf(thm_2Ebag_2EBAG__DISJOINT__BAG__IN,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V0b1 @ V1b2 )
<=> ! [V2e: A_27a] :
( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V0b1 ) )
| ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V1b2 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DISJOINT__BAG__INSERT,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2e1: A_27a] :
( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e1 @ V0b1 ) @ V1b2 )
<=> ( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V2e1 @ V1b2 ) )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V0b1 @ V1b2 ) ) )
& ! [V3b1: A_27b > tyop_2Enum_2Enum,V4b2: A_27b > tyop_2Enum_2Enum,V5e2: A_27b] :
( ( c_2Ebag_2EBAG__DISJOINT @ A_27b @ V3b1 @ ( c_2Ebag_2EBAG__INSERT @ A_27b @ V5e2 @ V4b2 ) )
<=> ( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27b @ V5e2 @ V3b1 ) )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27b @ V3b1 @ V4b2 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DISJOINT__BAG__UNION,axiom,
! [A_27a: $tType,V0b3: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2b1: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V2b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b2 @ V0b3 ) )
<=> ( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V2b1 @ V1b2 )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V2b1 @ V0b3 ) ) )
& ( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b1 @ V1b2 ) @ V0b3 )
<=> ( ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V2b1 @ V0b3 )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V1b2 @ V0b3 ) ) ) ) ).
thf(thm_2Ebag_2EFINITE__EMPTY__BAG,axiom,
! [A_27a: $tType] : ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__INSERT,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ! [V1e: A_27a] : ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ V0b ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__INDUCT,axiom,
! [A_27a: $tType,V0P: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( ( V0P @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V1b: A_27a > tyop_2Enum_2Enum] :
( ( V0P @ V1b )
=> ! [V2e: A_27a] : ( V0P @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e @ V1b ) ) ) )
=> ! [V3b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V3b )
=> ( V0P @ V3b ) ) ) ).
thf(thm_2Ebag_2ESTRONG__FINITE__BAG__INDUCT,axiom,
! [A_27a: $tType,V0P: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( ( V0P @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V1b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b )
& ( V0P @ V1b ) )
=> ! [V2e: A_27a] : ( V0P @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e @ V1b ) ) ) )
=> ! [V3b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V3b )
=> ( V0P @ V3b ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__THM,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b ) )
= ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__DIFF,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b1 )
=> ! [V1b2: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__DIFF__dual,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b1 )
=> ! [V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b2 @ V0b1 ) )
=> ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) )
<=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EFINITE__SUB__BAG,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b1 )
=> ! [V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b2 @ V0b1 )
=> ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD__EMPTY,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2EBAG__CARD @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= c_2Enum_2E0 ) ).
thf(thm_2Ebag_2EBCARD__0,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ( ( ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b )
= c_2Enum_2E0 )
<=> ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD__THM,axiom,
! [A_27a: $tType] :
( ( ( c_2Ebag_2EBAG__CARD @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= c_2Enum_2E0 )
& ! [V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ! [V1e: A_27a] :
( ( c_2Ebag_2EBAG__CARD @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ V0b ) )
= ( c_2Earithmetic_2E_2B @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 ) )
=> ( ( c_2Ebag_2EBAG__CARD @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) )
= ( c_2Earithmetic_2E_2B @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b1 ) @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V1b2 ) ) ) ) ).
thf(thm_2Ebag_2EBCARD__SUC,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ! [V1n: tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b )
= ( c_2Enum_2ESUC @ V1n ) )
<=> ? [V2b0: A_27a > tyop_2Enum_2Enum,V3e: A_27a] :
( ( V0b
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V3e @ V2b0 ) )
& ( ( c_2Ebag_2EBAG__CARD @ A_27a @ V2b0 )
= V1n ) ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD__BAG__INN,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ! [V1n: tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e @ V1n @ V0b )
=> ( c_2Earithmetic_2E_3C_3D @ V1n @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__DIFF__EQ,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
=> ( V1b2
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b2 @ V0b1 ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__CARD,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 ) )
=> ( c_2Earithmetic_2E_3C_3D @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b1 ) @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__CARD__DIFF,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ! [V1c: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1c @ V0b )
=> ( ( c_2Ebag_2EBAG__CARD @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b @ V1c ) )
= ( c_2Earithmetic_2E_2D @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b ) @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V1c ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__FILTER__EMPTY,axiom,
! [A_27a: $tType,V0P: A_27a > $o] :
( ( c_2Ebag_2EBAG__FILTER @ A_27a @ V0P @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ).
thf(thm_2Ebag_2EBAG__FILTER__BAG__INSERT,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum,V2P: A_27a > $o] :
( ( c_2Ebag_2EBAG__FILTER @ A_27a @ V2P @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b ) )
= ( c_2Ebool_2ECOND @ ( A_27a > tyop_2Enum_2Enum ) @ ( V2P @ V0e ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V2P @ V1b ) ) @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V2P @ V1b ) ) ) ).
thf(thm_2Ebag_2EFINITE__BAG__FILTER,axiom,
! [A_27a: $tType,V0P: A_27a > $o,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b )
=> ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V0P @ V1b ) ) ) ).
thf(thm_2Ebag_2EBAG__INN__BAG__FILTER,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1e: A_27a,V2b: A_27a > tyop_2Enum_2Enum,V3P: A_27a > $o] :
( ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V0n @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V3P @ V2b ) )
<=> ( ( V0n = c_2Enum_2E0 )
| ( ( V3P @ V1e )
& ( c_2Ebag_2EBAG__INN @ A_27a @ V1e @ V0n @ V2b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__FILTER,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum,V2P: A_27a > $o] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V2P @ V1b ) )
<=> ( ( V2P @ V0e )
& ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1b ) ) ) ).
thf(thm_2Ebag_2EBAG__FILTER__FILTER,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1Q: A_27a > $o,V2P: A_27a > $o] :
( ( c_2Ebag_2EBAG__FILTER @ A_27a @ V2P @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V1Q @ V0b ) )
= ( c_2Ebag_2EBAG__FILTER @ A_27a
@ ^ [V3a: A_27a] : ( c_2Ebool_2E_2F_5C @ ( V2P @ V3a ) @ ( V1Q @ V3a ) )
@ V0b ) ) ).
thf(thm_2Ebag_2EBAG__FILTER__SUB__BAG,axiom,
! [A_27a: $tType,V0P: A_27a > $o,V1b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__FILTER @ A_27a @ V0P @ V1b ) @ V1b ) ).
thf(thm_2Ebag_2ESET__OF__BAG__EQ__INSERT,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1e: A_27a,V2s: A_27a > $o] :
( ( ( c_2Epred__set_2EINSERT @ A_27a @ V1e @ V2s )
= ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b ) )
<=> ? [V3b0: A_27a > tyop_2Enum_2Enum,V4eb: A_27a > tyop_2Enum_2Enum] :
( ( V0b
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V4eb @ V3b0 ) )
& ( V2s
= ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V3b0 ) )
& ! [V5e_27: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V5e_27 @ V4eb )
=> ( V5e_27 = V1e ) )
& ( ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V1e @ V2s ) )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V1e @ V4eb ) ) ) ) ).
thf(thm_2Ebag_2EFINITE__SET__OF__BAG,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Epred__set_2EFINITE @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b ) )
= ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__EMPTY,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b] :
( ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V0f @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= ( c_2Ebag_2EEMPTY__BAG @ A_27b ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__FINITE__INSERT,axiom,
! [A_27a: $tType,A_27b: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1f: A_27a > A_27b,V2e: A_27a] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ( ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V1f @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V2e @ V0b ) )
= ( c_2Ebag_2EBAG__INSERT @ A_27b @ ( V1f @ V2e ) @ ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V1f @ V0b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__FINITE__UNION,axiom,
! [A_27a: $tType,A_27b: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2f: A_27a > A_27b] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 ) )
=> ( ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V2f @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) )
= ( c_2Ebag_2EBAG__UNION @ A_27b @ ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V2f @ V0b1 ) @ ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V2f @ V1b2 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__FINITE,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b )
=> ( c_2Ebag_2EFINITE__BAG @ A_27b @ ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V0f @ V1b ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__COMPOSE,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27a > A_27b,V1g: A_27c > A_27a,V2b: A_27c > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27c @ V2b )
=> ( ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27c @ ( c_2Ecombin_2Eo @ A_27c @ A_27b @ A_27a @ V0f @ V1g ) @ V2b )
= ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V0f @ ( c_2Ebag_2EBAG__IMAGE @ A_27a @ A_27c @ V1g @ V2b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__FINITE__I,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ( ( c_2Ebag_2EBAG__IMAGE @ A_27a @ A_27a @ ( c_2Ecombin_2EI @ A_27a ) @ V0b )
= V0b ) ) ).
thf(thm_2Ebag_2EBAG__IN__FINITE__BAG__IMAGE,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27b,V1f: A_27a > A_27b,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b )
=> ( ( c_2Ebag_2EBAG__IN @ A_27b @ V0x @ ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V1f @ V2b ) )
<=> ? [V3y: A_27a] :
( ( ( V1f @ V3y )
= V0x )
& ( c_2Ebag_2EBAG__IN @ A_27a @ V3y @ V2b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__EQ__EMPTY,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b )
=> ( ( ( c_2Ebag_2EBAG__IMAGE @ A_27b @ A_27a @ V0f @ V1b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27b ) )
<=> ( V1b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__CHOICE__REST,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( (~)
@ ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
=> ( V0b
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ ( c_2Ebag_2EBAG__CHOICE @ A_27a @ V0b ) @ ( c_2Ebag_2EBAG__REST @ A_27a @ V0b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__CHOICE__SING,axiom,
! [A_27a: $tType,V0x: A_27a] :
( ( c_2Ebag_2EBAG__CHOICE @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
= V0x ) ).
thf(thm_2Ebag_2EBAG__REST__SING,axiom,
! [A_27a: $tType,V0x: A_27a] :
( ( c_2Ebag_2EBAG__REST @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ).
thf(thm_2Ebag_2ESUB__BAG__REST,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__REST @ A_27a @ V0b ) @ V0b ) ).
thf(thm_2Ebag_2EPSUB__BAG__REST,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( (~)
@ ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
=> ( c_2Ebag_2EPSUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__REST @ A_27a @ V0b ) @ V0b ) ) ).
thf(thm_2Ebag_2ESUB__BAG__UNION__MONO,axiom,
! [A_27a: $tType] :
( ! [V0x: A_27a > tyop_2Enum_2Enum,V1y: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V0x @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0x @ V1y ) )
& ! [V2x: A_27a > tyop_2Enum_2Enum,V3y: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ V2x @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V3y @ V2x ) ) ) ).
thf(thm_2Ebag_2EPSUB__BAG__CARD,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 )
& ( c_2Ebag_2EPSUB__BAG @ A_27a @ V0b1 @ V1b2 ) )
=> ( c_2Eprim__rec_2E_3C @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V0b1 ) @ ( c_2Ebag_2EBAG__CARD @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EEL__BAG__BAG__INSERT,axiom,
! [A_27a: $tType,V0y: A_27a,V1x: A_27a,V2b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1x @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0y @ V2b ) )
<=> ( ( V1x = V0y )
& ( V2b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2EEL__BAG__SUB__BAG,axiom,
! [A_27a: $tType,V0x: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) @ V1b )
= ( c_2Ebag_2EBAG__IN @ A_27a @ V0x @ V1b ) ) ).
thf(thm_2Ebag_2EITBAG__IND,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b > A_27b,V1P: ( A_27a > tyop_2Enum_2Enum ) > A_27b > $o] :
( ! [V2b: A_27a > tyop_2Enum_2Enum,V3acc: A_27b] :
( ( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b )
& ( (~)
@ ( V2b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) )
=> ( V1P @ ( c_2Ebag_2EBAG__REST @ A_27a @ V2b ) @ ( V0f @ ( c_2Ebag_2EBAG__CHOICE @ A_27a @ V2b ) @ V3acc ) ) )
=> ( V1P @ V2b @ V3acc ) )
=> ! [V4v: A_27a > tyop_2Enum_2Enum,V5v1: A_27b] : ( V1P @ V4v @ V5v1 ) ) ).
thf(thm_2Ebag_2EITBAG__THM,axiom,
! [A_27a: $tType,A_27b: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1f: A_27a > A_27b > A_27b,V2acc: A_27b] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b )
=> ( ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V1f @ V0b @ V2acc )
= ( c_2Ebool_2ECOND @ A_27b @ ( c_2Emin_2E_3D @ ( A_27a > tyop_2Enum_2Enum ) @ V0b @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) @ V2acc @ ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V1f @ ( c_2Ebag_2EBAG__REST @ A_27a @ V0b ) @ ( V1f @ ( c_2Ebag_2EBAG__CHOICE @ A_27a @ V0b ) @ V2acc ) ) ) ) ) ).
thf(thm_2Ebag_2EITBAG__EMPTY,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b > A_27b,V1acc: A_27b] :
( ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V0f @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) @ V1acc )
= V1acc ) ).
thf(thm_2Ebag_2EITBAG__INSERT,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1b: A_27a > tyop_2Enum_2Enum,V2f: A_27a > A_27b > A_27b,V3acc: A_27b] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b )
=> ( ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V2f @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b ) @ V3acc )
= ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V2f @ ( c_2Ebag_2EBAG__REST @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b ) ) @ ( V2f @ ( c_2Ebag_2EBAG__CHOICE @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0x @ V1b ) ) @ V3acc ) ) ) ) ).
thf(thm_2Ebag_2ECOMMUTING__ITBAG__INSERT,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b > A_27b,V1b: A_27a > tyop_2Enum_2Enum] :
( ( ! [V2x: A_27a,V3y: A_27a,V4z: A_27b] :
( ( V0f @ V2x @ ( V0f @ V3y @ V4z ) )
= ( V0f @ V3y @ ( V0f @ V2x @ V4z ) ) )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b ) )
=> ! [V5x: A_27a,V6a: A_27b] :
( ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V0f @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V5x @ V1b ) @ V6a )
= ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V0f @ V1b @ ( V0f @ V5x @ V6a ) ) ) ) ).
thf(thm_2Ebag_2ECOMMUTING__ITBAG__RECURSES,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b > A_27b,V1e: A_27a,V2b: A_27a > tyop_2Enum_2Enum,V3a: A_27b] :
( ( ! [V4x: A_27a,V5y: A_27a,V6z: A_27b] :
( ( V0f @ V4x @ ( V0f @ V5y @ V6z ) )
= ( V0f @ V5y @ ( V0f @ V4x @ V6z ) ) )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b ) )
=> ( ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V0f @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ V2b ) @ V3a )
= ( V0f @ V1e @ ( c_2Ebag_2EITBAG @ A_27a @ A_27b @ V0f @ V2b @ V3a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__SUM__EMPTY,axiom,
! [V0n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__SUM @ ( c_2Ebag_2EEMPTY__BAG @ tyop_2Enum_2Enum ) @ V0n )
= V0n ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__EMPTY,axiom,
! [V0n: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__PROD @ ( c_2Ebag_2EEMPTY__BAG @ tyop_2Enum_2Enum ) @ V0n )
= V0n ) ).
thf(thm_2Ebag_2EBAG__GEN__SUM__TAILREC,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ! [V1x: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__SUM @ ( c_2Ebag_2EBAG__INSERT @ tyop_2Enum_2Enum @ V1x @ V0b ) @ V2a )
= ( c_2Ebag_2EBAG__GEN__SUM @ V0b @ ( c_2Earithmetic_2E_2B @ V1x @ V2a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__SUM__REC,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ! [V1x: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__SUM @ ( c_2Ebag_2EBAG__INSERT @ tyop_2Enum_2Enum @ V1x @ V0b ) @ V2a )
= ( c_2Earithmetic_2E_2B @ V1x @ ( c_2Ebag_2EBAG__GEN__SUM @ V0b @ V2a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__TAILREC,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ! [V1x: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__PROD @ ( c_2Ebag_2EBAG__INSERT @ tyop_2Enum_2Enum @ V1x @ V0b ) @ V2a )
= ( c_2Ebag_2EBAG__GEN__PROD @ V0b @ ( c_2Earithmetic_2E_2A @ V1x @ V2a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__REC,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ! [V1x: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__GEN__PROD @ ( c_2Ebag_2EBAG__INSERT @ tyop_2Enum_2Enum @ V1x @ V0b ) @ V2a )
= ( c_2Earithmetic_2E_2A @ V1x @ ( c_2Ebag_2EBAG__GEN__PROD @ V0b @ V2a ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__EQ__1,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ! [V1e: tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__GEN__PROD @ V0b @ V1e )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
=> ( V1e
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__ALL__ONES,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ( ( ( c_2Ebag_2EBAG__GEN__PROD @ V0b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
=> ! [V1x: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ tyop_2Enum_2Enum @ V1x @ V0b )
=> ( V1x
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__POSITIVE,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
=> ( ! [V1x: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ tyop_2Enum_2Enum @ V1x @ V0b )
=> ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ V1x ) )
=> ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ ( c_2Ebag_2EBAG__GEN__PROD @ V0b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__EVERY__THM,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0P: A_27a > $o] : ( c_2Ebag_2EBAG__EVERY @ A_27a @ V0P @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V1P: A_27b > $o,V2e: A_27b,V3b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__EVERY @ A_27b @ V1P @ ( c_2Ebag_2EBAG__INSERT @ A_27b @ V2e @ V3b ) )
<=> ( ( V1P @ V2e )
& ( c_2Ebag_2EBAG__EVERY @ A_27b @ V1P @ V3b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__EVERY__UNION,axiom,
! [A_27a: $tType,V0b2: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum,V2P: A_27a > $o] :
( ( c_2Ebag_2EBAG__EVERY @ A_27a @ V2P @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ V0b2 ) )
<=> ( ( c_2Ebag_2EBAG__EVERY @ A_27a @ V2P @ V1b1 )
& ( c_2Ebag_2EBAG__EVERY @ A_27a @ V2P @ V0b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__EVERY__MERGE,axiom,
! [A_27a: $tType,V0b2: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum,V2P: A_27a > $o] :
( ( c_2Ebag_2EBAG__EVERY @ A_27a @ V2P @ ( c_2Ebag_2EBAG__MERGE @ A_27a @ V1b1 @ V0b2 ) )
<=> ( ( c_2Ebag_2EBAG__EVERY @ A_27a @ V2P @ V1b1 )
& ( c_2Ebag_2EBAG__EVERY @ A_27a @ V2P @ V0b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__EVERY__SET,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1P: A_27a > $o] :
( ( c_2Ebag_2EBAG__EVERY @ A_27a @ V1P @ V0b )
= ( c_2Epred__set_2ESUBSET @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b )
@ ( c_2Epred__set_2EGSPEC @ A_27a @ A_27a
@ ^ [V2x: A_27a] : ( c_2Epair_2E_2C @ A_27a @ $o @ V2x @ ( V1P @ V2x ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__FILTER__EQ__EMPTY,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1P: A_27a > $o] :
( ( ( c_2Ebag_2EBAG__FILTER @ A_27a @ V1P @ V0b )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
<=> ( c_2Ebag_2EBAG__EVERY @ A_27a @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V1P ) @ V0b ) ) ).
thf(thm_2Ebag_2ESET__OF__BAG__IMAGE,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27b > A_27a,V1b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__IMAGE @ A_27a @ A_27b @ V0f @ V1b ) )
= ( c_2Epred__set_2EIMAGE @ A_27b @ A_27a @ V0f @ ( c_2Ebag_2ESET__OF__BAG @ A_27b @ V1b ) ) ) ).
thf(thm_2Ebag_2EBAG__IMAGE__FINITE__RESTRICTED__I,axiom,
! [A_27a: $tType,V0f: A_27a > A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b )
& ( c_2Ebag_2EBAG__EVERY @ A_27a
@ ^ [V2e: A_27a] : ( c_2Emin_2E_3D @ A_27a @ ( V0f @ V2e ) @ V2e )
@ V1b ) )
=> ( ( c_2Ebag_2EBAG__IMAGE @ A_27a @ A_27a @ V0f @ V1b )
= V1b ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__THM,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
& ! [V0e: A_27b,V1b: A_27b > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27b @ ( c_2Ebag_2EBAG__INSERT @ A_27b @ V0e @ V1b ) )
<=> ( ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27b @ V0e @ V1b ) )
& ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27b @ V1b ) ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__BAG__MERGE,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ ( c_2Ebag_2EBAG__MERGE @ A_27a @ V0b1 @ V1b2 ) )
<=> ( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b1 )
& ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__BAG__UNION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b1 @ V1b2 ) )
<=> ( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b1 )
& ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V1b2 )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V0b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__DIFF,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b1 )
=> ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__DELETE,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b )
<=> ! [V1e: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V1e @ V0b )
=> ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V1e @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__SET,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b )
<=> ( ( c_2Ebag_2EBAG__OF__SET @ A_27a @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0b ) )
= V0b ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__BAG__OF__SET,axiom,
! [A_27a: $tType,V0s: A_27a > $o] : ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ ( c_2Ebag_2EBAG__OF__SET @ A_27a @ V0s ) ) ).
thf(thm_2Ebag_2EBAG__IN__BAG__DIFF__ALL__DISTINCT,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b1 )
=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0b1 @ V1b2 ) )
<=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V0b1 )
& ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V1b2 ) ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__ALL__DISTINCT,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b1 )
=> ( ( c_2Ebag_2ESUB__BAG @ A_27a @ V0b1 @ V1b2 )
<=> ! [V2x: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V2x @ V0b1 )
=> ( c_2Ebag_2EBAG__IN @ A_27a @ V2x @ V1b2 ) ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__BAG__INN,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum,V2e: A_27a] :
( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b )
=> ( ( c_2Ebag_2EBAG__INN @ A_27a @ V2e @ V1n @ V0b )
<=> ( ( V1n = c_2Enum_2E0 )
| ( ( V1n
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
& ( c_2Ebag_2EBAG__IN @ A_27a @ V2e @ V0b ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__ALL__DISTINCT__EXTENSION,axiom,
! [A_27a: $tType,V0b1: A_27a > tyop_2Enum_2Enum,V1b2: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V0b1 )
& ( c_2Ebag_2EBAG__ALL__DISTINCT @ A_27a @ V1b2 ) )
=> ( ( V0b1 = V1b2 )
<=> ! [V2x: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V2x @ V0b1 )
= ( c_2Ebag_2EBAG__IN @ A_27a @ V2x @ V1b2 ) ) ) ) ).
thf(thm_2Ebag_2ENOT__BAG__IN,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1x: A_27a] :
( ( ( V0b @ V1x )
= c_2Enum_2E0 )
<=> ( (~) @ ( c_2Ebag_2EBAG__IN @ A_27a @ V1x @ V0b ) ) ) ).
thf(thm_2Ebag_2EBAG__UNION__EQ__LEFT,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1c: A_27a > tyop_2Enum_2Enum,V2d: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b @ V1c )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b @ V2d ) )
=> ( V1c = V2d ) ) ).
thf(thm_2Ebag_2EBAG__IN__DIVIDES,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V1x: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
& ( c_2Ebag_2EBAG__IN @ tyop_2Enum_2Enum @ V1x @ V0b ) )
=> ( c_2Edivides_2Edivides @ V1x @ ( c_2Ebag_2EBAG__GEN__PROD @ V0b @ V2a ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__UNION__LEM,axiom,
! [V0b1: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b1 )
=> ! [V1b2: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum,V3b: tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V1b2 )
=> ( ( c_2Ebag_2EBAG__GEN__PROD @ ( c_2Ebag_2EBAG__UNION @ tyop_2Enum_2Enum @ V0b1 @ V1b2 ) @ ( c_2Earithmetic_2E_2A @ V2a @ V3b ) )
= ( c_2Earithmetic_2E_2A @ ( c_2Ebag_2EBAG__GEN__PROD @ V0b1 @ V2a ) @ ( c_2Ebag_2EBAG__GEN__PROD @ V1b2 @ V3b ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__GEN__PROD__UNION,axiom,
! [V0b1: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V1b2: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b1 )
& ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V1b2 ) )
=> ( ( c_2Ebag_2EBAG__GEN__PROD @ ( c_2Ebag_2EBAG__UNION @ tyop_2Enum_2Enum @ V0b1 @ V1b2 ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
= ( c_2Earithmetic_2E_2A @ ( c_2Ebag_2EBAG__GEN__PROD @ V0b1 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Ebag_2EBAG__GEN__PROD @ V1b2 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__EMPTY,axiom,
! [A_27a: $tType] :
( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ ( c_2Epred__set_2EEMPTY @ ( A_27a > tyop_2Enum_2Enum ) ) )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__INSERT,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob )
=> ( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ ( c_2Epred__set_2EINSERT @ ( A_27a > tyop_2Enum_2Enum ) @ V1b @ V0sob ) )
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ ( c_2Epred__set_2EDELETE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob @ V1b ) ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__DELETE,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob )
=> ( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ ( c_2Epred__set_2EDELETE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob @ V1b ) )
= ( c_2Ebool_2ECOND @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebool_2EIN @ ( A_27a > tyop_2Enum_2Enum ) @ V1b @ V0sob ) @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob ) @ V1b ) @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__ITSET__BAG__UNION,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob )
=> ( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob )
= ( c_2Epred__set_2EITSET @ ( A_27a > tyop_2Enum_2Enum ) @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2EBAG__UNION @ A_27a ) @ V0sob @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ).
thf(thm_2Ebag_2EFINITE__BIG__BAG__UNION,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob )
& ! [V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ ( A_27a > tyop_2Enum_2Enum ) @ V1b @ V0sob )
=> ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b ) ) )
=> ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob ) ) ) ).
thf(thm_2Ebag_2EBAG__IN__BIG__BAG__UNION,axiom,
! [A_27a: $tType,V0e: A_27a,V1P: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V1P )
=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V1P ) )
<=> ? [V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V2b )
& ( c_2Ebool_2EIN @ ( A_27a > tyop_2Enum_2Enum ) @ V2b @ V1P ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__EQ__EMPTY__BAG,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob )
=> ( ( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob )
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
<=> ! [V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ ( A_27a > tyop_2Enum_2Enum ) @ V1b @ V0sob )
=> ( V1b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__UNION,axiom,
! [A_27a: $tType,V0s2: ( A_27a > tyop_2Enum_2Enum ) > $o,V1s1: ( A_27a > tyop_2Enum_2Enum ) > $o] :
( ( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V1s1 )
& ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0s2 ) )
=> ( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ ( c_2Epred__set_2EUNION @ ( A_27a > tyop_2Enum_2Enum ) @ V1s1 @ V0s2 ) )
= ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V1s1 ) @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0s2 ) ) @ ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ ( c_2Epred__set_2EINTER @ ( A_27a > tyop_2Enum_2Enum ) @ V1s1 @ V0s2 ) ) ) ) ) ).
thf(thm_2Ebag_2EBIG__BAG__UNION__EQ__ELEMENT,axiom,
! [A_27a: $tType,V0sob: ( A_27a > tyop_2Enum_2Enum ) > $o,V1b: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Epred__set_2EFINITE @ ( A_27a > tyop_2Enum_2Enum ) @ V0sob )
& ( c_2Ebool_2EIN @ ( A_27a > tyop_2Enum_2Enum ) @ V1b @ V0sob ) )
=> ( ( ( c_2Ebag_2EBIG__BAG__UNION @ A_27a @ V0sob )
= V1b )
<=> ! [V2b_27: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ ( A_27a > tyop_2Enum_2Enum ) @ V2b_27 @ V0sob )
=> ( ( V2b_27 = V1b )
| ( V2b_27
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__NOT__LESS__EMPTY,axiom,
! [A_27a: $tType,V0r: A_27a > A_27a > $o,V1b: A_27a > tyop_2Enum_2Enum] : ( (~) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0r @ V1b @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2ENOT__mlt__EMPTY,axiom,
! [A_27a: $tType,V0b: A_27a > tyop_2Enum_2Enum,V1R: A_27a > A_27a > $o] : ( (~) @ ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V1R ) @ V0b @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ).
thf(thm_2Ebag_2EBAG__LESS__ADD,axiom,
! [A_27a: $tType,V0r: A_27a > A_27a > $o,V1a: A_27a,V2N: A_27a > tyop_2Enum_2Enum,V3M0: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2Emlt1 @ A_27a @ V0r @ V2N @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V3M0 @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) )
=> ( ? [V4M: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2Emlt1 @ A_27a @ V0r @ V4M @ V3M0 )
& ( V2N
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V4M @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1a @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) )
| ? [V5KK: A_27a > tyop_2Enum_2Enum] :
( ! [V6b: A_27a] :
( ( c_2Ebag_2EBAG__IN @ A_27a @ V6b @ V5KK )
=> ( V0r @ V6b @ V1a ) )
& ( V2N
= ( c_2Ebag_2EBAG__UNION @ A_27a @ V3M0 @ V5KK ) ) ) ) ) ).
thf(thm_2Ebag_2Emlt1__all__accessible,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
( ( c_2Erelation_2EWF @ A_27a @ V0R )
=> ! [V1M: A_27a > tyop_2Enum_2Enum] : ( c_2Erelation_2EWFP @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) @ V1M ) ) ).
thf(thm_2Ebag_2EWF__mlt1,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
( ( c_2Erelation_2EWF @ A_27a @ V0R )
=> ( c_2Erelation_2EWF @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) ) ) ).
thf(thm_2Ebag_2ETC__mlt1__FINITE__BAG,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) @ V1b1 @ V2b2 )
=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b2 ) ) ) ).
thf(thm_2Ebag_2ETC__mlt1__UNION2__I,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1b2: A_27a > tyop_2Enum_2Enum,V2b1: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b1 )
& ( (~)
@ ( V1b2
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) )
=> ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) @ V2b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2ETC__mlt1__UNION1__I,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1b2: A_27a > tyop_2Enum_2Enum,V2b1: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b2 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b1 )
& ( (~)
@ ( V2b1
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) )
=> ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) @ V1b2 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2b1 @ V1b2 ) ) ) ).
thf(thm_2Ebag_2Emlt__NOT__REFL,axiom,
! [A_27a: $tType,V0a: A_27a > tyop_2Enum_2Enum,V1R: A_27a > A_27a > $o] :
( ( c_2Erelation_2EWF @ A_27a @ V1R )
=> ( (~) @ ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V1R ) @ V0a @ V0a ) ) ) ).
thf(thm_2Ebag_2Emlt__INSERT__CANCEL__I,axiom,
! [A_27a: $tType,V0e: A_27a,V1R: A_27a > A_27a > $o,V2a: A_27a > tyop_2Enum_2Enum,V3b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V1R ) @ V2a @ V3b )
=> ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V1R ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2a ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V3b ) ) ) ).
thf(thm_2Ebag_2Emlt1__INSERT__CANCEL,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum,V2a: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( c_2Erelation_2EWF @ A_27a @ V3R )
=> ( ( c_2Ebag_2Emlt1 @ A_27a @ V3R @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2a ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b ) )
= ( c_2Ebag_2Emlt1 @ A_27a @ V3R @ V2a @ V1b ) ) ) ).
thf(thm_2Ebag_2Edominates__EMPTY,axiom,
! [A_27a: $tType,A_27b: $tType,V0b: A_27b > $o,V1R: A_27a > A_27b > $o] : ( c_2Ebag_2Edominates @ A_27a @ A_27b @ V1R @ ( c_2Epred__set_2EEMPTY @ A_27a ) @ V0b ) ).
thf(thm_2Ebag_2Edominates__SUBSET,axiom,
! [A_27a: $tType,V0Y: A_27a > $o,V1X: A_27a > $o,V2R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2Etransitive @ A_27a @ V2R )
& ( c_2Epred__set_2EFINITE @ A_27a @ V0Y )
& ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V2R @ V0Y @ V1X )
& ( c_2Epred__set_2ESUBSET @ A_27a @ V1X @ V0Y )
& ( (~)
@ ( V1X
= ( c_2Epred__set_2EEMPTY @ A_27a ) ) ) )
=> ? [V3x: A_27a] :
( ( c_2Ebool_2EIN @ A_27a @ V3x @ V1X )
& ( V2R @ V3x @ V3x ) ) ) ).
thf(thm_2Ebag_2Emlt__dominates__thm1,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
( ( c_2Erelation_2Etransitive @ A_27a @ V0R )
=> ! [V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) @ V1b1 @ V2b2 )
<=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b2 )
& ? [V3x: A_27a > tyop_2Enum_2Enum,V4y: A_27a > tyop_2Enum_2Enum] :
( ( (~)
@ ( V3x
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V3x @ V2b2 )
& ( V1b1
= ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b2 @ V3x ) @ V4y ) )
& ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V0R @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V4y ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V3x ) ) ) ) ) ) ).
thf(thm_2Ebag_2Edominates__DIFF,axiom,
! [A_27a: $tType,V0y: A_27a > $o,V1x: A_27a > $o,V2i: A_27a > $o,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2EWF @ A_27a @ V3R )
& ( c_2Erelation_2Etransitive @ A_27a @ V3R )
& ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V3R @ V1x @ V0y )
& ( c_2Epred__set_2EFINITE @ A_27a @ V2i )
& ( c_2Epred__set_2ESUBSET @ A_27a @ V2i @ V1x )
& ( c_2Epred__set_2ESUBSET @ A_27a @ V2i @ V0y ) )
=> ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V3R @ ( c_2Epred__set_2EDIFF @ A_27a @ V1x @ V2i ) @ ( c_2Epred__set_2EDIFF @ A_27a @ V0y @ V2i ) ) ) ).
thf(thm_2Ebag_2EBAG__INSERT__SUB__BAG__E,axiom,
! [A_27a: $tType,V0e: A_27a,V1c: A_27a > tyop_2Enum_2Enum,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2b ) @ V1c )
=> ( ( c_2Ebag_2EBAG__IN @ A_27a @ V0e @ V1c )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V2b @ V1c ) ) ) ).
thf(thm_2Ebag_2Ebdominates__BAG__DIFF,axiom,
! [A_27a: $tType,V0y: A_27a > tyop_2Enum_2Enum,V1x: A_27a > tyop_2Enum_2Enum,V2i: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2EWF @ A_27a @ V3R )
& ( c_2Erelation_2Etransitive @ A_27a @ V3R )
& ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V3R @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V1x ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V0y ) )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2i )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V2i @ V1x )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V2i @ V0y ) )
=> ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V3R @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1x @ V2i ) ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V0y @ V2i ) ) ) ) ).
thf(thm_2Ebag_2EBAG__INTER__SUB__BAG,axiom,
! [A_27a: $tType,V0b2: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__INTER @ A_27a @ V1b1 @ V0b2 ) @ V1b1 )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__INTER @ A_27a @ V1b1 @ V0b2 ) @ V0b2 ) ) ).
thf(thm_2Ebag_2EBAG__INTER__FINITE,axiom,
! [A_27a: $tType,V0b2: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum] :
( ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
| ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b2 ) )
=> ( c_2Ebag_2EFINITE__BAG @ A_27a @ ( c_2Ebag_2EBAG__INTER @ A_27a @ V1b1 @ V0b2 ) ) ) ).
thf(thm_2Ebag_2Emlt__dominates__thm2,axiom,
! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2EWF @ A_27a @ V0R )
& ( c_2Erelation_2Etransitive @ A_27a @ V0R ) )
=> ! [V1b1: A_27a > tyop_2Enum_2Enum,V2b2: A_27a > tyop_2Enum_2Enum] :
( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V0R ) @ V1b1 @ V2b2 )
<=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b2 )
& ? [V3x: A_27a > tyop_2Enum_2Enum,V4y: A_27a > tyop_2Enum_2Enum] :
( ( (~)
@ ( V3x
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
& ( c_2Ebag_2ESUB__BAG @ A_27a @ V3x @ V2b2 )
& ( c_2Ebag_2EBAG__DISJOINT @ A_27a @ V3x @ V4y )
& ( V1b1
= ( c_2Ebag_2EBAG__UNION @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b2 @ V3x ) @ V4y ) )
& ( c_2Ebag_2Edominates @ A_27a @ A_27a @ V0R @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V4y ) @ ( c_2Ebag_2ESET__OF__BAG @ A_27a @ V3x ) ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__DIFF__INSERT__SUB__BAG,axiom,
! [A_27a: $tType,V0e: A_27a,V1c: A_27a > tyop_2Enum_2Enum,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1c @ V2b )
=> ( ( c_2Ebag_2EBAG__DIFF @ A_27a @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2b ) @ V1c )
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V2b @ V1c ) ) ) ) ).
thf(thm_2Ebag_2Emlt__INSERT__CANCEL,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum,V2a: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2Etransitive @ A_27a @ V3R )
& ( c_2Erelation_2EWF @ A_27a @ V3R ) )
=> ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V2a ) @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ V1b ) )
= ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ V2a @ V1b ) ) ) ).
thf(thm_2Ebag_2Emlt__UNION__RCANCEL__I,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2a: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ V2a @ V1b )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0c ) )
=> ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2a @ V0c ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b @ V0c ) ) ) ).
thf(thm_2Ebag_2Emlt__UNION__RCANCEL,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2a: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2EWF @ A_27a @ V3R )
& ( c_2Erelation_2Etransitive @ A_27a @ V3R ) )
=> ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V2a @ V0c ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b @ V0c ) )
<=> ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ V2a @ V1b )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0c ) ) ) ) ).
thf(thm_2Ebag_2Emlt__UNION__LCANCEL__I,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2a: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ V2a @ V1b )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0c ) )
=> ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0c @ V2a ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0c @ V1b ) ) ) ).
thf(thm_2Ebag_2Emlt__UNION__LCANCEL,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum,V2a: A_27a > tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
( ( ( c_2Erelation_2EWF @ A_27a @ V3R )
& ( c_2Erelation_2Etransitive @ A_27a @ V3R ) )
=> ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0c @ V2a ) @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0c @ V1b ) )
<=> ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V3R ) @ V2a @ V1b )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0c ) ) ) ) ).
thf(thm_2Ebag_2Emlt__UNION__CANCEL__EQN,axiom,
! [A_27a: $tType,V0b2: A_27a > tyop_2Enum_2Enum,V1b1: A_27a > tyop_2Enum_2Enum,V2R: A_27a > A_27a > $o] :
( ( c_2Erelation_2EWF @ A_27a @ V2R )
=> ( ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V2R ) @ V1b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V1b1 @ V0b2 ) )
<=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b2 )
& ( (~)
@ ( V0b2
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) )
& ( ( c_2Erelation_2ETC @ ( A_27a > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ A_27a @ V2R ) @ V1b1 @ ( c_2Ebag_2EBAG__UNION @ A_27a @ V0b2 @ V1b1 ) )
<=> ( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V1b1 )
& ( c_2Ebag_2EFINITE__BAG @ A_27a @ V0b2 )
& ( (~)
@ ( V0b2
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ) ) ) ).
thf(thm_2Ebag_2Emlt__UNION__EMPTY__EQN,axiom,
c_2Ebool_2ET ).
thf(thm_2Ebag_2ESUB__BAG__SING,axiom,
! [A_27a: $tType,V0e: A_27a,V1b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2ESUB__BAG @ A_27a @ V1b @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) )
<=> ( ( V1b
= ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
| ( V1b
= ( c_2Ebag_2EBAG__INSERT @ A_27a @ V0e @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) ) ) ) ) ).
thf(thm_2Ebag_2ESUB__BAG__DIFF__simple,axiom,
! [A_27a: $tType,V0c: A_27a > tyop_2Enum_2Enum,V1b: A_27a > tyop_2Enum_2Enum] : ( c_2Ebag_2ESUB__BAG @ A_27a @ ( c_2Ebag_2EBAG__DIFF @ A_27a @ V1b @ V0c ) @ V1b ) ).
thf(thm_2Ebag_2EmltLT__SING0,axiom,
! [V0b: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Erelation_2ETC @ ( tyop_2Enum_2Enum > tyop_2Enum_2Enum ) @ ( c_2Ebag_2Emlt1 @ tyop_2Enum_2Enum @ c_2Eprim__rec_2E_3C ) @ ( c_2Ebag_2EBAG__INSERT @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Ebag_2EEMPTY__BAG @ tyop_2Enum_2Enum ) ) @ V0b )
<=> ( ( c_2Ebag_2EFINITE__BAG @ tyop_2Enum_2Enum @ V0b )
& ( (~)
@ ( V0b
= ( c_2Ebag_2EBAG__INSERT @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Ebag_2EEMPTY__BAG @ tyop_2Enum_2Enum ) ) ) )
& ( (~)
@ ( V0b
= ( c_2Ebag_2EEMPTY__BAG @ tyop_2Enum_2Enum ) ) ) ) ) ).
thf(thm_2Ebag_2EBAG__SIZE__EMPTY,axiom,
! [A_27a: $tType,V0eltsize: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2Ebag__size @ A_27a @ V0eltsize @ ( c_2Ebag_2EEMPTY__BAG @ A_27a ) )
= c_2Enum_2E0 ) ).
thf(thm_2Ebag_2EBAG__SIZE__INSERT,axiom,
! [A_27a: $tType,V0eltsize: A_27a > tyop_2Enum_2Enum,V1e: A_27a,V2b: A_27a > tyop_2Enum_2Enum] :
( ( c_2Ebag_2EFINITE__BAG @ A_27a @ V2b )
=> ( ( c_2Ebag_2Ebag__size @ A_27a @ V0eltsize @ ( c_2Ebag_2EBAG__INSERT @ A_27a @ V1e @ V2b ) )
= ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( V0eltsize @ V1e ) ) @ ( c_2Ebag_2Ebag__size @ A_27a @ V0eltsize @ V2b ) ) ) ) ).
%------------------------------------------------------------------------------