Structure pred_setTheory


Source File Identifier index Theory binding index

signature pred_setTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val BIGINTER : thm
    val BIGUNION : thm
    val BIJ_DEF : thm
    val CARD_DEF : thm
    val CHOICE_DEF : thm
    val COMPL_DEF : thm
    val CROSS_DEF : thm
    val DELETE_DEF : thm
    val DFUNSET : thm
    val DIFF_DEF : thm
    val DISJOINT_DEF : thm
    val EMPTY_DEF : thm
    val FINITE_DEF : thm
    val FUNSET : thm
    val GSPECIFICATION : thm
    val HAS_SIZE : thm
    val IMAGE_DEF : thm
    val INJ_DEF : thm
    val INSERT_DEF : thm
    val INTER_DEF : thm
    val LINV_LO : thm
    val LINV_OPT_def : thm
    val MAX_SET_DEF : thm
    val MIN_SET_DEF : thm
    val POW_DEF : thm
    val PREIMAGE_def : thm
    val PROD_IMAGE_DEF : thm
    val PROD_SET_DEF : thm
    val PSUBSET_DEF : thm
    val REL_RESTRICT_DEF : thm
    val REST_DEF : thm
    val RINV_LO : thm
    val SING_DEF : thm
    val SUBSET_DEF : thm
    val SUM_IMAGE_DEF : thm
    val SUM_SET_DEF : thm
    val SURJ_DEF : thm
    val UNION_DEF : thm
    val UNIV_DEF : thm
    val chooser_def : thm
    val closure_comm_assoc_fun_def : thm
    val count_def : thm
    val countable_def : thm
    val disjUNION_def : thm
    val disjoint : thm
    val enumerate_def : thm
    val equiv_on_def : thm
    val is_measure_maximal_def : thm
    val num_to_pair_def : thm
    val pair_to_num_def : thm
    val pairwise_def : thm
    val part_def : thm
    val partition_def : thm
    val partitions_def : thm
    val refines_def : thm
    val schroeder_close_def : thm
  
  (*  Theorems  *)
    val ABSORPTION : thm
    val ABSORPTION_RWT : thm
    val ABS_DIFF_SUM_IMAGE : thm
    val BIGINTER_2 : thm
    val BIGINTER_EMPTY : thm
    val BIGINTER_GSPEC : thm
    val BIGINTER_IMAGE : thm
    val BIGINTER_INSERT : thm
    val BIGINTER_INTER : thm
    val BIGINTER_SING : thm
    val BIGINTER_SUBSET : thm
    val BIGINTER_UNION : thm
    val BIGINTER_applied : thm
    val BIGUNION_CROSS : thm
    val BIGUNION_EMPTY : thm
    val BIGUNION_EQ_EMPTY : thm
    val BIGUNION_GSPEC : thm
    val BIGUNION_IMAGE : thm
    val BIGUNION_IMAGE_SUBSET : thm
    val BIGUNION_IMAGE_UNIV : thm
    val BIGUNION_INSERT : thm
    val BIGUNION_PAIR : thm
    val BIGUNION_SING : thm
    val BIGUNION_SUBSET : thm
    val BIGUNION_UNION : thm
    val BIGUNION_applied : thm
    val BIGUNION_partition : thm
    val BIJ_ALT : thm
    val BIJ_COMPOSE : thm
    val BIJ_CONG : thm
    val BIJ_DELETE : thm
    val BIJ_ELEMENT : thm
    val BIJ_EMPTY : thm
    val BIJ_FINITE : thm
    val BIJ_FINITE_IFF : thm
    val BIJ_FINITE_SUBSET : thm
    val BIJ_ID : thm
    val BIJ_IFF_INV : thm
    val BIJ_IMAGE : thm
    val BIJ_IMAGE_partitions : thm
    val BIJ_IMP_11 : thm
    val BIJ_INJ_SURJ : thm
    val BIJ_INSERT : thm
    val BIJ_INSERT_IMP : thm
    val BIJ_INV : thm
    val BIJ_IS_INJ : thm
    val BIJ_IS_SURJ : thm
    val BIJ_I_SAME : thm
    val BIJ_LINV_BIJ : thm
    val BIJ_LINV_INV : thm
    val BIJ_NUM_COUNTABLE : thm
    val BIJ_NUM_TO_PAIR : thm
    val BIJ_PAIR_TO_NUM : thm
    val BIJ_SWAP : thm
    val BIJ_SYM : thm
    val BIJ_SYM_IMP : thm
    val BIJ_THM : thm
    val BIJ_TRANS : thm
    val BIJ_support : thm
    val CARD_AS_SIGMA : thm
    val CARD_BIGUNION_SAME_SIZED_SETS : thm
    val CARD_CLAUSES : thm
    val CARD_COUNT : thm
    val CARD_CROSS : thm
    val CARD_DELETE : thm
    val CARD_DIFF : thm
    val CARD_DIFF_EQN : thm
    val CARD_EMPTY : thm
    val CARD_EQ_0 : thm
    val CARD_EQ_SIGMA : thm
    val CARD_IMAGE : thm
    val CARD_IMAGE_INJ : thm
    val CARD_IMAGE_LE : thm
    val CARD_IMAGE_SUC : thm
    val CARD_INJ_IMAGE : thm
    val CARD_INSERT : thm
    val CARD_INTER_LESS_EQ : thm
    val CARD_LE_MAX_SET : thm
    val CARD_POW : thm
    val CARD_PRODUCT : thm
    val CARD_PSUBSET : thm
    val CARD_REST : thm
    val CARD_SING : thm
    val CARD_SING_CROSS : thm
    val CARD_SUBSET : thm
    val CARD_UNION : thm
    val CARD_UNION_DISJOINT : thm
    val CARD_UNION_EQN : thm
    val CARD_UNION_LE : thm
    val CARD_disjUNION : thm
    val CHOICE_INSERT_REST : thm
    val CHOICE_INTRO : thm
    val CHOICE_NOT_IN_REST : thm
    val CHOICE_SING : thm
    val COMMUTING_ITSET_INSERT : thm
    val COMMUTING_ITSET_RECURSES : thm
    val COMPL_CLAUSES : thm
    val COMPL_COMPL : thm
    val COMPL_EMPTY : thm
    val COMPL_INTER : thm
    val COMPL_SPLITS : thm
    val COMPL_UNION : thm
    val COMPL_applied : thm
    val COMPONENT : thm
    val COUNTABLE_ALT : thm
    val COUNTABLE_ALT_BIJ : thm
    val COUNTABLE_COUNT : thm
    val COUNTABLE_ENUM : thm
    val COUNTABLE_IMAGE_NUM : thm
    val COUNTABLE_NUM : thm
    val COUNTABLE_SUBSET : thm
    val COUNT_11 : thm
    val COUNT_DELETE : thm
    val COUNT_EQ_EMPTY : thm
    val COUNT_MONO : thm
    val COUNT_NOT_EMPTY : thm
    val COUNT_ONE : thm
    val COUNT_SUC : thm
    val COUNT_ZERO : thm
    val COUNT_applied : thm
    val CROSS_BIGUNION : thm
    val CROSS_EMPTY : thm
    val CROSS_EMPTY_EQN : thm
    val CROSS_EQNS : thm
    val CROSS_INSERT_LEFT : thm
    val CROSS_INSERT_RIGHT : thm
    val CROSS_SINGS : thm
    val CROSS_SUBSET : thm
    val CROSS_UNIV : thm
    val CROSS_applied : thm
    val DECOMPOSITION : thm
    val DELETE_COMM : thm
    val DELETE_DELETE : thm
    val DELETE_EQ_SING : thm
    val DELETE_INSERT : thm
    val DELETE_INTER : thm
    val DELETE_NON_ELEMENT : thm
    val DELETE_NON_ELEMENT_RWT : thm
    val DELETE_SUBSET : thm
    val DELETE_SUBSET_INSERT : thm
    val DELETE_applied : thm
    val DFUNSET_applied : thm
    val DIFF_BIGINTER : thm
    val DIFF_BIGINTER1 : thm
    val DIFF_COMM : thm
    val DIFF_DIFF : thm
    val DIFF_DIFF_SUBSET : thm
    val DIFF_EMPTY : thm
    val DIFF_EQ_EMPTY : thm
    val DIFF_INSERT : thm
    val DIFF_INTER : thm
    val DIFF_INTER2 : thm
    val DIFF_INTER_COMPL : thm
    val DIFF_INTER_SUBSET : thm
    val DIFF_SAME_UNION : thm
    val DIFF_SUBSET : thm
    val DIFF_UNION : thm
    val DIFF_UNIV : thm
    val DIFF_applied : thm
    val DISJOINT_ALT : thm
    val DISJOINT_ALT' : thm
    val DISJOINT_BIGINTER : thm
    val DISJOINT_BIGUNION : thm
    val DISJOINT_COUNT : thm
    val DISJOINT_DELETE_SYM : thm
    val DISJOINT_DIFF : thm
    val DISJOINT_DIFFS : thm
    val DISJOINT_EMPTY : thm
    val DISJOINT_EMPTY_REFL : thm
    val DISJOINT_EMPTY_REFL_RWT : thm
    val DISJOINT_IMAGE : thm
    val DISJOINT_INSERT : thm
    val DISJOINT_INSERT' : thm
    val DISJOINT_SING_EMPTY : thm
    val DISJOINT_SUBSET : thm
    val DISJOINT_SUBSET' : thm
    val DISJOINT_SYM : thm
    val DISJOINT_UNION : thm
    val DISJOINT_UNION' : thm
    val DISJOINT_UNION_BOTH : thm
    val ELT_IN_DELETE : thm
    val EMPTY_DELETE : thm
    val EMPTY_DIFF : thm
    val EMPTY_FUNSET : thm
    val EMPTY_IN_POW : thm
    val EMPTY_NOT_IN_partition : thm
    val EMPTY_NOT_UNIV : thm
    val EMPTY_SUBSET : thm
    val EMPTY_UNION : thm
    val EMPTY_applied : thm
    val ENUMERATE : thm
    val EQUAL_SING : thm
    val EQ_SUBSET_SUBSET : thm
    val EQ_UNIV : thm
    val EXISTS_IN_IMAGE : thm
    val EXISTS_IN_INSERT : thm
    val EXPLICIT_ENUMERATE_MONO : thm
    val EXPLICIT_ENUMERATE_NOT_EMPTY : thm
    val EXTENSION : thm
    val EXTENSIONAL : thm
    val EXTENSIONAL_EMPTY : thm
    val EXTENSIONAL_EQ : thm
    val EXTENSIONAL_UNIV : thm
    val FINITELY_INJECTIVE_IMAGE_FINITE : thm
    val FINITE_BIGINTER : thm
    val FINITE_BIGUNION : thm
    val FINITE_BIGUNION_EQ : thm
    val FINITE_BIJ : thm
    val FINITE_BIJ_CARD : thm
    val FINITE_BIJ_CARD_EQ : thm
    val FINITE_BIJ_COUNT : thm
    val FINITE_BIJ_COUNT_EQ : thm
    val FINITE_CARD_IMAGE : thm
    val FINITE_COMPLETE_INDUCTION : thm
    val FINITE_COUNT : thm
    val FINITE_CROSS : thm
    val FINITE_CROSS_EQ : thm
    val FINITE_DELETE : thm
    val FINITE_DIFF : thm
    val FINITE_DIFF_down : thm
    val FINITE_EMPTY : thm
    val FINITE_HAS_SIZE : thm
    val FINITE_IMAGE_INJ' : thm
    val FINITE_IMAGE_INJ_EQ : thm
    val FINITE_INDUCT : thm
    val FINITE_INDUCT_STRONG : thm
    val FINITE_INJ : thm
    val FINITE_INSERT : thm
    val FINITE_INTER : thm
    val FINITE_ISO_NUM : thm
    val FINITE_LEAST_MEASURE_INDUCTION : thm
    val FINITE_POW : thm
    val FINITE_POW_EQN : thm
    val FINITE_PREIMAGE : thm
    val FINITE_PRODUCT : thm
    val FINITE_PRODUCT_DEPENDENT : thm
    val FINITE_PSUBSET_INFINITE : thm
    val FINITE_PSUBSET_UNIV : thm
    val FINITE_REST : thm
    val FINITE_REST_EQ : thm
    val FINITE_RULES : thm
    val FINITE_SING : thm
    val FINITE_SURJ : thm
    val FINITE_SURJ_BIJ : thm
    val FINITE_StrongOrder_WF : thm
    val FINITE_UNION : thm
    val FINITE_WEAK_ENUMERATE : thm
    val FINITE_WF_noloops : thm
    val FINITE_is_measure_maximal : thm
    val FINITE_partition : thm
    val FINITE_partitions : thm
    val FORALL_IN_BIGUNION : thm
    val FORALL_IN_IMAGE : thm
    val FORALL_IN_INSERT : thm
    val FORALL_IN_UNION : thm
    val FUNPOW_INJ : thm
    val FUNPOW_eq_elim : thm
    val FUNPOW_min_cancel : thm
    val FUNSET_DFUNSET : thm
    val FUNSET_EMPTY : thm
    val FUNSET_INTER : thm
    val FUNSET_THM : thm
    val FUNSET_applied : thm
    val GSPECIFICATION_applied : thm
    val GSPEC_AND : thm
    val GSPEC_EQ : thm
    val GSPEC_EQ2 : thm
    val GSPEC_ETA : thm
    val GSPEC_F : thm
    val GSPEC_F_COND : thm
    val GSPEC_ID : thm
    val GSPEC_IMAGE : thm
    val GSPEC_OR : thm
    val GSPEC_PAIR_ETA : thm
    val GSPEC_T : thm
    val HAS_SIZE_0 : thm
    val HAS_SIZE_CARD : thm
    val HAS_SIZE_IMAGE_INJ : thm
    val HAS_SIZE_INDEX : thm
    val HAS_SIZE_PRODUCT : thm
    val HAS_SIZE_PRODUCT_DEPENDENT : thm
    val HAS_SIZE_SUC : thm
    val HAS_SIZE_UNION : thm
    val IMAGE_11 : thm
    val IMAGE_11_INFINITE : thm
    val IMAGE_BIGUNION : thm
    val IMAGE_CLAUSES : thm
    val IMAGE_COMPOSE : thm
    val IMAGE_CONG : thm
    val IMAGE_CONST : thm
    val IMAGE_DELETE : thm
    val IMAGE_EMPTY : thm
    val IMAGE_EQ_EMPTY : thm
    val IMAGE_EQ_SING : thm
    val IMAGE_FINITE : thm
    val IMAGE_FST_CROSS : thm
    val IMAGE_I : thm
    val IMAGE_ID : thm
    val IMAGE_II : thm
    val IMAGE_IMAGE : thm
    val IMAGE_IMAGE_partition : thm
    val IMAGE_IN : thm
    val IMAGE_INSERT : thm
    val IMAGE_INTER : thm
    val IMAGE_PREIMAGE : thm
    val IMAGE_RESTRICTION : thm
    val IMAGE_SING : thm
    val IMAGE_SND_CROSS : thm
    val IMAGE_SUBSET : thm
    val IMAGE_SUBSET_gen : thm
    val IMAGE_SURJ : thm
    val IMAGE_UNION : thm
    val IMAGE_applied : thm
    val IMAGE_o : thm
    val INFINITE_DIFF_FINITE : thm
    val INFINITE_DIFF_FINITE' : thm
    val INFINITE_EXPLICIT_ENUMERATE : thm
    val INFINITE_INHAB : thm
    val INFINITE_INJ : thm
    val INFINITE_INJ_NOT_SURJ : thm
    val INFINITE_NUM_UNIV : thm
    val INFINITE_PAIR_UNIV : thm
    val INFINITE_SUBSET : thm
    val INFINITE_UNIV : thm
    val INJECTIVE_IMAGE_FINITE : thm
    val INJ_BIJ_SUBSET : thm
    val INJ_CARD : thm
    val INJ_CARD_IMAGE : thm
    val INJ_CARD_IMAGE_EQ : thm
    val INJ_COMPOSE : thm
    val INJ_CONG : thm
    val INJ_DELETE : thm
    val INJ_ELEMENT : thm
    val INJ_EMPTY : thm
    val INJ_EQ_11 : thm
    val INJ_EXTEND : thm
    val INJ_I : thm
    val INJ_ID : thm
    val INJ_IFF : thm
    val INJ_IMAGE : thm
    val INJ_IMAGE_BIJ : thm
    val INJ_IMAGE_DISJOINT : thm
    val INJ_IMAGE_EQ : thm
    val INJ_IMAGE_INTER : thm
    val INJ_IMAGE_SUBSET : thm
    val INJ_IMAGE_equiv_class : thm
    val INJ_IMP_11 : thm
    val INJ_INL : thm
    val INJ_INR : thm
    val INJ_INSERT : thm
    val INJ_I_IMAGE : thm
    val INJ_LINV_OPT : thm
    val INJ_LINV_OPT_IMAGE : thm
    val INJ_SUBSET : thm
    val INJ_SUBSET_UNIV : thm
    val INSERT_COMM : thm
    val INSERT_DELETE : thm
    val INSERT_DIFF : thm
    val INSERT_EQ_SING : thm
    val INSERT_INSERT : thm
    val INSERT_INTER : thm
    val INSERT_SING_UNION : thm
    val INSERT_SUBSET : thm
    val INSERT_UNION : thm
    val INSERT_UNION_EQ : thm
    val INSERT_UNIV : thm
    val INSERT_applied : thm
    val INTER_ASSOC : thm
    val INTER_BIGUNION : thm
    val INTER_COMM : thm
    val INTER_CROSS : thm
    val INTER_EMPTY : thm
    val INTER_FINITE : thm
    val INTER_IDEMPOT : thm
    val INTER_OVER_UNION : thm
    val INTER_SING : thm
    val INTER_SUBSET : thm
    val INTER_SUBSET_EQN : thm
    val INTER_UNION : thm
    val INTER_UNION_COMPL : thm
    val INTER_UNIV : thm
    val INTER_applied : thm
    val IN_ABS : thm
    val IN_APP : thm
    val IN_BIGINTER : thm
    val IN_BIGINTER_IMAGE : thm
    val IN_BIGUNION : thm
    val IN_BIGUNION_IMAGE : thm
    val IN_COMPL : thm
    val IN_COUNT : thm
    val IN_CROSS : thm
    val IN_DELETE : thm
    val IN_DELETE_EQ : thm
    val IN_DFUNSET : thm
    val IN_DIFF : thm
    val IN_DISJOINT : thm
    val IN_EQ_UNIV_IMP : thm
    val IN_FUNSET : thm
    val IN_GSPEC : thm
    val IN_GSPEC_IFF : thm
    val IN_IMAGE : thm
    val IN_INFINITE_NOT_FINITE : thm
    val IN_INSERT : thm
    val IN_INSERT_EXPAND : thm
    val IN_INTER : thm
    val IN_POW : thm
    val IN_PREIMAGE : thm
    val IN_REST : thm
    val IN_SING : thm
    val IN_UNION : thm
    val IN_UNIV : thm
    val IN_disjUNION : thm
    val ITSET_CONG : thm
    val ITSET_EMPTY : thm
    val ITSET_IND : thm
    val ITSET_INSERT : thm
    val ITSET_PROPERTY : thm
    val ITSET_REDUCTION : thm
    val ITSET_SING : thm
    val ITSET_THM : thm
    val ITSET_def : thm
    val K_SUBSET : thm
    val KoenigsLemma : thm
    val KoenigsLemma_WF : thm
    val LESS_CARD_DIFF : thm
    val LINV_DEF : thm
    val LINV_OPT_THM : thm
    val MAX_SET_ELIM : thm
    val MAX_SET_EMPTY : thm
    val MAX_SET_EQ_0 : thm
    val MAX_SET_INTER : thm
    val MAX_SET_IN_SET : thm
    val MAX_SET_LESS : thm
    val MAX_SET_PROPERTY : thm
    val MAX_SET_REWRITES : thm
    val MAX_SET_SING : thm
    val MAX_SET_TEST : thm
    val MAX_SET_TEST_IFF : thm
    val MAX_SET_THM : thm
    val MAX_SET_UNION : thm
    val MEMBER_NOT_EMPTY : thm
    val MIN_SET_ELIM : thm
    val MIN_SET_EQ_0 : thm
    val MIN_SET_IN_SET : thm
    val MIN_SET_LEM : thm
    val MIN_SET_LEQ_MAX_SET : thm
    val MIN_SET_PROPERTY : thm
    val MIN_SET_SING : thm
    val MIN_SET_TEST : thm
    val MIN_SET_TEST_IFF : thm
    val MIN_SET_THM : thm
    val MIN_SET_THM' : thm
    val MIN_SET_UNION : thm
    val NOT_EMPTY_INSERT : thm
    val NOT_EMPTY_SING : thm
    val NOT_EQUAL_SETS : thm
    val NOT_INSERT_EMPTY : thm
    val NOT_IN_EMPTY : thm
    val NOT_IN_FINITE : thm
    val NOT_PSUBSET_EMPTY : thm
    val NOT_SING_EMPTY : thm
    val NOT_UNIV_PSUBSET : thm
    val NUM_2D_BIJ : thm
    val NUM_2D_BIJ_BIG_SQUARE : thm
    val NUM_2D_BIJ_INV : thm
    val NUM_2D_BIJ_NZ : thm
    val NUM_2D_BIJ_NZ_ALT : thm
    val NUM_2D_BIJ_NZ_ALT2 : thm
    val NUM_2D_BIJ_NZ_ALT2_INV : thm
    val NUM_2D_BIJ_NZ_ALT_INV : thm
    val NUM_2D_BIJ_NZ_INV : thm
    val NUM_2D_BIJ_SMALL_SQUARE : thm
    val NUM_SET_WOP : thm
    val ONE_ELEMENT_SING : thm
    val PAIR_IN_GSPEC_1 : thm
    val PAIR_IN_GSPEC_2 : thm
    val PAIR_IN_GSPEC_IFF : thm
    val PAIR_IN_GSPEC_same : thm
    val PHP : thm
    val PI_CONSTANT : thm
    val POW_EMPTY : thm
    val POW_EQNS : thm
    val POW_INSERT : thm
    val POW_applied : thm
    val PREIMAGE_ALT : thm
    val PREIMAGE_BIGUNION : thm
    val PREIMAGE_COMP : thm
    val PREIMAGE_COMPL : thm
    val PREIMAGE_COMPL_INTER : thm
    val PREIMAGE_CROSS : thm
    val PREIMAGE_DIFF : thm
    val PREIMAGE_DISJOINT : thm
    val PREIMAGE_EMPTY : thm
    val PREIMAGE_I : thm
    val PREIMAGE_IMAGE : thm
    val PREIMAGE_INTER : thm
    val PREIMAGE_K : thm
    val PREIMAGE_SUBSET : thm
    val PREIMAGE_UNION : thm
    val PREIMAGE_UNIV : thm
    val PREIMAGE_applied : thm
    val PREIMAGE_o : thm
    val PROD_IMAGE_CONG : thm
    val PROD_IMAGE_CONSTANT : thm
    val PROD_IMAGE_DELETE : thm
    val PROD_IMAGE_EMPTY : thm
    val PROD_IMAGE_EQ_0 : thm
    val PROD_IMAGE_EQ_1 : thm
    val PROD_IMAGE_INSERT : thm
    val PROD_IMAGE_THM : thm
    val PROD_SET_EMPTY : thm
    val PROD_SET_IMAGE_REDUCTION : thm
    val PROD_SET_INSERT : thm
    val PROD_SET_THM : thm
    val PSUBSET_EQN : thm
    val PSUBSET_FINITE : thm
    val PSUBSET_INSERT_SUBSET : thm
    val PSUBSET_IRREFL : thm
    val PSUBSET_MEMBER : thm
    val PSUBSET_SING : thm
    val PSUBSET_SUBSET_TRANS : thm
    val PSUBSET_TRANS : thm
    val PSUBSET_UNIV : thm
    val RC_PSUBSET : thm
    val RC_SUBSET_THM : thm
    val REL_RESTRICT_EMPTY : thm
    val REL_RESTRICT_SUBSET : thm
    val RESTRICTION_COMPOSE : thm
    val RESTRICTION_COMPOSE_LEFT : thm
    val RESTRICTION_COMPOSE_RIGHT : thm
    val RESTRICTION_EXTENSION : thm
    val RESTRICTION_FIXPOINT : thm
    val RESTRICTION_IDEMP : thm
    val RESTRICTION_IN_EXTENSIONAL : thm
    val RESTRICTION_RESTRICTION : thm
    val RESTRICTION_UNIQUE : thm
    val RESTRICTION_UNIQUE_ALT : thm
    val REST_PSUBSET : thm
    val REST_SING : thm
    val REST_SUBSET : thm
    val REST_applied : thm
    val RINV_DEF : thm
    val RTC_PSUBSET : thm
    val RTC_SUBSET_THM : thm
    val SCHROEDER_BERNSTEIN : thm
    val SCHROEDER_BERNSTEIN_AUTO : thm
    val SCHROEDER_CLOSE : thm
    val SCHROEDER_CLOSED : thm
    val SCHROEDER_CLOSE_SET : thm
    val SCHROEDER_CLOSE_SUBSET : thm
    val SET_CASES : thm
    val SET_EQ_SUBSET : thm
    val SET_MINIMUM : thm
    val SIGMA_CARD_CONSTANT : thm
    val SIGMA_CARD_SAME_SIZE_SETS : thm
    val SIGMA_CONG : thm
    val SIGMA_CONSTANT : thm
    val SIGMA_LE_SIGMA : thm
    val SIMPLE_FINITE_INDUCT : thm
    val SING : thm
    val SING_CARD_1 : thm
    val SING_DELETE : thm
    val SING_ELEMENT : thm
    val SING_EMPTY : thm
    val SING_FINITE : thm
    val SING_IFF_CARD1 : thm
    val SING_IFF_EMPTY_REST : thm
    val SING_INSERT : thm
    val SING_INTER : thm
    val SING_ONE_ELEMENT : thm
    val SING_TEST : thm
    val SING_UNION : thm
    val SING_applied : thm
    val SING_partitions : thm
    val SPECIFICATION : thm
    val SUBSET_ADD : thm
    val SUBSET_ANTISYM : thm
    val SUBSET_ANTISYM_EQ : thm
    val SUBSET_BIGINTER : thm
    val SUBSET_BIGUNION : thm
    val SUBSET_BIGUNION_I : thm
    val SUBSET_BIGUNION_SUBSET_I : thm
    val SUBSET_COMMUTING_ITSET_INSERT : thm
    val SUBSET_COMMUTING_ITSET_RECURSES : thm
    val SUBSET_COMMUTING_ITSET_REDUCTION : thm
    val SUBSET_CROSS : thm
    val SUBSET_DELETE : thm
    val SUBSET_DELETE_BOTH : thm
    val SUBSET_DIFF : thm
    val SUBSET_DIFF_EMPTY : thm
    val SUBSET_DISJOINT : thm
    val SUBSET_EMPTY : thm
    val SUBSET_EQ_CARD : thm
    val SUBSET_FINITE : thm
    val SUBSET_FINITE_I : thm
    val SUBSET_IMAGE : thm
    val SUBSET_INSERT : thm
    val SUBSET_INSERT_DELETE : thm
    val SUBSET_INSERT_RIGHT : thm
    val SUBSET_INTER : thm
    val SUBSET_INTER1 : thm
    val SUBSET_INTER2 : thm
    val SUBSET_INTER_ABSORPTION : thm
    val SUBSET_K : thm
    val SUBSET_MAX_SET : thm
    val SUBSET_MIN_SET : thm
    val SUBSET_OF_INSERT : thm
    val SUBSET_POW : thm
    val SUBSET_PSUBSET_TRANS : thm
    val SUBSET_REFL : thm
    val SUBSET_SING : thm
    val SUBSET_THM : thm
    val SUBSET_TRANS : thm
    val SUBSET_UNION : thm
    val SUBSET_UNION_ABSORPTION : thm
    val SUBSET_UNIV : thm
    val SUBSET_applied : thm
    val SUBSET_count_MAX_SET : thm
    val SUBSET_reflexive : thm
    val SUBSET_transitive : thm
    val SUM_IMAGE_ADD : thm
    val SUM_IMAGE_CONG : thm
    val SUM_IMAGE_CONSTANT : thm
    val SUM_IMAGE_DELETE : thm
    val SUM_IMAGE_DISJOINT : thm
    val SUM_IMAGE_EMPTY : thm
    val SUM_IMAGE_INJ_o : thm
    val SUM_IMAGE_INSERT : thm
    val SUM_IMAGE_IN_LE : thm
    val SUM_IMAGE_MONO_LESS : thm
    val SUM_IMAGE_MONO_LESS_EQ : thm
    val SUM_IMAGE_MONO_LT : thm
    val SUM_IMAGE_PERMUTES : thm
    val SUM_IMAGE_SING : thm
    val SUM_IMAGE_SUBSET_LE : thm
    val SUM_IMAGE_THM : thm
    val SUM_IMAGE_UNION : thm
    val SUM_IMAGE_UNION_EQN : thm
    val SUM_IMAGE_ZERO : thm
    val SUM_IMAGE_lower_bound : thm
    val SUM_IMAGE_upper_bound : thm
    val SUM_SAME_IMAGE : thm
    val SUM_SET_DELETE : thm
    val SUM_SET_EMPTY : thm
    val SUM_SET_INSERT : thm
    val SUM_SET_IN_LE : thm
    val SUM_SET_SING : thm
    val SUM_SET_SUBSET_LE : thm
    val SUM_SET_THM : thm
    val SUM_SET_UNION : thm
    val SUM_SET_count : thm
    val SUM_SET_count_2 : thm
    val SUM_UNIV : thm
    val SURJECTIVE_IFF_INJECTIVE : thm
    val SURJECTIVE_IFF_INJECTIVE_GEN : thm
    val SURJ_CARD : thm
    val SURJ_COMPOSE : thm
    val SURJ_CONG : thm
    val SURJ_ELEMENT : thm
    val SURJ_EMPTY : thm
    val SURJ_ID : thm
    val SURJ_IMAGE : thm
    val SURJ_IMP_INJ : thm
    val SURJ_INJ_INV : thm
    val TC_PSUBSET : thm
    val TC_SUBSET_THM : thm
    val UNION_ASSOC : thm
    val UNION_COMM : thm
    val UNION_DELETE : thm
    val UNION_DIFF : thm
    val UNION_DIFF_2 : thm
    val UNION_DIFF_EQ : thm
    val UNION_EMPTY : thm
    val UNION_IDEMPOT : thm
    val UNION_OVER_INTER : thm
    val UNION_SUBSET : thm
    val UNION_UNIV : thm
    val UNION_applied : thm
    val UNIQUE_MEMBER_SING : thm
    val UNIV_BOOL : thm
    val UNIV_FUNSET_UNIV : thm
    val UNIV_FUN_TO_BOOL : thm
    val UNIV_NOT_EMPTY : thm
    val UNIV_SUBSET : thm
    val UNIV_applied : thm
    val X_LE_MAX_SET : thm
    val bigunion_countable : thm
    val chooser_compute : thm
    val compl_insert : thm
    val count_EQN : thm
    val count_add : thm
    val count_add1 : thm
    val countable_EMPTY : thm
    val countable_INSERT : thm
    val countable_Uprod : thm
    val countable_Usum : thm
    val countable_image_nats : thm
    val countable_surj : thm
    val cross_countable : thm
    val cross_countable_IFF : thm
    val disjUNION_EQ_EMPTY : thm
    val disjUNION_UNIV : thm
    val disjointD : thm
    val disjointI : thm
    val disjoint_def : thm
    val disjoint_empty : thm
    val disjoint_image : thm
    val disjoint_insert : thm
    val disjoint_insert_imp : thm
    val disjoint_insert_notin : thm
    val disjoint_restrict : thm
    val disjoint_same : thm
    val disjoint_sing : thm
    val disjoint_two : thm
    val disjoint_union : thm
    val empty_partitions : thm
    val empty_refines : thm
    val equiv_class_eq : thm
    val equiv_on_subset : thm
    val equivalence_same_part : thm
    val finite_countable : thm
    val image_countable : thm
    val in_max_set : thm
    val in_part : thm
    val infinite_num_inj : thm
    val infinite_pow_uncountable : thm
    val infinite_rest : thm
    val inj_countable : thm
    val inj_image_countable_IFF : thm
    val inj_surj : thm
    val inter_countable : thm
    val inv_image_equiv_on : thm
    val is_measure_maximal_INSERT : thm
    val is_measure_maximal_SING : thm
    val num_FINITE : thm
    val num_FINITE_AVOID : thm
    val num_INFINITE : thm
    val num_countable : thm
    val pair_to_num_formula : thm
    val pair_to_num_inv : thm
    val pair_to_num_inv' : thm
    val pairwise_EMPTY : thm
    val pairwise_SUBSET : thm
    val pairwise_UNION : thm
    val part_SING : thm
    val part_in_partition : thm
    val part_partition : thm
    val part_unique : thm
    val partition_CARD : thm
    val partition_SUBSET : thm
    val partition_elements_disjoint : thm
    val partition_elements_interrelate : thm
    val partition_rel_eq : thm
    val partitions_DISJOINT : thm
    val partitions_FINITE : thm
    val partitions_INSERT : thm
    val partitions_PAIR_DISJOINT : thm
    val partitions_SING : thm
    val partitions_covers : thm
    val partitions_empty : thm
    val partitions_inj : thm
    val partitions_thm : thm
    val pow_no_surj : thm
    val prime_PROD_IMAGE : thm
    val refines_antisym : thm
    val refines_grows_parts : thm
    val refines_refl : thm
    val refines_transitive : thm
    val subset_countable : thm
    val transitive_PSUBSET : thm
    val union_countable : thm
    val union_countable_IFF : thm
(*
   [divides] Parent theory of "pred_set"
   
   [numpair] Parent theory of "pred_set"
   
   [BIGINTER]  Definition
      
      ⊒ βˆ€P. BIGINTER P = {x | βˆ€s. s ∈ P β‡’ x ∈ s}
   
   [BIGUNION]  Definition
      
      ⊒ βˆ€P. BIGUNION P = {x | βˆƒs. s ∈ P ∧ x ∈ s}
   
   [BIJ_DEF]  Definition
      
      ⊒ βˆ€f s t. BIJ f s t ⇔ INJ f s t ∧ SURJ f s t
   
   [CARD_DEF]  Definition
      
      ⊒ CARD βˆ… = 0 ∧
        βˆ€s. FINITE s β‡’
            βˆ€x. CARD (x INSERT s) = if x ∈ s then CARD s else SUC (CARD s)
   
   [CHOICE_DEF]  Definition
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ CHOICE s ∈ s
   
   [COMPL_DEF]  Definition
      
      ⊒ βˆ€P. COMPL P = π•Œ(:Ξ±) DIFF P
   
   [CROSS_DEF]  Definition
      
      ⊒ βˆ€P Q. P Γ— Q = {p | FST p ∈ P ∧ SND p ∈ Q}
   
   [DELETE_DEF]  Definition
      
      ⊒ βˆ€s x. s DELETE x = s DIFF {x}
   
   [DFUNSET]  Definition
      
      ⊒ βˆ€P Q. DFUNSET P Q = (Ξ»f. βˆ€x. x ∈ P β‡’ f x ∈ Q x)
   
   [DIFF_DEF]  Definition
      
      ⊒ βˆ€s t. s DIFF t = {x | x ∈ s ∧ x βˆ‰ t}
   
   [DISJOINT_DEF]  Definition
      
      ⊒ βˆ€s t. DISJOINT s t ⇔ s ∩ t = βˆ…
   
   [EMPTY_DEF]  Definition
      
      ⊒ βˆ… = (Ξ»x. F)
   
   [FINITE_DEF]  Definition
      
      ⊒ βˆ€s. FINITE s ⇔ βˆ€P. P βˆ… ∧ (βˆ€s. P s β‡’ βˆ€e. P (e INSERT s)) β‡’ P s
   
   [FUNSET]  Definition
      
      ⊒ βˆ€P Q. FUNSET P Q = (Ξ»f. βˆ€x. x ∈ P β‡’ f x ∈ Q)
   
   [GSPECIFICATION]  Definition
      
      ⊒ βˆ€f v. v ∈ GSPEC f ⇔ βˆƒx. (v,T) = f x
   
   [HAS_SIZE]  Definition
      
      ⊒ βˆ€s n. s HAS_SIZE n ⇔ FINITE s ∧ CARD s = n
   
   [IMAGE_DEF]  Definition
      
      ⊒ βˆ€f s. IMAGE f s = {f x | x ∈ s}
   
   [INJ_DEF]  Definition
      
      ⊒ βˆ€f s t.
          INJ f s t ⇔
          (βˆ€x. x ∈ s β‡’ f x ∈ t) ∧ βˆ€x y. x ∈ s ∧ y ∈ s β‡’ f x = f y β‡’ x = y
   
   [INSERT_DEF]  Definition
      
      ⊒ βˆ€x s. x INSERT s = {y | y = x ∨ y ∈ s}
   
   [INTER_DEF]  Definition
      
      ⊒ βˆ€s t. s ∩ t = {x | x ∈ s ∧ x ∈ t}
   
   [LINV_LO]  Definition
      
      ⊒ βˆ€f s y. LINV f s y = THE (LINV_OPT f s y)
   
   [LINV_OPT_def]  Definition
      
      ⊒ βˆ€f s y.
          LINV_OPT f s y =
          if y ∈ IMAGE f s then SOME (@x. x ∈ s ∧ f x = y) else NONE
   
   [MAX_SET_DEF]  Definition
      
      ⊒ βˆ€s. FINITE s β‡’
            (s β‰  βˆ… β‡’ MAX_SET s ∈ s ∧ βˆ€y. y ∈ s β‡’ y ≀ MAX_SET s) ∧
            (s = βˆ… β‡’ MAX_SET s = 0)
   
   [MIN_SET_DEF]  Definition
      
      ⊒ MIN_SET = $LEAST
   
   [POW_DEF]  Definition
      
      ⊒ βˆ€set. POW set = {s | s βŠ† set}
   
   [PREIMAGE_def]  Definition
      
      ⊒ βˆ€f s. PREIMAGE f s = {x | f x ∈ s}
   
   [PROD_IMAGE_DEF]  Definition
      
      ⊒ βˆ€f s. Ξ  f s = ITSET (Ξ»e acc. f e * acc) s 1
   
   [PROD_SET_DEF]  Definition
      
      ⊒ PROD_SET = Π I
   
   [PSUBSET_DEF]  Definition
      
      ⊒ βˆ€s t. s βŠ‚ t ⇔ s βŠ† t ∧ s β‰  t
   
   [REL_RESTRICT_DEF]  Definition
      
      ⊒ βˆ€R s x y. REL_RESTRICT R s x y ⇔ x ∈ s ∧ y ∈ s ∧ R x y
   
   [REST_DEF]  Definition
      
      ⊒ βˆ€s. REST s = s DELETE CHOICE s
   
   [RINV_LO]  Definition
      
      ⊒ βˆ€f s y. RINV f s y = THE (LINV_OPT f s y)
   
   [SING_DEF]  Definition
      
      ⊒ βˆ€s. SING s ⇔ βˆƒx. s = {x}
   
   [SUBSET_DEF]  Definition
      
      ⊒ βˆ€s t. s βŠ† t ⇔ βˆ€x. x ∈ s β‡’ x ∈ t
   
   [SUM_IMAGE_DEF]  Definition
      
      ⊒ βˆ€f s. βˆ‘ f s = ITSET (Ξ»e acc. f e + acc) s 0
   
   [SUM_SET_DEF]  Definition
      
      ⊒ SUM_SET = βˆ‘ I
   
   [SURJ_DEF]  Definition
      
      ⊒ βˆ€f s t.
          SURJ f s t ⇔
          (βˆ€x. x ∈ s β‡’ f x ∈ t) ∧ βˆ€x. x ∈ t β‡’ βˆƒy. y ∈ s ∧ f y = x
   
   [UNION_DEF]  Definition
      
      ⊒ βˆ€s t. s βˆͺ t = {x | x ∈ s ∨ x ∈ t}
   
   [UNIV_DEF]  Definition
      
      ⊒ π•Œ(:Ξ±) = (Ξ»x. T)
   
   [chooser_def]  Definition
      
      ⊒ (βˆ€s. chooser s 0 = CHOICE s) ∧
        βˆ€s n. chooser s (SUC n) = chooser (REST s) n
   
   [closure_comm_assoc_fun_def]  Definition
      
      ⊒ βˆ€f s.
          closure_comm_assoc_fun f s ⇔
          (βˆ€x y. x ∈ s ∧ y ∈ s β‡’ f x y ∈ s) ∧
          βˆ€x y z. x ∈ s ∧ y ∈ s ∧ z ∈ s β‡’ f x (f y z) = f y (f x z)
   
   [count_def]  Definition
      
      ⊒ βˆ€n. count n = {m | m < n}
   
   [countable_def]  Definition
      
      ⊒ βˆ€s. countable s ⇔ βˆƒf. INJ f s π•Œ(:num)
   
   [disjUNION_def]  Definition
      
      ⊒ βˆ€A B. A βŠ” B = {INL a | a ∈ A} βˆͺ {INR b | b ∈ B}
   
   [disjoint]  Definition
      
      ⊒ disjoint = pairwise (RC DISJOINT)
   
   [enumerate_def]  Definition
      
      ⊒ βˆ€s. enumerate s = @f. BIJ f π•Œ(:num) s
   
   [equiv_on_def]  Definition
      
      ⊒ βˆ€R s.
          R equiv_on s ⇔
          (βˆ€x. x ∈ s β‡’ R x x) ∧ (βˆ€x y. x ∈ s ∧ y ∈ s β‡’ (R x y ⇔ R y x)) ∧
          βˆ€x y z. x ∈ s ∧ y ∈ s ∧ z ∈ s ∧ R x y ∧ R y z β‡’ R x z
   
   [is_measure_maximal_def]  Definition
      
      ⊒ βˆ€m s x. is_measure_maximal m s x ⇔ x ∈ s ∧ βˆ€y. y ∈ s β‡’ m y ≀ m x
   
   [num_to_pair_def]  Definition
      
      ⊒ βˆ€n. num_to_pair n = (nfst n,nsnd n)
   
   [pair_to_num_def]  Definition
      
      ⊒ βˆ€m n. pair_to_num (m,n) = m βŠ— n
   
   [pairwise_def]  Definition
      
      ⊒ βˆ€P s. pairwise P s ⇔ βˆ€e1 e2. e1 ∈ s ∧ e2 ∈ s β‡’ P e1 e2
   
   [part_def]  Definition
      
      ⊒ βˆ€v x. part v x = @s. x ∈ s ∧ s ∈ v
   
   [partition_def]  Definition
      
      ⊒ βˆ€R s. partition R s = {t | βˆƒx. x ∈ s ∧ t = equiv_class R s x}
   
   [partitions_def]  Definition
      
      ⊒ βˆ€X Y. X partitions Y ⇔ βˆƒR. R equiv_on Y ∧ X = partition R Y
   
   [refines_def]  Definition
      
      ⊒ βˆ€v1 v2. v1 refines v2 ⇔ βˆ€s1. s1 ∈ v1 β‡’ βˆƒs2. s2 ∈ v2 ∧ s1 βŠ† s2
   
   [schroeder_close_def]  Definition
      
      ⊒ βˆ€f s x. schroeder_close f s x ⇔ βˆƒn. x ∈ FUNPOW (IMAGE f) n s
   
   [ABSORPTION]  Theorem
      
      ⊒ βˆ€x s. x ∈ s ⇔ x INSERT s = s
   
   [ABSORPTION_RWT]  Theorem
      
      ⊒ βˆ€x s. x ∈ s β‡’ x INSERT s = s
   
   [ABS_DIFF_SUM_IMAGE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            ABS_DIFF (βˆ‘ f s) (βˆ‘ g s) ≀ βˆ‘ (Ξ»x. ABS_DIFF (f x) (g x)) s
   
   [BIGINTER_2]  Theorem
      
      ⊒ βˆ€P Q. BIGINTER {P; Q} = P ∩ Q
   
   [BIGINTER_EMPTY]  Theorem
      
      ⊒ BIGINTER βˆ… = π•Œ(:Ξ±)
   
   [BIGINTER_GSPEC]  Theorem
      
      ⊒ (βˆ€P f. BIGINTER {f x | P x} = {a | βˆ€x. P x β‡’ a ∈ f x}) ∧
        (βˆ€P f. BIGINTER {f x y | P x y} = {a | βˆ€x y. P x y β‡’ a ∈ f x y}) ∧
        βˆ€P f.
          BIGINTER {f x y z | P x y z} =
          {a | βˆ€x y z. P x y z β‡’ a ∈ f x y z}
   
   [BIGINTER_IMAGE]  Theorem
      
      ⊒ βˆ€f s. BIGINTER (IMAGE f s) = {y | βˆ€x. x ∈ s β‡’ y ∈ f x}
   
   [BIGINTER_INSERT]  Theorem
      
      ⊒ βˆ€P B. BIGINTER (P INSERT B) = P ∩ BIGINTER B
   
   [BIGINTER_INTER]  Theorem
      
      ⊒ βˆ€P Q. BIGINTER {P; Q} = P ∩ Q
   
   [BIGINTER_SING]  Theorem
      
      ⊒ βˆ€P. BIGINTER {P} = P
   
   [BIGINTER_SUBSET]  Theorem
      
      ⊒ βˆ€sp s t. t ∈ s ∧ t βŠ† sp β‡’ BIGINTER s βŠ† sp
   
   [BIGINTER_UNION]  Theorem
      
      ⊒ βˆ€s1 s2. BIGINTER (s1 βˆͺ s2) = BIGINTER s1 ∩ BIGINTER s2
   
   [BIGINTER_applied]  Theorem
      
      ⊒ BIGINTER B x ⇔ βˆ€P. P ∈ B β‡’ x ∈ P
   
   [BIGUNION_CROSS]  Theorem
      
      ⊒ βˆ€f s t. BIGUNION (IMAGE f s) Γ— t = BIGUNION (IMAGE (Ξ»n. f n Γ— t) s)
   
   [BIGUNION_EMPTY]  Theorem
      
      ⊒ BIGUNION βˆ… = βˆ…
   
   [BIGUNION_EQ_EMPTY]  Theorem
      
      ⊒ βˆ€P. (BIGUNION P = βˆ… ⇔ P = βˆ… ∨ P = {βˆ…}) ∧
            (βˆ… = BIGUNION P ⇔ P = βˆ… ∨ P = {βˆ…})
   
   [BIGUNION_GSPEC]  Theorem
      
      ⊒ (βˆ€P f. BIGUNION {f x | P x} = {a | βˆƒx. P x ∧ a ∈ f x}) ∧
        (βˆ€P f. BIGUNION {f x y | P x y} = {a | βˆƒx y. P x y ∧ a ∈ f x y}) ∧
        βˆ€P f.
          BIGUNION {f x y z | P x y z} =
          {a | βˆƒx y z. P x y z ∧ a ∈ f x y z}
   
   [BIGUNION_IMAGE]  Theorem
      
      ⊒ βˆ€f s. BIGUNION (IMAGE f s) = {y | βˆƒx. x ∈ s ∧ y ∈ f x}
   
   [BIGUNION_IMAGE_SUBSET]  Theorem
      
      ⊒ βˆ€f s t. BIGUNION (IMAGE f s) βŠ† t ⇔ βˆ€x. x ∈ s β‡’ f x βŠ† t
   
   [BIGUNION_IMAGE_UNIV]  Theorem
      
      ⊒ βˆ€f N.
          (βˆ€n. N ≀ n β‡’ f n = βˆ…) β‡’
          BIGUNION (IMAGE f π•Œ(:num)) = BIGUNION (IMAGE f (count N))
   
   [BIGUNION_INSERT]  Theorem
      
      ⊒ βˆ€s P. BIGUNION (s INSERT P) = s βˆͺ BIGUNION P
   
   [BIGUNION_PAIR]  Theorem
      
      ⊒ βˆ€s t. BIGUNION {s; t} = s βˆͺ t
   
   [BIGUNION_SING]  Theorem
      
      ⊒ βˆ€x. BIGUNION {x} = x
   
   [BIGUNION_SUBSET]  Theorem
      
      ⊒ βˆ€X P. BIGUNION P βŠ† X ⇔ βˆ€Y. Y ∈ P β‡’ Y βŠ† X
   
   [BIGUNION_UNION]  Theorem
      
      ⊒ βˆ€s1 s2. BIGUNION (s1 βˆͺ s2) = BIGUNION s1 βˆͺ BIGUNION s2
   
   [BIGUNION_applied]  Theorem
      
      ⊒ βˆ€x sos. BIGUNION sos x ⇔ βˆƒs. x ∈ s ∧ s ∈ sos
   
   [BIGUNION_partition]  Theorem
      
      ⊒ R equiv_on s β‡’ BIGUNION (partition R s) = s
   
   [BIJ_ALT]  Theorem
      
      ⊒ βˆ€f s t.
          BIJ f s t ⇔ f ∈ FUNSET s t ∧ βˆ€y. y ∈ t β‡’ βˆƒ!x. x ∈ s ∧ y = f x
   
   [BIJ_COMPOSE]  Theorem
      
      ⊒ βˆ€f g s t u. BIJ f s t ∧ BIJ g t u β‡’ BIJ (g ∘ f) s u
   
   [BIJ_CONG]  Theorem
      
      ⊒ βˆ€f g s t. (βˆ€x. x ∈ s β‡’ f x = g x) β‡’ (BIJ f s t ⇔ BIJ g s t)
   
   [BIJ_DELETE]  Theorem
      
      ⊒ βˆ€s t f. BIJ f s t β‡’ βˆ€e. e ∈ s β‡’ BIJ f (s DELETE e) (t DELETE f e)
   
   [BIJ_ELEMENT]  Theorem
      
      ⊒ βˆ€f s t x. BIJ f s t ∧ x ∈ s β‡’ f x ∈ t
   
   [BIJ_EMPTY]  Theorem
      
      ⊒ βˆ€f. (βˆ€s. BIJ f βˆ… s ⇔ s = βˆ…) ∧ βˆ€s. BIJ f s βˆ… ⇔ s = βˆ…
   
   [BIJ_FINITE]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t ∧ FINITE s β‡’ FINITE t
   
   [BIJ_FINITE_IFF]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t β‡’ (FINITE s ⇔ FINITE t)
   
   [BIJ_FINITE_SUBSET]  Theorem
      
      ⊒ βˆ€f s t.
          BIJ f π•Œ(:num) s ∧ FINITE t ∧ t βŠ† s β‡’ βˆƒN. βˆ€n. N ≀ n β‡’ f n βˆ‰ t
   
   [BIJ_ID]  Theorem
      
      ⊒ βˆ€s. (Ξ»x. x) PERMUTES s
   
   [BIJ_IFF_INV]  Theorem
      
      ⊒ βˆ€f s t.
          BIJ f s t ⇔
          (βˆ€x. x ∈ s β‡’ f x ∈ t) ∧
          βˆƒg. (βˆ€x. x ∈ t β‡’ g x ∈ s) ∧ (βˆ€x. x ∈ s β‡’ g (f x) = x) ∧
              βˆ€x. x ∈ t β‡’ f (g x) = x
   
   [BIJ_IMAGE]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t β‡’ t = IMAGE f s
   
   [BIJ_IMAGE_partitions]  Theorem
      
      ⊒ βˆ€f x y v.
          BIJ f x y ∧ v partitions x β‡’ IMAGE (IMAGE f) v partitions y
   
   [BIJ_IMP_11]  Theorem
      
      ⊒ BIJ f π•Œ(:Ξ±) π•Œ(:Ξ²) β‡’ βˆ€x y. f x = f y ⇔ x = y
   
   [BIJ_INJ_SURJ]  Theorem
      
      ⊒ βˆ€s t. (βˆƒf. INJ f s t) ∧ (βˆƒg. SURJ g s t) β‡’ βˆƒh. BIJ h s t
   
   [BIJ_INSERT]  Theorem
      
      ⊒ βˆ€f e s t.
          BIJ f (e INSERT s) t ⇔
          e βˆ‰ s ∧ f e ∈ t ∧ BIJ f s (t DELETE f e) ∨ e ∈ s ∧ BIJ f s t
   
   [BIJ_INSERT_IMP]  Theorem
      
      ⊒ βˆ€f e s t.
          e βˆ‰ s ∧ BIJ f (e INSERT s) t β‡’
          βˆƒu. f e INSERT u = t ∧ f e βˆ‰ u ∧ BIJ f s u
   
   [BIJ_INV]  Theorem
      
      ⊒ βˆ€f s t.
          BIJ f s t β‡’
          βˆƒg. BIJ g t s ∧ (βˆ€x. x ∈ s β‡’ (g ∘ f) x = x) ∧
              βˆ€x. x ∈ t β‡’ (f ∘ g) x = x
   
   [BIJ_IS_INJ]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t β‡’ βˆ€x y. x ∈ s ∧ y ∈ s ∧ f x = f y β‡’ x = y
   
   [BIJ_IS_SURJ]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t β‡’ βˆ€x. x ∈ t β‡’ βˆƒy. y ∈ s ∧ f y = x
   
   [BIJ_I_SAME]  Theorem
      
      ⊒ βˆ€s. I PERMUTES s
   
   [BIJ_LINV_BIJ]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t β‡’ BIJ (LINV f s) t s
   
   [BIJ_LINV_INV]  Theorem
      
      ⊒ βˆ€f s t. BIJ f s t β‡’ βˆ€x. x ∈ t β‡’ f (LINV f s x) = x
   
   [BIJ_NUM_COUNTABLE]  Theorem
      
      ⊒ βˆ€s. (βˆƒf. BIJ f π•Œ(:num) s) β‡’ countable s
   
   [BIJ_NUM_TO_PAIR]  Theorem
      
      ⊒ BIJ num_to_pair π•Œ(:num) (π•Œ(:num) Γ— π•Œ(:num))
   
   [BIJ_PAIR_TO_NUM]  Theorem
      
      ⊒ BIJ pair_to_num (π•Œ(:num) Γ— π•Œ(:num)) π•Œ(:num)
   
   [BIJ_SWAP]  Theorem
      
      ⊒ BIJ SWAP (π•Œ(:Ξ±) Γ— π•Œ(:Ξ²)) (π•Œ(:Ξ²) Γ— π•Œ(:Ξ±))
   
   [BIJ_SYM]  Theorem
      
      ⊒ βˆ€s t. (βˆƒf. BIJ f s t) ⇔ βˆƒg. BIJ g t s
   
   [BIJ_SYM_IMP]  Theorem
      
      ⊒ βˆ€s t. (βˆƒf. BIJ f s t) β‡’ βˆƒg. BIJ g t s
   
   [BIJ_THM]  Theorem
      
      ⊒ βˆ€f s t.
          BIJ f s t ⇔
          (βˆ€x. x ∈ s β‡’ f x ∈ t) ∧ βˆ€y. y ∈ t β‡’ βˆƒ!x. x ∈ s ∧ f x = y
   
   [BIJ_TRANS]  Theorem
      
      ⊒ βˆ€s t u. (βˆƒf. BIJ f s t) ∧ (βˆƒg. BIJ g t u) β‡’ βˆƒh. BIJ h s u
   
   [BIJ_support]  Theorem
      
      ⊒ βˆ€f s' s.
          f PERMUTES s' ∧ s' βŠ† s ∧ (βˆ€x. x βˆ‰ s' β‡’ f x = x) β‡’ f PERMUTES s
   
   [CARD_AS_SIGMA]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ CARD s = βˆ‘ (Ξ»x. 1) s
   
   [CARD_BIGUNION_SAME_SIZED_SETS]  Theorem
      
      ⊒ βˆ€n s.
          FINITE s ∧ (βˆ€e. e ∈ s β‡’ FINITE e ∧ CARD e = n) ∧
          (βˆ€e1 e2. e1 ∈ s ∧ e2 ∈ s ∧ e1 β‰  e2 β‡’ DISJOINT e1 e2) β‡’
          CARD (BIGUNION s) = CARD s * n
   
   [CARD_CLAUSES]  Theorem
      
      ⊒ CARD βˆ… = 0 ∧
        βˆ€s. FINITE s β‡’
            βˆ€x. CARD (x INSERT s) = if x ∈ s then CARD s else SUC (CARD s)
   
   [CARD_COUNT]  Theorem
      
      ⊒ βˆ€n. CARD (count n) = n
   
   [CARD_CROSS]  Theorem
      
      ⊒ βˆ€P Q. FINITE P ∧ FINITE Q β‡’ CARD (P Γ— Q) = CARD P * CARD Q
   
   [CARD_DELETE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€x. CARD (s DELETE x) = if x ∈ s then CARD s βˆ’ 1 else CARD s
   
   [CARD_DIFF]  Theorem
      
      ⊒ βˆ€t. FINITE t β‡’
            βˆ€s. FINITE s β‡’ CARD (s DIFF t) = CARD s βˆ’ CARD (s ∩ t)
   
   [CARD_DIFF_EQN]  Theorem
      
      ⊒ βˆ€t s. FINITE s β‡’ CARD (s DIFF t) = CARD s βˆ’ CARD (s ∩ t)
   
   [CARD_EMPTY]  Theorem
      
      ⊒ CARD βˆ… = 0
   
   [CARD_EQ_0]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ (CARD s = 0 ⇔ s = βˆ…)
   
   [CARD_EQ_SIGMA]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ CARD s = βˆ‘ (K 1) s
   
   [CARD_IMAGE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ CARD (IMAGE f s) ≀ CARD s
   
   [CARD_IMAGE_INJ]  Theorem
      
      ⊒ βˆ€f s.
          (βˆ€x y. x ∈ s ∧ y ∈ s ∧ f x = f y β‡’ x = y) ∧ FINITE s β‡’
          CARD (IMAGE f s) = CARD s
   
   [CARD_IMAGE_LE]  Theorem
      
      ⊒ βˆ€f s. FINITE s β‡’ CARD (IMAGE f s) ≀ CARD s
   
   [CARD_IMAGE_SUC]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ CARD (IMAGE SUC s) = CARD s
   
   [CARD_INJ_IMAGE]  Theorem
      
      ⊒ βˆ€f s.
          (βˆ€x y. f x = f y ⇔ x = y) ∧ FINITE s β‡’ CARD (IMAGE f s) = CARD s
   
   [CARD_INSERT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€x. CARD (x INSERT s) = if x ∈ s then CARD s else SUC (CARD s)
   
   [CARD_INTER_LESS_EQ]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. CARD (s ∩ t) ≀ CARD s
   
   [CARD_LE_MAX_SET]  Theorem
      
      ⊒ FINITE s β‡’ CARD s ≀ MAX_SET s + 1
   
   [CARD_POW]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ CARD (POW s) = 2 ** CARD s
   
   [CARD_PRODUCT]  Theorem
      
      ⊒ βˆ€s t.
          FINITE s ∧ FINITE t β‡’
          CARD {(x,y) | x ∈ s ∧ y ∈ t} = CARD s * CARD t
   
   [CARD_PSUBSET]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. t βŠ‚ s β‡’ CARD t < CARD s
   
   [CARD_REST]  Theorem
      
      ⊒ βˆ€s. FINITE s ∧ s β‰  βˆ… β‡’ CARD (REST s) = CARD s βˆ’ 1
   
   [CARD_SING]  Theorem
      
      ⊒ βˆ€x. CARD {x} = 1
   
   [CARD_SING_CROSS]  Theorem
      
      ⊒ βˆ€x P. FINITE P β‡’ CARD ({x} Γ— P) = CARD P
   
   [CARD_SUBSET]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. t βŠ† s β‡’ CARD t ≀ CARD s
   
   [CARD_UNION]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€t. FINITE t β‡’ CARD (s βˆͺ t) + CARD (s ∩ t) = CARD s + CARD t
   
   [CARD_UNION_DISJOINT]  Theorem
      
      ⊒ βˆ€s t.
          FINITE s ∧ FINITE t ∧ DISJOINT s t β‡’
          CARD (s βˆͺ t) = CARD s + CARD t
   
   [CARD_UNION_EQN]  Theorem
      
      ⊒ βˆ€s t.
          FINITE s ∧ FINITE t β‡’
          CARD (s βˆͺ t) = CARD s + CARD t βˆ’ CARD (s ∩ t)
   
   [CARD_UNION_LE]  Theorem
      
      ⊒ FINITE s ∧ FINITE t β‡’ CARD (s βˆͺ t) ≀ CARD s + CARD t
   
   [CARD_disjUNION]  Theorem
      
      ⊒ FINITE s ∧ FINITE t β‡’ CARD (s βŠ” t) = CARD s + CARD t
   
   [CHOICE_INSERT_REST]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ CHOICE s INSERT REST s = s
   
   [CHOICE_INTRO]  Theorem
      
      ⊒ (βˆƒx. x ∈ s) ∧ (βˆ€x. x ∈ s β‡’ P x) β‡’ P (CHOICE s)
   
   [CHOICE_NOT_IN_REST]  Theorem
      
      ⊒ βˆ€s. CHOICE s βˆ‰ REST s
   
   [CHOICE_SING]  Theorem
      
      ⊒ βˆ€x. CHOICE {x} = x
   
   [COMMUTING_ITSET_INSERT]  Theorem
      
      ⊒ βˆ€f s.
          (βˆ€x y z. f x (f y z) = f y (f x z)) ∧ FINITE s β‡’
          βˆ€x b. ITSET f (x INSERT s) b = ITSET f (s DELETE x) (f x b)
   
   [COMMUTING_ITSET_RECURSES]  Theorem
      
      ⊒ βˆ€f e s b.
          (βˆ€x y z. f x (f y z) = f y (f x z)) ∧ FINITE s β‡’
          ITSET f (e INSERT s) b = f e (ITSET f (s DELETE e) b)
   
   [COMPL_CLAUSES]  Theorem
      
      ⊒ βˆ€s. COMPL s ∩ s = βˆ… ∧ COMPL s βˆͺ s = π•Œ(:Ξ±)
   
   [COMPL_COMPL]  Theorem
      
      ⊒ βˆ€s. COMPL (COMPL s) = s
   
   [COMPL_EMPTY]  Theorem
      
      ⊒ COMPL βˆ… = π•Œ(:Ξ±)
   
   [COMPL_INTER]  Theorem
      
      ⊒ x ∩ COMPL x = βˆ… ∧ COMPL x ∩ x = βˆ…
   
   [COMPL_SPLITS]  Theorem
      
      ⊒ βˆ€p q. p ∩ q βˆͺ COMPL p ∩ q = q
   
   [COMPL_UNION]  Theorem
      
      ⊒ COMPL (s βˆͺ t) = COMPL s ∩ COMPL t
   
   [COMPL_applied]  Theorem
      
      ⊒ βˆ€x s. COMPL s x ⇔ x βˆ‰ s
   
   [COMPONENT]  Theorem
      
      ⊒ βˆ€x s. x ∈ x INSERT s
   
   [COUNTABLE_ALT]  Theorem
      
      ⊒ βˆ€s. countable s ⇔ βˆƒf. βˆ€x. x ∈ s β‡’ βˆƒn. f n = x
   
   [COUNTABLE_ALT_BIJ]  Theorem
      
      ⊒ βˆ€s. countable s ⇔ FINITE s ∨ BIJ (enumerate s) π•Œ(:num) s
   
   [COUNTABLE_COUNT]  Theorem
      
      ⊒ βˆ€n. countable (count n)
   
   [COUNTABLE_ENUM]  Theorem
      
      ⊒ βˆ€c. countable c ⇔ c = βˆ… ∨ βˆƒf. c = IMAGE f π•Œ(:num)
   
   [COUNTABLE_IMAGE_NUM]  Theorem
      
      ⊒ βˆ€f s. countable (IMAGE f s)
   
   [COUNTABLE_NUM]  Theorem
      
      ⊒ βˆ€s. countable s
   
   [COUNTABLE_SUBSET]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t ∧ countable t β‡’ countable s
   
   [COUNT_11]  Theorem
      
      ⊒ βˆ€n1 n2. count n1 = count n2 ⇔ n1 = n2
   
   [COUNT_DELETE]  Theorem
      
      ⊒ βˆ€n. count n DELETE n = count n
   
   [COUNT_EQ_EMPTY]  Theorem
      
      ⊒ count n = βˆ… ⇔ n = 0
   
   [COUNT_MONO]  Theorem
      
      ⊒ βˆ€m n. m ≀ n β‡’ count m βŠ† count n
   
   [COUNT_NOT_EMPTY]  Theorem
      
      ⊒ βˆ€n. 0 < n ⇔ count n β‰  βˆ…
   
   [COUNT_ONE]  Theorem
      
      ⊒ count 1 = {0}
   
   [COUNT_SUC]  Theorem
      
      ⊒ βˆ€n. count (SUC n) = n INSERT count n
   
   [COUNT_ZERO]  Theorem
      
      ⊒ count 0 = βˆ…
   
   [COUNT_applied]  Theorem
      
      ⊒ βˆ€m n. count n m ⇔ m < n
   
   [CROSS_BIGUNION]  Theorem
      
      ⊒ βˆ€f s t. s Γ— BIGUNION (IMAGE f t) = BIGUNION (IMAGE (Ξ»n. s Γ— f n) t)
   
   [CROSS_EMPTY]  Theorem
      
      ⊒ βˆ€P. P Γ— βˆ… = βˆ… ∧ βˆ… Γ— P = βˆ…
   
   [CROSS_EMPTY_EQN]  Theorem
      
      ⊒ s Γ— t = βˆ… ⇔ s = βˆ… ∨ t = βˆ…
   
   [CROSS_EQNS]  Theorem
      
      ⊒ βˆ€s1 s2.
          βˆ… Γ— s2 = βˆ… ∧ (a INSERT s1) Γ— s2 = IMAGE (Ξ»y. (a,y)) s2 βˆͺ s1 Γ— s2
   
   [CROSS_INSERT_LEFT]  Theorem
      
      ⊒ βˆ€P Q x. (x INSERT P) Γ— Q = {x} Γ— Q βˆͺ P Γ— Q
   
   [CROSS_INSERT_RIGHT]  Theorem
      
      ⊒ βˆ€P Q x. P Γ— (x INSERT Q) = P Γ— {x} βˆͺ P Γ— Q
   
   [CROSS_SINGS]  Theorem
      
      ⊒ βˆ€x y. {x} Γ— {y} = {(x,y)}
   
   [CROSS_SUBSET]  Theorem
      
      ⊒ βˆ€P Q P0 Q0. P0 Γ— Q0 βŠ† P Γ— Q ⇔ P0 = βˆ… ∨ Q0 = βˆ… ∨ P0 βŠ† P ∧ Q0 βŠ† Q
   
   [CROSS_UNIV]  Theorem
      
      ⊒ π•Œ(:Ξ± # Ξ²) = π•Œ(:Ξ±) Γ— π•Œ(:Ξ²)
   
   [CROSS_applied]  Theorem
      
      ⊒ βˆ€P Q x. (P Γ— Q) x ⇔ FST x ∈ P ∧ SND x ∈ Q
   
   [DECOMPOSITION]  Theorem
      
      ⊒ βˆ€s x. x ∈ s ⇔ βˆƒt. s = x INSERT t ∧ x βˆ‰ t
   
   [DELETE_COMM]  Theorem
      
      ⊒ βˆ€x y s. s DELETE x DELETE y = s DELETE y DELETE x
   
   [DELETE_DELETE]  Theorem
      
      ⊒ βˆ€x s. s DELETE x DELETE x = s DELETE x
   
   [DELETE_EQ_SING]  Theorem
      
      ⊒ βˆ€s x. x ∈ s β‡’ (s DELETE x = βˆ… ⇔ s = {x})
   
   [DELETE_INSERT]  Theorem
      
      ⊒ βˆ€x y s.
          (x INSERT s) DELETE y =
          if x = y then s DELETE y else x INSERT s DELETE y
   
   [DELETE_INTER]  Theorem
      
      ⊒ βˆ€s t x. (s DELETE x) ∩ t = s ∩ t DELETE x
   
   [DELETE_NON_ELEMENT]  Theorem
      
      ⊒ βˆ€x s. x βˆ‰ s ⇔ s DELETE x = s
   
   [DELETE_NON_ELEMENT_RWT]  Theorem
      
      ⊒ βˆ€s x. x βˆ‰ s β‡’ s DELETE x = s
   
   [DELETE_SUBSET]  Theorem
      
      ⊒ βˆ€x s. s DELETE x βŠ† s
   
   [DELETE_SUBSET_INSERT]  Theorem
      
      ⊒ βˆ€s e s2. s DELETE e βŠ† s2 ⇔ s βŠ† e INSERT s2
   
   [DELETE_applied]  Theorem
      
      ⊒ βˆ€s x y. (s DELETE y) x ⇔ x ∈ s ∧ x β‰  y
   
   [DFUNSET_applied]  Theorem
      
      ⊒ βˆ€f P Q. DFUNSET P Q f ⇔ βˆ€x. x ∈ P β‡’ f x ∈ Q x
   
   [DIFF_BIGINTER]  Theorem
      
      ⊒ βˆ€sp s.
          (βˆ€t. t ∈ s β‡’ t βŠ† sp) ∧ s β‰  βˆ… β‡’
          BIGINTER s = sp DIFF BIGUNION (IMAGE (Ξ»u. sp DIFF u) s)
   
   [DIFF_BIGINTER1]  Theorem
      
      ⊒ βˆ€sp s. sp DIFF BIGINTER s = BIGUNION (IMAGE (Ξ»u. sp DIFF u) s)
   
   [DIFF_COMM]  Theorem
      
      ⊒ βˆ€x y z. x DIFF y DIFF z = x DIFF z DIFF y
   
   [DIFF_DIFF]  Theorem
      
      ⊒ βˆ€s t. s DIFF t DIFF t = s DIFF t
   
   [DIFF_DIFF_SUBSET]  Theorem
      
      ⊒ βˆ€s t. t βŠ† s β‡’ s DIFF (s DIFF t) = t
   
   [DIFF_EMPTY]  Theorem
      
      ⊒ βˆ€s. s DIFF βˆ… = s
   
   [DIFF_EQ_EMPTY]  Theorem
      
      ⊒ βˆ€s. s DIFF s = βˆ…
   
   [DIFF_INSERT]  Theorem
      
      ⊒ βˆ€s t x. s DIFF (x INSERT t) = s DELETE x DIFF t
   
   [DIFF_INTER]  Theorem
      
      ⊒ βˆ€s t g. (s DIFF t) ∩ g = s ∩ g DIFF t
   
   [DIFF_INTER2]  Theorem
      
      ⊒ βˆ€s t. s DIFF t ∩ s = s DIFF t
   
   [DIFF_INTER_COMPL]  Theorem
      
      ⊒ βˆ€s t. s DIFF t = s ∩ COMPL t
   
   [DIFF_INTER_SUBSET]  Theorem
      
      ⊒ βˆ€r s t. r βŠ† s β‡’ r DIFF s ∩ t = r DIFF t
   
   [DIFF_SAME_UNION]  Theorem
      
      ⊒ βˆ€x y. x βˆͺ y DIFF x = y DIFF x ∧ x βˆͺ y DIFF y = x DIFF y
   
   [DIFF_SUBSET]  Theorem
      
      ⊒ βˆ€s t. s DIFF t βŠ† s
   
   [DIFF_UNION]  Theorem
      
      ⊒ βˆ€x y z. x DIFF (y βˆͺ z) = x DIFF y DIFF z
   
   [DIFF_UNIV]  Theorem
      
      ⊒ βˆ€s. s DIFF π•Œ(:Ξ±) = βˆ…
   
   [DIFF_applied]  Theorem
      
      ⊒ βˆ€s t x. (s DIFF t) x ⇔ x ∈ s ∧ x βˆ‰ t
   
   [DISJOINT_ALT]  Theorem
      
      ⊒ βˆ€s t. DISJOINT s t ⇔ βˆ€x. x ∈ s β‡’ x βˆ‰ t
   
   [DISJOINT_ALT']  Theorem
      
      ⊒ βˆ€s t. DISJOINT s t ⇔ βˆ€x. x ∈ t β‡’ x βˆ‰ s
   
   [DISJOINT_BIGINTER]  Theorem
      
      ⊒ βˆ€X Y P.
          Y ∈ P ∧ DISJOINT Y X β‡’
          DISJOINT X (BIGINTER P) ∧ DISJOINT (BIGINTER P) X
   
   [DISJOINT_BIGUNION]  Theorem
      
      ⊒ (βˆ€s t. DISJOINT (BIGUNION s) t ⇔ βˆ€s'. s' ∈ s β‡’ DISJOINT s' t) ∧
        βˆ€s t. DISJOINT t (BIGUNION s) ⇔ βˆ€s'. s' ∈ s β‡’ DISJOINT t s'
   
   [DISJOINT_COUNT]  Theorem
      
      ⊒ βˆ€f. (βˆ€m n. m β‰  n β‡’ DISJOINT (f m) (f n)) β‡’
            βˆ€n. DISJOINT (f n) (BIGUNION (IMAGE f (count n)))
   
   [DISJOINT_DELETE_SYM]  Theorem
      
      ⊒ βˆ€s t x. DISJOINT (s DELETE x) t ⇔ DISJOINT (t DELETE x) s
   
   [DISJOINT_DIFF]  Theorem
      
      ⊒ βˆ€s t. DISJOINT t (s DIFF t) ∧ DISJOINT (s DIFF t) t
   
   [DISJOINT_DIFFS]  Theorem
      
      ⊒ βˆ€f g m n.
          (βˆ€n. f n βŠ† f (SUC n)) ∧ (βˆ€n. g n = f (SUC n) DIFF f n) ∧ m β‰  n β‡’
          DISJOINT (g m) (g n)
   
   [DISJOINT_EMPTY]  Theorem
      
      ⊒ βˆ€s. DISJOINT βˆ… s ∧ DISJOINT s βˆ…
   
   [DISJOINT_EMPTY_REFL]  Theorem
      
      ⊒ βˆ€s. s = βˆ… ⇔ DISJOINT s s
   
   [DISJOINT_EMPTY_REFL_RWT]  Theorem
      
      ⊒ βˆ€s. DISJOINT s s ⇔ s = βˆ…
   
   [DISJOINT_IMAGE]  Theorem
      
      ⊒ (βˆ€x y. f x = f y ⇔ x = y) β‡’
        (DISJOINT (IMAGE f s1) (IMAGE f s2) ⇔ DISJOINT s1 s2)
   
   [DISJOINT_INSERT]  Theorem
      
      ⊒ βˆ€x s t. DISJOINT (x INSERT s) t ⇔ DISJOINT s t ∧ x βˆ‰ t
   
   [DISJOINT_INSERT']  Theorem
      
      ⊒ βˆ€x s t. DISJOINT t (x INSERT s) ⇔ DISJOINT t s ∧ x βˆ‰ t
   
   [DISJOINT_SING_EMPTY]  Theorem
      
      ⊒ βˆ€x. DISJOINT {x} βˆ…
   
   [DISJOINT_SUBSET]  Theorem
      
      ⊒ βˆ€s t u. DISJOINT s t ∧ u βŠ† t β‡’ DISJOINT s u
   
   [DISJOINT_SUBSET']  Theorem
      
      ⊒ βˆ€s t u. DISJOINT s t ∧ u βŠ† s β‡’ DISJOINT u t
   
   [DISJOINT_SYM]  Theorem
      
      ⊒ βˆ€s t. DISJOINT s t ⇔ DISJOINT t s
   
   [DISJOINT_UNION]  Theorem
      
      ⊒ βˆ€s t u. DISJOINT (s βˆͺ t) u ⇔ DISJOINT s u ∧ DISJOINT t u
   
   [DISJOINT_UNION']  Theorem
      
      ⊒ βˆ€s t u. DISJOINT u (s βˆͺ t) ⇔ DISJOINT u s ∧ DISJOINT u t
   
   [DISJOINT_UNION_BOTH]  Theorem
      
      ⊒ βˆ€s t u.
          (DISJOINT (s βˆͺ t) u ⇔ DISJOINT s u ∧ DISJOINT t u) ∧
          (DISJOINT u (s βˆͺ t) ⇔ DISJOINT s u ∧ DISJOINT t u)
   
   [ELT_IN_DELETE]  Theorem
      
      ⊒ βˆ€x s. x βˆ‰ s DELETE x
   
   [EMPTY_DELETE]  Theorem
      
      ⊒ βˆ€x. βˆ… DELETE x = βˆ…
   
   [EMPTY_DIFF]  Theorem
      
      ⊒ βˆ€s. βˆ… DIFF s = βˆ…
   
   [EMPTY_FUNSET]  Theorem
      
      ⊒ βˆ€s. FUNSET βˆ… s = π•Œ(:Ξ± -> Ξ²)
   
   [EMPTY_IN_POW]  Theorem
      
      ⊒ βˆ€s. βˆ… ∈ POW s
   
   [EMPTY_NOT_IN_partition]  Theorem
      
      ⊒ R equiv_on s β‡’ βˆ… βˆ‰ partition R s
   
   [EMPTY_NOT_UNIV]  Theorem
      
      ⊒ βˆ… β‰  π•Œ(:Ξ±)
   
   [EMPTY_SUBSET]  Theorem
      
      ⊒ βˆ€s. βˆ… βŠ† s
   
   [EMPTY_UNION]  Theorem
      
      ⊒ βˆ€s t. s βˆͺ t = βˆ… ⇔ s = βˆ… ∧ t = βˆ…
   
   [EMPTY_applied]  Theorem
      
      ⊒ βˆ… x ⇔ F
   
   [ENUMERATE]  Theorem
      
      ⊒ βˆ€s. (βˆƒf. BIJ f π•Œ(:num) s) ⇔ BIJ (enumerate s) π•Œ(:num) s
   
   [EQUAL_SING]  Theorem
      
      ⊒ βˆ€x y. {x} = {y} ⇔ x = y
   
   [EQ_SUBSET_SUBSET]  Theorem
      
      ⊒ βˆ€s t. s = t β‡’ s βŠ† t ∧ t βŠ† s
   
   [EQ_UNIV]  Theorem
      
      ⊒ (βˆ€x. x ∈ s) ⇔ s = π•Œ(:Ξ±)
   
   [EXISTS_IN_IMAGE]  Theorem
      
      ⊒ βˆ€P f s. (βˆƒy. y ∈ IMAGE f s ∧ P y) ⇔ βˆƒx. x ∈ s ∧ P (f x)
   
   [EXISTS_IN_INSERT]  Theorem
      
      ⊒ βˆ€P a s. (βˆƒx. x ∈ a INSERT s ∧ P x) ⇔ P a ∨ βˆƒx. x ∈ s ∧ P x
   
   [EXPLICIT_ENUMERATE_MONO]  Theorem
      
      ⊒ βˆ€n s. FUNPOW REST n s βŠ† s
   
   [EXPLICIT_ENUMERATE_NOT_EMPTY]  Theorem
      
      ⊒ βˆ€n s. INFINITE s β‡’ FUNPOW REST n s β‰  βˆ…
   
   [EXTENSION]  Theorem
      
      ⊒ βˆ€s t. s = t ⇔ βˆ€x. x ∈ s ⇔ x ∈ t
   
   [EXTENSIONAL]  Theorem
      
      ⊒ βˆ€s. EXTENSIONAL s = {f | βˆ€x. x βˆ‰ s β‡’ f x = ARB}
   
   [EXTENSIONAL_EMPTY]  Theorem
      
      ⊒ EXTENSIONAL βˆ… = {(Ξ»x. ARB)}
   
   [EXTENSIONAL_EQ]  Theorem
      
      ⊒ βˆ€s f g.
          f ∈ EXTENSIONAL s ∧ g ∈ EXTENSIONAL s ∧ (βˆ€x. x ∈ s β‡’ f x = g x) β‡’
          f = g
   
   [EXTENSIONAL_UNIV]  Theorem
      
      ⊒ βˆ€f. EXTENSIONAL π•Œ(:Ξ±) f
   
   [FINITELY_INJECTIVE_IMAGE_FINITE]  Theorem
      
      ⊒ βˆ€f. (βˆ€x. FINITE {y | x = f y}) β‡’ βˆ€s. FINITE (IMAGE f s) ⇔ FINITE s
   
   [FINITE_BIGINTER]  Theorem
      
      ⊒ (βˆƒs. s ∈ P ∧ FINITE s) β‡’ FINITE (BIGINTER P)
   
   [FINITE_BIGUNION]  Theorem
      
      ⊒ βˆ€P. FINITE P ∧ (βˆ€s. s ∈ P β‡’ FINITE s) β‡’ FINITE (BIGUNION P)
   
   [FINITE_BIGUNION_EQ]  Theorem
      
      ⊒ βˆ€P. FINITE (BIGUNION P) ⇔ FINITE P ∧ βˆ€s. s ∈ P β‡’ FINITE s
   
   [FINITE_BIJ]  Theorem
      
      ⊒ βˆ€f s t. FINITE s ∧ BIJ f s t β‡’ FINITE t ∧ CARD s = CARD t
   
   [FINITE_BIJ_CARD]  Theorem
      
      ⊒ βˆ€f s t. FINITE s ∧ BIJ f s t β‡’ CARD s = CARD t
   
   [FINITE_BIJ_CARD_EQ]  Theorem
      
      ⊒ βˆ€S. FINITE S β‡’ βˆ€t f. BIJ f S t ∧ FINITE t β‡’ CARD S = CARD t
   
   [FINITE_BIJ_COUNT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆƒf b. BIJ f (count b) s
   
   [FINITE_BIJ_COUNT_EQ]  Theorem
      
      ⊒ βˆ€s. FINITE s ⇔ βˆƒc n. BIJ c (count n) s
   
   [FINITE_CARD_IMAGE]  Theorem
      
      ⊒ βˆ€s f.
          (βˆ€x y. f x = f y ⇔ x = y) ∧ FINITE s β‡’ CARD (IMAGE f s) = CARD s
   
   [FINITE_COMPLETE_INDUCTION]  Theorem
      
      ⊒ βˆ€P. (βˆ€x. (βˆ€y. y βŠ‚ x β‡’ P y) β‡’ FINITE x β‡’ P x) β‡’ βˆ€x. FINITE x β‡’ P x
   
   [FINITE_COUNT]  Theorem
      
      ⊒ βˆ€n. FINITE (count n)
   
   [FINITE_CROSS]  Theorem
      
      ⊒ βˆ€P Q. FINITE P ∧ FINITE Q β‡’ FINITE (P Γ— Q)
   
   [FINITE_CROSS_EQ]  Theorem
      
      ⊒ βˆ€P Q. FINITE (P Γ— Q) ⇔ P = βˆ… ∨ Q = βˆ… ∨ FINITE P ∧ FINITE Q
   
   [FINITE_DELETE]  Theorem
      
      ⊒ βˆ€x s. FINITE (s DELETE x) ⇔ FINITE s
   
   [FINITE_DIFF]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. FINITE (s DIFF t)
   
   [FINITE_DIFF_down]  Theorem
      
      ⊒ βˆ€P Q. FINITE (P DIFF Q) ∧ FINITE Q β‡’ FINITE P
   
   [FINITE_EMPTY]  Theorem
      
      ⊒ FINITE βˆ…
   
   [FINITE_HAS_SIZE]  Theorem
      
      ⊒ βˆ€s. FINITE s ⇔ s HAS_SIZE CARD s
   
   [FINITE_IMAGE_INJ']  Theorem
      
      ⊒ (βˆ€x y. x ∈ s ∧ y ∈ s β‡’ (f x = f y ⇔ x = y)) β‡’
        (FINITE (IMAGE f s) ⇔ FINITE s)
   
   [FINITE_IMAGE_INJ_EQ]  Theorem
      
      ⊒ βˆ€f s.
          (βˆ€x y. x ∈ s ∧ y ∈ s ∧ f x = f y β‡’ x = y) β‡’
          (FINITE (IMAGE f s) ⇔ FINITE s)
   
   [FINITE_INDUCT]  Theorem
      
      ⊒ βˆ€P. P βˆ… ∧ (βˆ€s. FINITE s ∧ P s β‡’ βˆ€e. e βˆ‰ s β‡’ P (e INSERT s)) β‡’
            βˆ€s. FINITE s β‡’ P s
   
   [FINITE_INDUCT_STRONG]  Theorem
      
      ⊒ βˆ€P. P βˆ… ∧ (βˆ€x s. P s ∧ x βˆ‰ s ∧ FINITE s β‡’ P (x INSERT s)) β‡’
            βˆ€s. FINITE s β‡’ P s
   
   [FINITE_INJ]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t ∧ FINITE t β‡’ FINITE s
   
   [FINITE_INSERT]  Theorem
      
      ⊒ βˆ€x s. FINITE (x INSERT s) ⇔ FINITE s
   
   [FINITE_INTER]  Theorem
      
      ⊒ βˆ€s1 s2. FINITE s1 ∨ FINITE s2 β‡’ FINITE (s1 ∩ s2)
   
   [FINITE_ISO_NUM]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆƒf. (βˆ€n m. n < CARD s ∧ m < CARD s β‡’ f n = f m β‡’ n = m) ∧
                s = {f n | n < CARD s}
   
   [FINITE_LEAST_MEASURE_INDUCTION]  Theorem
      
      ⊒ βˆ€f P.
          P βˆ… ∧
          (βˆ€a s. a βˆ‰ s ∧ (βˆ€b. b ∈ s β‡’ f a ≀ f b) ∧ P s β‡’ P (a INSERT s)) β‡’
          βˆ€s. FINITE s β‡’ P s
   
   [FINITE_POW]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ FINITE (POW s)
   
   [FINITE_POW_EQN]  Theorem
      
      ⊒ FINITE (POW s) ⇔ FINITE s
   
   [FINITE_PREIMAGE]  Theorem
      
      ⊒ (βˆ€x y. f x = f y ⇔ x = y) ∧ FINITE s β‡’ FINITE (PREIMAGE f s)
   
   [FINITE_PRODUCT]  Theorem
      
      ⊒ βˆ€s t. FINITE s ∧ FINITE t β‡’ FINITE {(x,y) | x ∈ s ∧ y ∈ t}
   
   [FINITE_PRODUCT_DEPENDENT]  Theorem
      
      ⊒ βˆ€f s t.
          FINITE s ∧ (βˆ€x. x ∈ s β‡’ FINITE (t x)) β‡’
          FINITE {f x y | x ∈ s ∧ y ∈ t x}
   
   [FINITE_PSUBSET_INFINITE]  Theorem
      
      ⊒ βˆ€s. INFINITE s ⇔ βˆ€t. FINITE t β‡’ t βŠ† s β‡’ t βŠ‚ s
   
   [FINITE_PSUBSET_UNIV]  Theorem
      
      ⊒ INFINITE π•Œ(:Ξ±) ⇔ βˆ€s. FINITE s β‡’ s βŠ‚ π•Œ(:Ξ±)
   
   [FINITE_REST]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ FINITE (REST s)
   
   [FINITE_REST_EQ]  Theorem
      
      ⊒ βˆ€s. FINITE (REST s) ⇔ FINITE s
   
   [FINITE_RULES]  Theorem
      
      ⊒ FINITE βˆ… ∧ βˆ€s. FINITE s β‡’ βˆ€x. FINITE (x INSERT s)
   
   [FINITE_SING]  Theorem
      
      ⊒ βˆ€x. FINITE {x}
   
   [FINITE_SURJ]  Theorem
      
      ⊒ FINITE s ∧ SURJ f s t β‡’ FINITE t
   
   [FINITE_SURJ_BIJ]  Theorem
      
      ⊒ FINITE s ∧ SURJ f s t ∧ CARD t = CARD s β‡’ BIJ f s t
   
   [FINITE_StrongOrder_WF]  Theorem
      
      ⊒ βˆ€R s.
          FINITE s ∧ StrongOrder (REL_RESTRICT R s) β‡’ WF (REL_RESTRICT R s)
   
   [FINITE_UNION]  Theorem
      
      ⊒ βˆ€s t. FINITE (s βˆͺ t) ⇔ FINITE s ∧ FINITE t
   
   [FINITE_WEAK_ENUMERATE]  Theorem
      
      ⊒ βˆ€s. FINITE s ⇔ βˆƒf b. βˆ€e. e ∈ s ⇔ βˆƒn. n < b ∧ e = f n
   
   [FINITE_WF_noloops]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            (WF (REL_RESTRICT R s) ⇔ irreflexive (REL_RESTRICT R s)⁺)
   
   [FINITE_is_measure_maximal]  Theorem
      
      ⊒ βˆ€m s. FINITE s ∧ s β‰  βˆ… β‡’ βˆƒx. is_measure_maximal m s x
   
   [FINITE_partition]  Theorem
      
      ⊒ βˆ€R s.
          FINITE s β‡’
          FINITE (partition R s) ∧ βˆ€t. t ∈ partition R s β‡’ FINITE t
   
   [FINITE_partitions]  Theorem
      
      ⊒ βˆ€x. FINITE x β‡’ FINITE {v | v partitions x}
   
   [FORALL_IN_BIGUNION]  Theorem
      
      ⊒ βˆ€P s. (βˆ€x. x ∈ BIGUNION s β‡’ P x) ⇔ βˆ€t x. t ∈ s ∧ x ∈ t β‡’ P x
   
   [FORALL_IN_IMAGE]  Theorem
      
      ⊒ βˆ€P f s. (βˆ€y. y ∈ IMAGE f s β‡’ P y) ⇔ βˆ€x. x ∈ s β‡’ P (f x)
   
   [FORALL_IN_INSERT]  Theorem
      
      ⊒ βˆ€P a s. (βˆ€x. x ∈ a INSERT s β‡’ P x) ⇔ P a ∧ βˆ€x. x ∈ s β‡’ P x
   
   [FORALL_IN_UNION]  Theorem
      
      ⊒ βˆ€P s t. (βˆ€x. x ∈ s βˆͺ t β‡’ P x) ⇔ (βˆ€x. x ∈ s β‡’ P x) ∧ βˆ€x. x ∈ t β‡’ P x
   
   [FUNPOW_INJ]  Theorem
      
      ⊒ INJ f π•Œ(:Ξ±) π•Œ(:Ξ±) β‡’ INJ (FUNPOW f n) π•Œ(:Ξ±) π•Œ(:Ξ±)
   
   [FUNPOW_eq_elim]  Theorem
      
      ⊒ INJ f π•Œ(:Ξ±) π•Œ(:Ξ±) β‡’ (FUNPOW f n t = FUNPOW f n t' ⇔ t = t')
   
   [FUNPOW_min_cancel]  Theorem
      
      ⊒ n ≀ n' ∧ INJ f π•Œ(:Ξ±) π•Œ(:Ξ±) β‡’
        (FUNPOW f n X = FUNPOW f n' X' ⇔ X = FUNPOW f (n' βˆ’ n) X')
   
   [FUNSET_DFUNSET]  Theorem
      
      ⊒ βˆ€x y. FUNSET x y = DFUNSET x (K y)
   
   [FUNSET_EMPTY]  Theorem
      
      ⊒ βˆ€s f. f ∈ FUNSET s βˆ… ⇔ s = βˆ…
   
   [FUNSET_INTER]  Theorem
      
      ⊒ βˆ€a b c. FUNSET a (b ∩ c) = FUNSET a b ∩ FUNSET a c
   
   [FUNSET_THM]  Theorem
      
      ⊒ βˆ€s t f x. f ∈ FUNSET s t ∧ x ∈ s β‡’ f x ∈ t
   
   [FUNSET_applied]  Theorem
      
      ⊒ βˆ€f P Q. FUNSET P Q f ⇔ βˆ€x. x ∈ P β‡’ f x ∈ Q
   
   [GSPECIFICATION_applied]  Theorem
      
      ⊒ βˆ€f v. GSPEC f v ⇔ βˆƒx. (v,T) = f x
   
   [GSPEC_AND]  Theorem
      
      ⊒ βˆ€P Q. {x | P x ∧ Q x} = {x | P x} ∩ {x | Q x}
   
   [GSPEC_EQ]  Theorem
      
      ⊒ {x | x = y} = {y}
   
   [GSPEC_EQ2]  Theorem
      
      ⊒ {x | y = x} = {y}
   
   [GSPEC_ETA]  Theorem
      
      ⊒ {x | P x} = P
   
   [GSPEC_F]  Theorem
      
      ⊒ {x | F} = βˆ…
   
   [GSPEC_F_COND]  Theorem
      
      ⊒ βˆ€f. (βˆ€x. Β¬SND (f x)) β‡’ GSPEC f = βˆ…
   
   [GSPEC_ID]  Theorem
      
      ⊒ {x | x ∈ y} = y
   
   [GSPEC_IMAGE]  Theorem
      
      ⊒ GSPEC f = IMAGE (FST ∘ f) (SND ∘ f)
   
   [GSPEC_OR]  Theorem
      
      ⊒ βˆ€P Q. {x | P x ∨ Q x} = {x | P x} βˆͺ {x | Q x}
   
   [GSPEC_PAIR_ETA]  Theorem
      
      ⊒ {(x,y) | P x y} = UNCURRY P
   
   [GSPEC_T]  Theorem
      
      ⊒ {x | T} = π•Œ(:Ξ±)
   
   [HAS_SIZE_0]  Theorem
      
      ⊒ βˆ€s. s HAS_SIZE 0 ⇔ s = βˆ…
   
   [HAS_SIZE_CARD]  Theorem
      
      ⊒ βˆ€s n. s HAS_SIZE n β‡’ CARD s = n
   
   [HAS_SIZE_IMAGE_INJ]  Theorem
      
      ⊒ βˆ€f s n.
          (βˆ€x y. x ∈ s ∧ y ∈ s ∧ f x = f y β‡’ x = y) ∧ s HAS_SIZE n β‡’
          IMAGE f s HAS_SIZE n
   
   [HAS_SIZE_INDEX]  Theorem
      
      ⊒ βˆ€s n.
          s HAS_SIZE n β‡’
          βˆƒf. (βˆ€m. m < n β‡’ f m ∈ s) ∧ βˆ€x. x ∈ s β‡’ βˆƒ!m. m < n ∧ f m = x
   
   [HAS_SIZE_PRODUCT]  Theorem
      
      ⊒ βˆ€s m t n.
          s HAS_SIZE m ∧ t HAS_SIZE n β‡’
          {(x,y) | x ∈ s ∧ y ∈ t} HAS_SIZE m * n
   
   [HAS_SIZE_PRODUCT_DEPENDENT]  Theorem
      
      ⊒ βˆ€s m t n.
          s HAS_SIZE m ∧ (βˆ€x. x ∈ s β‡’ t x HAS_SIZE n) β‡’
          {(x,y) | x ∈ s ∧ y ∈ t x} HAS_SIZE m * n
   
   [HAS_SIZE_SUC]  Theorem
      
      ⊒ βˆ€s n. s HAS_SIZE SUC n ⇔ s β‰  βˆ… ∧ βˆ€a. a ∈ s β‡’ s DELETE a HAS_SIZE n
   
   [HAS_SIZE_UNION]  Theorem
      
      ⊒ βˆ€s t m n.
          s HAS_SIZE m ∧ t HAS_SIZE n ∧ DISJOINT s t β‡’ s βˆͺ t HAS_SIZE m + n
   
   [IMAGE_11]  Theorem
      
      ⊒ (βˆ€x y. f x = f y ⇔ x = y) β‡’ (IMAGE f s1 = IMAGE f s2 ⇔ s1 = s2)
   
   [IMAGE_11_INFINITE]  Theorem
      
      ⊒ βˆ€f. (βˆ€x y. f x = f y β‡’ x = y) β‡’
            βˆ€s. INFINITE s β‡’ INFINITE (IMAGE f s)
   
   [IMAGE_BIGUNION]  Theorem
      
      ⊒ βˆ€f M. IMAGE f (BIGUNION M) = BIGUNION (IMAGE (IMAGE f) M)
   
   [IMAGE_CLAUSES]  Theorem
      
      ⊒ (βˆ€f. IMAGE f βˆ… = βˆ…) ∧
        βˆ€f x s. IMAGE f (x INSERT s) = f x INSERT IMAGE f s
   
   [IMAGE_COMPOSE]  Theorem
      
      ⊒ βˆ€f g s. IMAGE (f ∘ g) s = IMAGE f (IMAGE g s)
   
   [IMAGE_CONG]  Theorem
      
      ⊒ βˆ€f s f' s'.
          s = s' ∧ (βˆ€x. x ∈ s' β‡’ f x = f' x) β‡’ IMAGE f s = IMAGE f' s'
   
   [IMAGE_CONST]  Theorem
      
      ⊒ βˆ€s c. IMAGE (Ξ»x. c) s = if s = βˆ… then βˆ… else {c}
   
   [IMAGE_DELETE]  Theorem
      
      ⊒ βˆ€f x s. x βˆ‰ s β‡’ IMAGE f (s DELETE x) = IMAGE f s
   
   [IMAGE_EMPTY]  Theorem
      
      ⊒ βˆ€f. IMAGE f βˆ… = βˆ…
   
   [IMAGE_EQ_EMPTY]  Theorem
      
      ⊒ βˆ€s f. (IMAGE f s = βˆ… ⇔ s = βˆ…) ∧ (βˆ… = IMAGE f s ⇔ s = βˆ…)
   
   [IMAGE_EQ_SING]  Theorem
      
      ⊒ IMAGE f s = {z} ⇔ s β‰  βˆ… ∧ βˆ€x. x ∈ s β‡’ f x = z
   
   [IMAGE_FINITE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€f. FINITE (IMAGE f s)
   
   [IMAGE_FST_CROSS]  Theorem
      
      ⊒ βˆ€s t. t β‰  βˆ… β‡’ IMAGE FST (s Γ— t) = s
   
   [IMAGE_I]  Theorem
      
      ⊒ IMAGE I s = s
   
   [IMAGE_ID]  Theorem
      
      ⊒ βˆ€s. IMAGE (Ξ»x. x) s = s
   
   [IMAGE_II]  Theorem
      
      ⊒ IMAGE I = I
   
   [IMAGE_IMAGE]  Theorem
      
      ⊒ βˆ€f g s. IMAGE f (IMAGE g s) = IMAGE (f ∘ g) s
   
   [IMAGE_IMAGE_partition]  Theorem
      
      ⊒ βˆ€R f s t.
          INJ f s t β‡’
          IMAGE (IMAGE f) (partition R s) =
          partition (inv_image R (LINV f s)) (IMAGE f s)
   
   [IMAGE_IN]  Theorem
      
      ⊒ βˆ€x s. x ∈ s β‡’ βˆ€f. f x ∈ IMAGE f s
   
   [IMAGE_INSERT]  Theorem
      
      ⊒ βˆ€f x s. IMAGE f (x INSERT s) = f x INSERT IMAGE f s
   
   [IMAGE_INTER]  Theorem
      
      ⊒ βˆ€f s t. IMAGE f (s ∩ t) βŠ† IMAGE f s ∩ IMAGE f t
   
   [IMAGE_PREIMAGE]  Theorem
      
      ⊒ βˆ€f s. IMAGE f (PREIMAGE f s) βŠ† s
   
   [IMAGE_RESTRICTION]  Theorem
      
      ⊒ βˆ€f s t. s βŠ† t β‡’ IMAGE (RESTRICTION t f) s = IMAGE f s
   
   [IMAGE_SING]  Theorem
      
      ⊒ βˆ€f x. IMAGE f {x} = {f x}
   
   [IMAGE_SND_CROSS]  Theorem
      
      ⊒ βˆ€s t. s β‰  βˆ… β‡’ IMAGE SND (s Γ— t) = t
   
   [IMAGE_SUBSET]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t β‡’ βˆ€f. IMAGE f s βŠ† IMAGE f t
   
   [IMAGE_SUBSET_gen]  Theorem
      
      ⊒ βˆ€f s u t. s βŠ† u ∧ IMAGE f u βŠ† t β‡’ IMAGE f s βŠ† t
   
   [IMAGE_SURJ]  Theorem
      
      ⊒ βˆ€f s t. SURJ f s t ⇔ IMAGE f s = t
   
   [IMAGE_UNION]  Theorem
      
      ⊒ βˆ€f s t. IMAGE f (s βˆͺ t) = IMAGE f s βˆͺ IMAGE f t
   
   [IMAGE_applied]  Theorem
      
      ⊒ βˆ€y s f. IMAGE f s y ⇔ βˆƒx. y = f x ∧ x ∈ s
   
   [IMAGE_o]  Theorem
      
      ⊒ βˆ€f g s. IMAGE (f ∘ g) s = IMAGE f (IMAGE g s)
   
   [INFINITE_DIFF_FINITE]  Theorem
      
      ⊒ βˆ€s t. INFINITE s ∧ FINITE t β‡’ s DIFF t β‰  βˆ…
   
   [INFINITE_DIFF_FINITE']  Theorem
      
      ⊒ βˆ€s t. INFINITE s ∧ FINITE t β‡’ INFINITE (s DIFF t)
   
   [INFINITE_EXPLICIT_ENUMERATE]  Theorem
      
      ⊒ βˆ€s. INFINITE s β‡’ INJ (Ξ»n. CHOICE (FUNPOW REST n s)) π•Œ(:num) s
   
   [INFINITE_INHAB]  Theorem
      
      ⊒ βˆ€P. INFINITE P β‡’ βˆƒx. x ∈ P
   
   [INFINITE_INJ]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t ∧ INFINITE s β‡’ INFINITE t
   
   [INFINITE_INJ_NOT_SURJ]  Theorem
      
      ⊒ βˆ€s. INFINITE s ⇔ βˆƒf. INJ f s s ∧ Β¬SURJ f s s
   
   [INFINITE_NUM_UNIV]  Theorem
      
      ⊒ INFINITE π•Œ(:num)
   
   [INFINITE_PAIR_UNIV]  Theorem
      
      ⊒ FINITE π•Œ(:Ξ± # Ξ²) ⇔ FINITE π•Œ(:Ξ±) ∧ FINITE π•Œ(:Ξ²)
   
   [INFINITE_SUBSET]  Theorem
      
      ⊒ βˆ€s. INFINITE s β‡’ βˆ€t. s βŠ† t β‡’ INFINITE t
   
   [INFINITE_UNIV]  Theorem
      
      ⊒ INFINITE π•Œ(:Ξ±) ⇔ βˆƒf. (βˆ€x y. f x = f y β‡’ x = y) ∧ βˆƒy. βˆ€x. f x β‰  y
   
   [INJECTIVE_IMAGE_FINITE]  Theorem
      
      ⊒ βˆ€f. (βˆ€x y. f x = f y ⇔ x = y) β‡’ βˆ€s. FINITE (IMAGE f s) ⇔ FINITE s
   
   [INJ_BIJ_SUBSET]  Theorem
      
      ⊒ s0 βŠ† s ∧ INJ f s t β‡’ BIJ f s0 (IMAGE f s0)
   
   [INJ_CARD]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t ∧ FINITE t β‡’ CARD s ≀ CARD t
   
   [INJ_CARD_IMAGE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ INJ f s t β‡’ CARD (IMAGE f s) = CARD s
   
   [INJ_CARD_IMAGE_EQ]  Theorem
      
      ⊒ INJ f s t β‡’ FINITE s β‡’ CARD (IMAGE f s) = CARD s
   
   [INJ_COMPOSE]  Theorem
      
      ⊒ βˆ€f g s t u. INJ f s t ∧ INJ g t u β‡’ INJ (g ∘ f) s u
   
   [INJ_CONG]  Theorem
      
      ⊒ βˆ€f g s t. (βˆ€x. x ∈ s β‡’ f x = g x) β‡’ (INJ f s t ⇔ INJ g s t)
   
   [INJ_DELETE]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t β‡’ βˆ€e. e ∈ s β‡’ INJ f (s DELETE e) (t DELETE f e)
   
   [INJ_ELEMENT]  Theorem
      
      ⊒ βˆ€f s t x. INJ f s t ∧ x ∈ s β‡’ f x ∈ t
   
   [INJ_EMPTY]  Theorem
      
      ⊒ βˆ€f. (βˆ€s. INJ f βˆ… s) ∧ βˆ€s. INJ f s βˆ… ⇔ s = βˆ…
   
   [INJ_EQ_11]  Theorem
      
      ⊒ βˆ€f s x y. INJ f s s ∧ x ∈ s ∧ y ∈ s β‡’ (f x = f y ⇔ x = y)
   
   [INJ_EXTEND]  Theorem
      
      ⊒ βˆ€b s t x y.
          INJ b s t ∧ x βˆ‰ s ∧ y βˆ‰ t β‡’
          INJ b⦇x ↦ y⦈ (x INSERT s) (y INSERT t)
   
   [INJ_I]  Theorem
      
      ⊒ βˆ€s. INJ I s π•Œ(:Ξ±)
   
   [INJ_ID]  Theorem
      
      ⊒ βˆ€s. INJ (Ξ»x. x) s s
   
   [INJ_IFF]  Theorem
      
      ⊒ INJ f s t ⇔
        (βˆ€x. x ∈ s β‡’ f x ∈ t) ∧ βˆ€x y. x ∈ s ∧ y ∈ s β‡’ (f x = f y ⇔ x = y)
   
   [INJ_IMAGE]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t β‡’ INJ f s (IMAGE f s)
   
   [INJ_IMAGE_BIJ]  Theorem
      
      ⊒ βˆ€s f. (βˆƒt. INJ f s t) β‡’ BIJ f s (IMAGE f s)
   
   [INJ_IMAGE_DISJOINT]  Theorem
      
      ⊒ βˆ€P f.
          INJ f P π•Œ(:Ξ²) β‡’
          βˆ€s t.
            s βŠ† P ∧ t βŠ† P β‡’
            (DISJOINT s t ⇔ DISJOINT (IMAGE f s) (IMAGE f t))
   
   [INJ_IMAGE_EQ]  Theorem
      
      ⊒ βˆ€P f.
          INJ f P π•Œ(:Ξ²) β‡’
          βˆ€s t. s βŠ† P ∧ t βŠ† P β‡’ (IMAGE f s = IMAGE f t ⇔ s = t)
   
   [INJ_IMAGE_INTER]  Theorem
      
      ⊒ βˆ€P f.
          INJ f P π•Œ(:Ξ²) β‡’
          βˆ€s t. s βŠ† P ∧ t βŠ† P β‡’ IMAGE f (s ∩ t) = IMAGE f s ∩ IMAGE f t
   
   [INJ_IMAGE_SUBSET]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t β‡’ IMAGE f s βŠ† t
   
   [INJ_IMAGE_equiv_class]  Theorem
      
      ⊒ βˆ€f s t x.
          INJ f s t ∧ x ∈ s β‡’
          IMAGE f (equiv_class R s x) =
          equiv_class (inv_image R (LINV f s)) (IMAGE f s) (f x)
   
   [INJ_IMP_11]  Theorem
      
      ⊒ βˆ€f. INJ f π•Œ(:Ξ±) π•Œ(:Ξ²) β‡’ βˆ€x y. f x = f y ⇔ x = y
   
   [INJ_INL]  Theorem
      
      ⊒ (βˆ€x. x ∈ s β‡’ INL x ∈ t) β‡’ INJ INL s t
   
   [INJ_INR]  Theorem
      
      ⊒ (βˆ€x. x ∈ s β‡’ INR x ∈ t) β‡’ INJ INR s t
   
   [INJ_INSERT]  Theorem
      
      ⊒ βˆ€f x s t.
          INJ f (x INSERT s) t ⇔
          INJ f s t ∧ f x ∈ t ∧ βˆ€y. y ∈ s ∧ f x = f y β‡’ x = y
   
   [INJ_I_IMAGE]  Theorem
      
      ⊒ βˆ€s f. INJ I (IMAGE f s) π•Œ(:Ξ²)
   
   [INJ_LINV_OPT]  Theorem
      
      ⊒ INJ f s t β‡’ βˆ€x y. LINV_OPT f s y = SOME x ⇔ y = f x ∧ x ∈ s ∧ y ∈ t
   
   [INJ_LINV_OPT_IMAGE]  Theorem
      
      ⊒ INJ (LINV_OPT f s) (IMAGE f s) (IMAGE SOME s)
   
   [INJ_SUBSET]  Theorem
      
      ⊒ βˆ€f s t s0 t0. INJ f s t ∧ s0 βŠ† s ∧ t βŠ† t0 β‡’ INJ f s0 t0
   
   [INJ_SUBSET_UNIV]  Theorem
      
      ⊒ βˆ€f s. INJ f π•Œ(:Ξ±) π•Œ(:Ξ²) β‡’ INJ f s π•Œ(:Ξ²)
   
   [INSERT_COMM]  Theorem
      
      ⊒ βˆ€x y s. x INSERT y INSERT s = y INSERT x INSERT s
   
   [INSERT_DELETE]  Theorem
      
      ⊒ βˆ€x s. x ∈ s β‡’ x INSERT s DELETE x = s
   
   [INSERT_DIFF]  Theorem
      
      ⊒ βˆ€s t x.
          (x INSERT s) DIFF t =
          if x ∈ t then s DIFF t else x INSERT s DIFF t
   
   [INSERT_EQ_SING]  Theorem
      
      ⊒ βˆ€s x y. x INSERT s = {y} ⇔ x = y ∧ s βŠ† {y}
   
   [INSERT_INSERT]  Theorem
      
      ⊒ βˆ€x s. x INSERT x INSERT s = x INSERT s
   
   [INSERT_INTER]  Theorem
      
      ⊒ βˆ€x s t. (x INSERT s) ∩ t = if x ∈ t then x INSERT s ∩ t else s ∩ t
   
   [INSERT_SING_UNION]  Theorem
      
      ⊒ βˆ€s x. x INSERT s = {x} βˆͺ s
   
   [INSERT_SUBSET]  Theorem
      
      ⊒ βˆ€x s t. x INSERT s βŠ† t ⇔ x ∈ t ∧ s βŠ† t
   
   [INSERT_UNION]  Theorem
      
      ⊒ βˆ€x s t. (x INSERT s) βˆͺ t = if x ∈ t then s βˆͺ t else x INSERT s βˆͺ t
   
   [INSERT_UNION_EQ]  Theorem
      
      ⊒ βˆ€x s t. (x INSERT s) βˆͺ t = x INSERT s βˆͺ t
   
   [INSERT_UNIV]  Theorem
      
      ⊒ βˆ€x. x INSERT π•Œ(:Ξ±) = π•Œ(:Ξ±)
   
   [INSERT_applied]  Theorem
      
      ⊒ βˆ€x y s. (y INSERT s) x ⇔ x = y ∨ x ∈ s
   
   [INTER_ASSOC]  Theorem
      
      ⊒ βˆ€s t u. s ∩ (t ∩ u) = s ∩ t ∩ u
   
   [INTER_BIGUNION]  Theorem
      
      ⊒ (βˆ€s t. BIGUNION s ∩ t = BIGUNION {x ∩ t | x ∈ s}) ∧
        βˆ€s t. t ∩ BIGUNION s = BIGUNION {t ∩ x | x ∈ s}
   
   [INTER_COMM]  Theorem
      
      ⊒ βˆ€s t. s ∩ t = t ∩ s
   
   [INTER_CROSS]  Theorem
      
      ⊒ βˆ€A B C D. A Γ— B ∩ C Γ— D = (A ∩ C) Γ— (B ∩ D)
   
   [INTER_EMPTY]  Theorem
      
      ⊒ (βˆ€s. βˆ… ∩ s = βˆ…) ∧ βˆ€s. s ∩ βˆ… = βˆ…
   
   [INTER_FINITE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. FINITE (s ∩ t)
   
   [INTER_IDEMPOT]  Theorem
      
      ⊒ βˆ€s. s ∩ s = s
   
   [INTER_OVER_UNION]  Theorem
      
      ⊒ βˆ€s t u. s βˆͺ t ∩ u = (s βˆͺ t) ∩ (s βˆͺ u)
   
   [INTER_SING]  Theorem
      
      ⊒ βˆ€s x. x ∈ s β‡’ s ∩ {x} = {x}
   
   [INTER_SUBSET]  Theorem
      
      ⊒ (βˆ€s t. s ∩ t βŠ† s) ∧ βˆ€s t. t ∩ s βŠ† s
   
   [INTER_SUBSET_EQN]  Theorem
      
      ⊒ (A ∩ B = A ⇔ A βŠ† B) ∧ (A ∩ B = B ⇔ B βŠ† A)
   
   [INTER_UNION]  Theorem
      
      ⊒ (A βˆͺ B) ∩ A = A ∧ (B βˆͺ A) ∩ A = A ∧ A ∩ (A βˆͺ B) = A ∧
        A ∩ (B βˆͺ A) = A
   
   [INTER_UNION_COMPL]  Theorem
      
      ⊒ βˆ€s t. s ∩ t = COMPL (COMPL s βˆͺ COMPL t)
   
   [INTER_UNIV]  Theorem
      
      ⊒ (βˆ€s. π•Œ(:Ξ±) ∩ s = s) ∧ βˆ€s. s ∩ π•Œ(:Ξ±) = s
   
   [INTER_applied]  Theorem
      
      ⊒ βˆ€s t x. (s ∩ t) x ⇔ x ∈ s ∧ x ∈ t
   
   [IN_ABS]  Theorem
      
      ⊒ βˆ€x P. x ∈ (Ξ»x. P x) ⇔ P x
   
   [IN_APP]  Theorem
      
      ⊒ βˆ€x P. x ∈ P ⇔ P x
   
   [IN_BIGINTER]  Theorem
      
      ⊒ x ∈ BIGINTER B ⇔ βˆ€P. P ∈ B β‡’ x ∈ P
   
   [IN_BIGINTER_IMAGE]  Theorem
      
      ⊒ βˆ€x f s. x ∈ BIGINTER (IMAGE f s) ⇔ βˆ€y. y ∈ s β‡’ x ∈ f y
   
   [IN_BIGUNION]  Theorem
      
      ⊒ βˆ€x sos. x ∈ BIGUNION sos ⇔ βˆƒs. x ∈ s ∧ s ∈ sos
   
   [IN_BIGUNION_IMAGE]  Theorem
      
      ⊒ βˆ€f s y. y ∈ BIGUNION (IMAGE f s) ⇔ βˆƒx. x ∈ s ∧ y ∈ f x
   
   [IN_COMPL]  Theorem
      
      ⊒ βˆ€x s. x ∈ COMPL s ⇔ x βˆ‰ s
   
   [IN_COUNT]  Theorem
      
      ⊒ βˆ€m n. m ∈ count n ⇔ m < n
   
   [IN_CROSS]  Theorem
      
      ⊒ βˆ€P Q x. x ∈ P Γ— Q ⇔ FST x ∈ P ∧ SND x ∈ Q
   
   [IN_DELETE]  Theorem
      
      ⊒ βˆ€s x y. x ∈ s DELETE y ⇔ x ∈ s ∧ x β‰  y
   
   [IN_DELETE_EQ]  Theorem
      
      ⊒ βˆ€s x x'. (x ∈ s ⇔ x' ∈ s) ⇔ (x ∈ s DELETE x' ⇔ x' ∈ s DELETE x)
   
   [IN_DFUNSET]  Theorem
      
      ⊒ βˆ€f P Q. f ∈ DFUNSET P Q ⇔ βˆ€x. x ∈ P β‡’ f x ∈ Q x
   
   [IN_DIFF]  Theorem
      
      ⊒ βˆ€s t x. x ∈ s DIFF t ⇔ x ∈ s ∧ x βˆ‰ t
   
   [IN_DISJOINT]  Theorem
      
      ⊒ βˆ€s t. DISJOINT s t ⇔ Β¬βˆƒx. x ∈ s ∧ x ∈ t
   
   [IN_EQ_UNIV_IMP]  Theorem
      
      ⊒ βˆ€s. s = π•Œ(:Ξ±) β‡’ βˆ€v. v ∈ s
   
   [IN_FUNSET]  Theorem
      
      ⊒ βˆ€f P Q. f ∈ FUNSET P Q ⇔ βˆ€x. x ∈ P β‡’ f x ∈ Q
   
   [IN_GSPEC]  Theorem
      
      ⊒ βˆ€y x P. P y ∧ x = f y β‡’ x ∈ {f x | P x}
   
   [IN_GSPEC_IFF]  Theorem
      
      ⊒ y ∈ {x | P x} ⇔ P y
   
   [IN_IMAGE]  Theorem
      
      ⊒ βˆ€y s f. y ∈ IMAGE f s ⇔ βˆƒx. y = f x ∧ x ∈ s
   
   [IN_INFINITE_NOT_FINITE]  Theorem
      
      ⊒ βˆ€s t. INFINITE s ∧ FINITE t β‡’ βˆƒx. x ∈ s ∧ x βˆ‰ t
   
   [IN_INSERT]  Theorem
      
      ⊒ βˆ€x y s. x ∈ y INSERT s ⇔ x = y ∨ x ∈ s
   
   [IN_INSERT_EXPAND]  Theorem
      
      ⊒ βˆ€x y P. x ∈ y INSERT P ⇔ x = y ∨ x β‰  y ∧ x ∈ P
   
   [IN_INTER]  Theorem
      
      ⊒ βˆ€s t x. x ∈ s ∩ t ⇔ x ∈ s ∧ x ∈ t
   
   [IN_POW]  Theorem
      
      ⊒ βˆ€set e. e ∈ POW set ⇔ e βŠ† set
   
   [IN_PREIMAGE]  Theorem
      
      ⊒ βˆ€f s x. x ∈ PREIMAGE f s ⇔ f x ∈ s
   
   [IN_REST]  Theorem
      
      ⊒ βˆ€x s. x ∈ REST s ⇔ x ∈ s ∧ x β‰  CHOICE s
   
   [IN_SING]  Theorem
      
      ⊒ βˆ€x y. x ∈ {y} ⇔ x = y
   
   [IN_UNION]  Theorem
      
      ⊒ βˆ€s t x. x ∈ s βˆͺ t ⇔ x ∈ s ∨ x ∈ t
   
   [IN_UNIV]  Theorem
      
      ⊒ βˆ€x. x ∈ π•Œ(:Ξ±)
   
   [IN_disjUNION]  Theorem
      
      ⊒ (INL a ∈ A βŠ” B ⇔ a ∈ A) ∧ (INR b ∈ A βŠ” B ⇔ b ∈ B)
   
   [ITSET_CONG]  Theorem
      
      ⊒ βˆ€f g. f = g β‡’ ITSET f = ITSET g
   
   [ITSET_EMPTY]  Theorem
      
      ⊒ βˆ€f b. ITSET f βˆ… b = b
   
   [ITSET_IND]  Theorem
      
      ⊒ βˆ€P. (βˆ€s b. (FINITE s ∧ s β‰  βˆ… β‡’ P (REST s) (f (CHOICE s) b)) β‡’ P s b) β‡’
            βˆ€v v1. P v v1
   
   [ITSET_INSERT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€f x b.
              ITSET f (x INSERT s) b =
              ITSET f (REST (x INSERT s)) (f (CHOICE (x INSERT s)) b)
   
   [ITSET_PROPERTY]  Theorem
      
      ⊒ βˆ€s f b.
          FINITE s ∧ s β‰  βˆ… β‡’
          ITSET f s b = ITSET f (REST s) (f (CHOICE s) b)
   
   [ITSET_REDUCTION]  Theorem
      
      ⊒ βˆ€f. (βˆ€x y z. f x (f y z) = f y (f x z)) β‡’
            βˆ€s x b.
              FINITE s ∧ x βˆ‰ s β‡’ ITSET f (x INSERT s) b = f x (ITSET f s b)
   
   [ITSET_SING]  Theorem
      
      ⊒ βˆ€f x a. ITSET f {x} a = f x a
   
   [ITSET_THM]  Theorem
      
      ⊒ βˆ€s f b.
          FINITE s β‡’
          ITSET f s b =
          if s = βˆ… then b else ITSET f (REST s) (f (CHOICE s) b)
   
   [ITSET_def]  Theorem
      
      ⊒ βˆ€s f b.
          ITSET f s b =
          if FINITE s then
            if s = βˆ… then b else ITSET f (REST s) (f (CHOICE s) b)
          else ARB
   
   [K_SUBSET]  Theorem
      
      ⊒ βˆ€x y. K x βŠ† y ⇔ Β¬x ∨ π•Œ(:Ξ±) βŠ† y
   
   [KoenigsLemma]  Theorem
      
      ⊒ βˆ€R. (βˆ€x. FINITE {y | R x y}) β‡’
            βˆ€x. INFINITE {y | Rκ™³ x y} β‡’
                βˆƒf. f 0 = x ∧ βˆ€n. R (f n) (f (SUC n))
   
   [KoenigsLemma_WF]  Theorem
      
      ⊒ βˆ€R. (βˆ€x. FINITE {y | R x y}) ∧ WF Rα΅€ β‡’ βˆ€x. FINITE {y | Rκ™³ x y}
   
   [LESS_CARD_DIFF]  Theorem
      
      ⊒ βˆ€t. FINITE t β‡’ βˆ€s. FINITE s β‡’ CARD t < CARD s β‡’ 0 < CARD (s DIFF t)
   
   [LINV_DEF]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t β‡’ βˆ€x. x ∈ s β‡’ LINV f s (f x) = x
   
   [LINV_OPT_THM]  Theorem
      
      ⊒ LINV_OPT f s y = SOME x β‡’ x ∈ s ∧ f x = y
   
   [MAX_SET_ELIM]  Theorem
      
      ⊒ βˆ€P Q.
          FINITE P ∧ (P = βˆ… β‡’ Q 0) ∧
          (βˆ€x. (βˆ€y. y ∈ P β‡’ y ≀ x) ∧ x ∈ P β‡’ Q x) β‡’
          Q (MAX_SET P)
   
   [MAX_SET_EMPTY]  Theorem
      
      ⊒ MAX_SET βˆ… = 0
   
   [MAX_SET_EQ_0]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ (MAX_SET s = 0 ⇔ s = βˆ… ∨ s = {0})
   
   [MAX_SET_INTER]  Theorem
      
      ⊒ βˆ€A B.
          FINITE A ∧ FINITE B β‡’
          MAX_SET (A ∩ B) ≀ MIN (MAX_SET A) (MAX_SET B)
   
   [MAX_SET_IN_SET]  Theorem
      
      ⊒ βˆ€s. FINITE s ∧ s β‰  βˆ… β‡’ MAX_SET s ∈ s
   
   [MAX_SET_LESS]  Theorem
      
      ⊒ βˆ€s n. FINITE s ∧ MAX_SET s < n β‡’ βˆ€x. x ∈ s β‡’ x < n
   
   [MAX_SET_PROPERTY]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€x. x ∈ s β‡’ x ≀ MAX_SET s
   
   [MAX_SET_REWRITES]  Theorem
      
      ⊒ MAX_SET βˆ… = 0 ∧ MAX_SET {e} = e
   
   [MAX_SET_SING]  Theorem
      
      ⊒ βˆ€e. MAX_SET {e} = e
   
   [MAX_SET_TEST]  Theorem
      
      ⊒ βˆ€s. FINITE s ∧ s β‰  βˆ… β‡’
            βˆ€x. x ∈ s ∧ (βˆ€y. y ∈ s β‡’ y ≀ x) β‡’ x = MAX_SET s
   
   [MAX_SET_TEST_IFF]  Theorem
      
      ⊒ βˆ€s. FINITE s ∧ s β‰  βˆ… β‡’
            βˆ€x. x ∈ s β‡’ (MAX_SET s = x ⇔ βˆ€y. y ∈ s β‡’ y ≀ x)
   
   [MAX_SET_THM]  Theorem
      
      ⊒ MAX_SET βˆ… = 0 ∧
        βˆ€e s. FINITE s β‡’ MAX_SET (e INSERT s) = MAX e (MAX_SET s)
   
   [MAX_SET_UNION]  Theorem
      
      ⊒ βˆ€A B.
          FINITE A ∧ FINITE B β‡’
          MAX_SET (A βˆͺ B) = MAX (MAX_SET A) (MAX_SET B)
   
   [MEMBER_NOT_EMPTY]  Theorem
      
      ⊒ βˆ€s. (βˆƒx. x ∈ s) ⇔ s β‰  βˆ…
   
   [MIN_SET_ELIM]  Theorem
      
      ⊒ βˆ€P Q.
          P β‰  βˆ… ∧ (βˆ€x. (βˆ€y. y ∈ P β‡’ x ≀ y) ∧ x ∈ P β‡’ Q x) β‡’ Q (MIN_SET P)
   
   [MIN_SET_EQ_0]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ (MIN_SET s = 0 ⇔ 0 ∈ s)
   
   [MIN_SET_IN_SET]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ MIN_SET s ∈ s
   
   [MIN_SET_LEM]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ MIN_SET s ∈ s ∧ βˆ€x. x ∈ s β‡’ MIN_SET s ≀ x
   
   [MIN_SET_LEQ_MAX_SET]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… ∧ FINITE s β‡’ MIN_SET s ≀ MAX_SET s
   
   [MIN_SET_PROPERTY]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ βˆ€x. x ∈ s β‡’ MIN_SET s ≀ x
   
   [MIN_SET_SING]  Theorem
      
      ⊒ βˆ€e. MIN_SET {e} = e
   
   [MIN_SET_TEST]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ βˆ€x. x ∈ s ∧ (βˆ€y. y ∈ s β‡’ x ≀ y) β‡’ x = MIN_SET s
   
   [MIN_SET_TEST_IFF]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ βˆ€x. x ∈ s β‡’ (MIN_SET s = x ⇔ βˆ€y. y ∈ s β‡’ x ≀ y)
   
   [MIN_SET_THM]  Theorem
      
      ⊒ (βˆ€e. MIN_SET {e} = e) ∧
        βˆ€s e1 e2.
          MIN_SET (e1 INSERT e2 INSERT s) = MIN e1 (MIN_SET (e2 INSERT s))
   
   [MIN_SET_THM']  Theorem
      
      ⊒ (βˆ€e. MIN_SET {e} = e) ∧
        βˆ€e s. s β‰  βˆ… β‡’ MIN_SET (e INSERT s) = MIN e (MIN_SET s)
   
   [MIN_SET_UNION]  Theorem
      
      ⊒ βˆ€A B.
          FINITE A ∧ FINITE B ∧ A β‰  βˆ… ∧ B β‰  βˆ… β‡’
          MIN_SET (A βˆͺ B) = MIN (MIN_SET A) (MIN_SET B)
   
   [NOT_EMPTY_INSERT]  Theorem
      
      ⊒ βˆ€x s. βˆ… β‰  x INSERT s
   
   [NOT_EMPTY_SING]  Theorem
      
      ⊒ βˆ€x. βˆ… β‰  {x}
   
   [NOT_EQUAL_SETS]  Theorem
      
      ⊒ βˆ€s t. s β‰  t ⇔ βˆƒx. x ∈ t ⇔ x βˆ‰ s
   
   [NOT_INSERT_EMPTY]  Theorem
      
      ⊒ βˆ€x s. x INSERT s β‰  βˆ…
   
   [NOT_IN_EMPTY]  Theorem
      
      ⊒ βˆ€x. x βˆ‰ βˆ…
   
   [NOT_IN_FINITE]  Theorem
      
      ⊒ INFINITE π•Œ(:Ξ±) ⇔ βˆ€s. FINITE s β‡’ βˆƒx. x βˆ‰ s
   
   [NOT_PSUBSET_EMPTY]  Theorem
      
      ⊒ βˆ€s. Β¬(s βŠ‚ βˆ…)
   
   [NOT_SING_EMPTY]  Theorem
      
      ⊒ βˆ€x. {x} β‰  βˆ…
   
   [NOT_UNIV_PSUBSET]  Theorem
      
      ⊒ βˆ€s. Β¬(π•Œ(:Ξ±) βŠ‚ s)
   
   [NUM_2D_BIJ]  Theorem
      
      ⊒ βˆƒf. BIJ f (π•Œ(:num) Γ— π•Œ(:num)) π•Œ(:num)
   
   [NUM_2D_BIJ_BIG_SQUARE]  Theorem
      
      ⊒ βˆ€f N.
          BIJ f π•Œ(:num) (π•Œ(:num) Γ— π•Œ(:num)) β‡’
          βˆƒk. IMAGE f (count N) βŠ† count k Γ— count k
   
   [NUM_2D_BIJ_INV]  Theorem
      
      ⊒ βˆƒf. BIJ f π•Œ(:num) (π•Œ(:num) Γ— π•Œ(:num))
   
   [NUM_2D_BIJ_NZ]  Theorem
      
      ⊒ βˆƒf. BIJ f (π•Œ(:num) Γ— (π•Œ(:num) DIFF {0})) π•Œ(:num)
   
   [NUM_2D_BIJ_NZ_ALT]  Theorem
      
      ⊒ βˆƒf. BIJ f (π•Œ(:num) Γ— π•Œ(:num)) (π•Œ(:num) DIFF {0})
   
   [NUM_2D_BIJ_NZ_ALT2]  Theorem
      
      ⊒ βˆƒf. BIJ f ((π•Œ(:num) DIFF {0}) Γ— (π•Œ(:num) DIFF {0})) π•Œ(:num)
   
   [NUM_2D_BIJ_NZ_ALT2_INV]  Theorem
      
      ⊒ βˆƒf. BIJ f π•Œ(:num) ((π•Œ(:num) DIFF {0}) Γ— (π•Œ(:num) DIFF {0}))
   
   [NUM_2D_BIJ_NZ_ALT_INV]  Theorem
      
      ⊒ βˆƒf. BIJ f (π•Œ(:num) DIFF {0}) (π•Œ(:num) Γ— π•Œ(:num))
   
   [NUM_2D_BIJ_NZ_INV]  Theorem
      
      ⊒ βˆƒf. BIJ f π•Œ(:num) (π•Œ(:num) Γ— (π•Œ(:num) DIFF {0}))
   
   [NUM_2D_BIJ_SMALL_SQUARE]  Theorem
      
      ⊒ βˆ€f k.
          BIJ f π•Œ(:num) (π•Œ(:num) Γ— π•Œ(:num)) β‡’
          βˆƒN. count k Γ— count k βŠ† IMAGE f (count N)
   
   [NUM_SET_WOP]  Theorem
      
      ⊒ βˆ€s. (βˆƒn. n ∈ s) ⇔ βˆƒn. n ∈ s ∧ βˆ€m. m ∈ s β‡’ n ≀ m
   
   [ONE_ELEMENT_SING]  Theorem
      
      ⊒ βˆ€s a. s β‰  βˆ… ∧ (βˆ€k. k ∈ s β‡’ k = a) β‡’ s = {a}
   
   [PAIR_IN_GSPEC_1]  Theorem
      
      ⊒ (a,b) ∈ {(y,x) | P y} ⇔ P a ∧ b = x
   
   [PAIR_IN_GSPEC_2]  Theorem
      
      ⊒ (a,b) ∈ {(x,y) | P y} ⇔ P b ∧ a = x
   
   [PAIR_IN_GSPEC_IFF]  Theorem
      
      ⊒ (x,y) ∈ {(x,y) | P x y} ⇔ P x y
   
   [PAIR_IN_GSPEC_same]  Theorem
      
      ⊒ (a,b) ∈ {(x,x) | P x} ⇔ P a ∧ a = b
   
   [PHP]  Theorem
      
      ⊒ βˆ€f s t. FINITE t ∧ CARD t < CARD s β‡’ Β¬INJ f s t
   
   [PI_CONSTANT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€f k. (βˆ€x. x ∈ s β‡’ f x = k) β‡’ Ξ  f s = k ** CARD s
   
   [POW_EMPTY]  Theorem
      
      ⊒ βˆ€s. POW s β‰  βˆ…
   
   [POW_EQNS]  Theorem
      
      ⊒ POW βˆ… = {βˆ…} ∧
        βˆ€e s.
          POW (e INSERT s) = (let ps = POW s in IMAGE ($INSERT e) ps βˆͺ ps)
   
   [POW_INSERT]  Theorem
      
      ⊒ βˆ€e s. POW (e INSERT s) = IMAGE ($INSERT e) (POW s) βˆͺ POW s
   
   [POW_applied]  Theorem
      
      ⊒ βˆ€set e. POW set e ⇔ e βŠ† set
   
   [PREIMAGE_ALT]  Theorem
      
      ⊒ βˆ€f s. PREIMAGE f s = s ∘ f
   
   [PREIMAGE_BIGUNION]  Theorem
      
      ⊒ βˆ€f s. PREIMAGE f (BIGUNION s) = BIGUNION (IMAGE (PREIMAGE f) s)
   
   [PREIMAGE_COMP]  Theorem
      
      ⊒ βˆ€f g s. PREIMAGE f (PREIMAGE g s) = PREIMAGE (g ∘ f) s
   
   [PREIMAGE_COMPL]  Theorem
      
      ⊒ βˆ€f s. PREIMAGE f (COMPL s) = COMPL (PREIMAGE f s)
   
   [PREIMAGE_COMPL_INTER]  Theorem
      
      ⊒ βˆ€f t sp. PREIMAGE f (COMPL t) ∩ sp = sp DIFF PREIMAGE f t
   
   [PREIMAGE_CROSS]  Theorem
      
      ⊒ βˆ€f a b.
          PREIMAGE f (a Γ— b) = PREIMAGE (FST ∘ f) a ∩ PREIMAGE (SND ∘ f) b
   
   [PREIMAGE_DIFF]  Theorem
      
      ⊒ βˆ€f s t. PREIMAGE f (s DIFF t) = PREIMAGE f s DIFF PREIMAGE f t
   
   [PREIMAGE_DISJOINT]  Theorem
      
      ⊒ βˆ€f s t. DISJOINT s t β‡’ DISJOINT (PREIMAGE f s) (PREIMAGE f t)
   
   [PREIMAGE_EMPTY]  Theorem
      
      ⊒ βˆ€f. PREIMAGE f βˆ… = βˆ…
   
   [PREIMAGE_I]  Theorem
      
      ⊒ PREIMAGE I = I ∧ PREIMAGE (λx. x) = (λx. x)
   
   [PREIMAGE_IMAGE]  Theorem
      
      ⊒ βˆ€f s. s βŠ† PREIMAGE f (IMAGE f s)
   
   [PREIMAGE_INTER]  Theorem
      
      ⊒ βˆ€f s t. PREIMAGE f (s ∩ t) = PREIMAGE f s ∩ PREIMAGE f t
   
   [PREIMAGE_K]  Theorem
      
      ⊒ βˆ€x s. PREIMAGE (K x) s = if x ∈ s then π•Œ(:Ξ²) else βˆ…
   
   [PREIMAGE_SUBSET]  Theorem
      
      ⊒ βˆ€f s t. s βŠ† t β‡’ PREIMAGE f s βŠ† PREIMAGE f t
   
   [PREIMAGE_UNION]  Theorem
      
      ⊒ βˆ€f s t. PREIMAGE f (s βˆͺ t) = PREIMAGE f s βˆͺ PREIMAGE f t
   
   [PREIMAGE_UNIV]  Theorem
      
      ⊒ βˆ€f. PREIMAGE f π•Œ(:Ξ²) = π•Œ(:Ξ±)
   
   [PREIMAGE_applied]  Theorem
      
      ⊒ βˆ€f s x. PREIMAGE f s x ⇔ f x ∈ s
   
   [PREIMAGE_o]  Theorem
      
      ⊒ βˆ€f g s. PREIMAGE (f ∘ g) s = PREIMAGE g (s ∘ f)
   
   [PROD_IMAGE_CONG]  Theorem
      
      ⊒ βˆ€s f1 f2. (βˆ€x. x ∈ s β‡’ f1 x = f2 x) β‡’ Ξ  f1 s = Ξ  f2 s
   
   [PROD_IMAGE_CONSTANT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€c. Ξ  (K c) s = c ** CARD s
   
   [PROD_IMAGE_DELETE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€f e.
              0 < f e β‡’
              Π f (s DELETE e) = if e ∈ s then Π f s DIV f e else Π f s
   
   [PROD_IMAGE_EMPTY]  Theorem
      
      ⊒ βˆ€f. Ξ  f βˆ… = 1
   
   [PROD_IMAGE_EQ_0]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ (Ξ  f s = 0 ⇔ βˆƒx. x ∈ s ∧ f x = 0)
   
   [PROD_IMAGE_EQ_1]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ (Ξ  f s = 1 ⇔ IMAGE f s βŠ† {1})
   
   [PROD_IMAGE_INSERT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€f e. e βˆ‰ s β‡’ Ξ  f (e INSERT s) = f e * Ξ  f s
   
   [PROD_IMAGE_THM]  Theorem
      
      ⊒ βˆ€f. Ξ  f βˆ… = 1 ∧
            βˆ€e s. FINITE s β‡’ Ξ  f (e INSERT s) = f e * Ξ  f (s DELETE e)
   
   [PROD_SET_EMPTY]  Theorem
      
      ⊒ PROD_SET βˆ… = 1
   
   [PROD_SET_IMAGE_REDUCTION]  Theorem
      
      ⊒ βˆ€f s x.
          FINITE (IMAGE f s) ∧ f x βˆ‰ IMAGE f s β‡’
          PROD_SET (IMAGE f (x INSERT s)) = f x * PROD_SET (IMAGE f s)
   
   [PROD_SET_INSERT]  Theorem
      
      ⊒ βˆ€x s. FINITE s ∧ x βˆ‰ s β‡’ PROD_SET (x INSERT s) = x * PROD_SET s
   
   [PROD_SET_THM]  Theorem
      
      ⊒ PROD_SET βˆ… = 1 ∧
        βˆ€x s. FINITE s β‡’ PROD_SET (x INSERT s) = x * PROD_SET (s DELETE x)
   
   [PSUBSET_EQN]  Theorem
      
      ⊒ βˆ€s1 s2. s1 βŠ‚ s2 ⇔ s1 βŠ† s2 ∧ Β¬(s2 βŠ† s1)
   
   [PSUBSET_FINITE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. t βŠ‚ s β‡’ FINITE t
   
   [PSUBSET_INSERT_SUBSET]  Theorem
      
      ⊒ βˆ€s t. s βŠ‚ t ⇔ βˆƒx. x βˆ‰ s ∧ x INSERT s βŠ† t
   
   [PSUBSET_IRREFL]  Theorem
      
      ⊒ βˆ€s. Β¬(s βŠ‚ s)
   
   [PSUBSET_MEMBER]  Theorem
      
      ⊒ βˆ€s t. s βŠ‚ t ⇔ s βŠ† t ∧ βˆƒy. y ∈ t ∧ y βˆ‰ s
   
   [PSUBSET_SING]  Theorem
      
      ⊒ βˆ€s x. x βŠ‚ {s} ⇔ x = βˆ…
   
   [PSUBSET_SUBSET_TRANS]  Theorem
      
      ⊒ βˆ€s t u. s βŠ‚ t ∧ t βŠ† u β‡’ s βŠ‚ u
   
   [PSUBSET_TRANS]  Theorem
      
      ⊒ βˆ€s t u. s βŠ‚ t ∧ t βŠ‚ u β‡’ s βŠ‚ u
   
   [PSUBSET_UNIV]  Theorem
      
      ⊒ βˆ€s. s βŠ‚ π•Œ(:Ξ±) ⇔ βˆƒx. x βˆ‰ s
   
   [RC_PSUBSET]  Theorem
      
      ⊒ RC $PSUBSET = $SUBSET
   
   [RC_SUBSET_THM]  Theorem
      
      ⊒ RC $SUBSET = $SUBSET
   
   [REL_RESTRICT_EMPTY]  Theorem
      
      ⊒ REL_RESTRICT R βˆ… = βˆ…α΅£
   
   [REL_RESTRICT_SUBSET]  Theorem
      
      ⊒ s1 βŠ† s2 β‡’ REL_RESTRICT R s1 βŠ†α΅£ REL_RESTRICT R s2
   
   [RESTRICTION_COMPOSE]  Theorem
      
      ⊒ βˆ€f g s t.
          IMAGE f s βŠ† t β‡’
          RESTRICTION s (RESTRICTION t g ∘ RESTRICTION s f) =
          RESTRICTION s (g ∘ f)
   
   [RESTRICTION_COMPOSE_LEFT]  Theorem
      
      ⊒ βˆ€f g s t.
          IMAGE f s βŠ† t β‡’
          RESTRICTION s (RESTRICTION t g ∘ f) = RESTRICTION s (g ∘ f)
   
   [RESTRICTION_COMPOSE_RIGHT]  Theorem
      
      ⊒ βˆ€f g s. RESTRICTION s (g ∘ RESTRICTION s f) = RESTRICTION s (g ∘ f)
   
   [RESTRICTION_EXTENSION]  Theorem
      
      ⊒ βˆ€s f g. RESTRICTION s f = RESTRICTION s g ⇔ βˆ€x. x ∈ s β‡’ f x = g x
   
   [RESTRICTION_FIXPOINT]  Theorem
      
      ⊒ βˆ€s f. RESTRICTION s f = f ⇔ f ∈ EXTENSIONAL s
   
   [RESTRICTION_IDEMP]  Theorem
      
      ⊒ βˆ€s f. RESTRICTION s (RESTRICTION s f) = RESTRICTION s f
   
   [RESTRICTION_IN_EXTENSIONAL]  Theorem
      
      ⊒ βˆ€s f. RESTRICTION s f ∈ EXTENSIONAL s
   
   [RESTRICTION_RESTRICTION]  Theorem
      
      ⊒ βˆ€s t f. s βŠ† t β‡’ RESTRICTION s (RESTRICTION t f) = RESTRICTION s f
   
   [RESTRICTION_UNIQUE]  Theorem
      
      ⊒ βˆ€s f g.
          RESTRICTION s f = g ⇔ EXTENSIONAL s g ∧ βˆ€x. x ∈ s β‡’ f x = g x
   
   [RESTRICTION_UNIQUE_ALT]  Theorem
      
      ⊒ βˆ€s f g.
          f = RESTRICTION s g ⇔ EXTENSIONAL s f ∧ βˆ€x. x ∈ s β‡’ f x = g x
   
   [REST_PSUBSET]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ REST s βŠ‚ s
   
   [REST_SING]  Theorem
      
      ⊒ βˆ€x. REST {x} = βˆ…
   
   [REST_SUBSET]  Theorem
      
      ⊒ βˆ€s. REST s βŠ† s
   
   [REST_applied]  Theorem
      
      ⊒ βˆ€x s. REST s x ⇔ x ∈ s ∧ x β‰  CHOICE s
   
   [RINV_DEF]  Theorem
      
      ⊒ βˆ€f s t. SURJ f s t β‡’ βˆ€x. x ∈ t β‡’ f (RINV f s x) = x
   
   [RTC_PSUBSET]  Theorem
      
      ⊒ $PSUBSETκ™³ = $SUBSET
   
   [RTC_SUBSET_THM]  Theorem
      
      ⊒ $SUBSETκ™³ = $SUBSET
   
   [SCHROEDER_BERNSTEIN]  Theorem
      
      ⊒ βˆ€s t. (βˆƒf. INJ f s t) ∧ (βˆƒg. INJ g t s) β‡’ βˆƒh. BIJ h s t
   
   [SCHROEDER_BERNSTEIN_AUTO]  Theorem
      
      ⊒ βˆ€s t. t βŠ† s ∧ (βˆƒf. INJ f s t) β‡’ βˆƒg. BIJ g s t
   
   [SCHROEDER_CLOSE]  Theorem
      
      ⊒ βˆ€f s. x ∈ schroeder_close f s ⇔ βˆƒn. x ∈ FUNPOW (IMAGE f) n s
   
   [SCHROEDER_CLOSED]  Theorem
      
      ⊒ βˆ€f s. IMAGE f (schroeder_close f s) βŠ† schroeder_close f s
   
   [SCHROEDER_CLOSE_SET]  Theorem
      
      ⊒ βˆ€f s t. f ∈ FUNSET s s ∧ t βŠ† s β‡’ schroeder_close f t βŠ† s
   
   [SCHROEDER_CLOSE_SUBSET]  Theorem
      
      ⊒ βˆ€f s. s βŠ† schroeder_close f s
   
   [SET_CASES]  Theorem
      
      ⊒ βˆ€s. s = βˆ… ∨ βˆƒx t. s = x INSERT t ∧ x βˆ‰ t
   
   [SET_EQ_SUBSET]  Theorem
      
      ⊒ βˆ€s t. s = t ⇔ s βŠ† t ∧ t βŠ† s
   
   [SET_MINIMUM]  Theorem
      
      ⊒ βˆ€s M. (βˆƒx. x ∈ s) ⇔ βˆƒx. x ∈ s ∧ βˆ€y. y ∈ s β‡’ M x ≀ M y
   
   [SIGMA_CARD_CONSTANT]  Theorem
      
      ⊒ βˆ€n s. FINITE s ∧ (βˆ€e. e ∈ s β‡’ CARD e = n) β‡’ βˆ‘ CARD s = n * CARD s
   
   [SIGMA_CARD_SAME_SIZE_SETS]  Theorem
      
      ⊒ βˆ€n s. FINITE s ∧ (βˆ€e. e ∈ s β‡’ CARD e = n) β‡’ βˆ‘ CARD s = n * CARD s
   
   [SIGMA_CONG]  Theorem
      
      ⊒ βˆ€s f1 f2. (βˆ€x. x ∈ s β‡’ f1 x = f2 x) β‡’ βˆ‘ f1 s = βˆ‘ f2 s
   
   [SIGMA_CONSTANT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€f k. (βˆ€x. x ∈ s β‡’ f x = k) β‡’ βˆ‘ f s = k * CARD s
   
   [SIGMA_LE_SIGMA]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€f g. (βˆ€x. x ∈ s β‡’ f x ≀ g x) β‡’ βˆ‘ f s ≀ βˆ‘ g s
   
   [SIMPLE_FINITE_INDUCT]  Theorem
      
      ⊒ βˆ€P. P βˆ… ∧ (βˆ€s. P s β‡’ βˆ€e. P (e INSERT s)) β‡’ βˆ€s. FINITE s β‡’ P s
   
   [SING]  Theorem
      
      ⊒ βˆ€x. SING {x}
   
   [SING_CARD_1]  Theorem
      
      ⊒ βˆ€s. SING s β‡’ CARD s = 1
   
   [SING_DELETE]  Theorem
      
      ⊒ βˆ€x. {x} DELETE x = βˆ…
   
   [SING_ELEMENT]  Theorem
      
      ⊒ βˆ€s. SING s β‡’ βˆ€x y. x ∈ s ∧ y ∈ s β‡’ x = y
   
   [SING_EMPTY]  Theorem
      
      ⊒ SING βˆ… ⇔ F
   
   [SING_FINITE]  Theorem
      
      ⊒ βˆ€s. SING s β‡’ FINITE s
   
   [SING_IFF_CARD1]  Theorem
      
      ⊒ βˆ€s. SING s ⇔ CARD s = 1 ∧ FINITE s
   
   [SING_IFF_EMPTY_REST]  Theorem
      
      ⊒ βˆ€s. SING s ⇔ s β‰  βˆ… ∧ REST s = βˆ…
   
   [SING_INSERT]  Theorem
      
      ⊒ SING (x INSERT s) ⇔ s = βˆ… ∨ s = {x}
   
   [SING_INTER]  Theorem
      
      ⊒ βˆ€s x. {x} ∩ s = if x ∈ s then {x} else βˆ…
   
   [SING_ONE_ELEMENT]  Theorem
      
      ⊒ βˆ€s. s β‰  βˆ… β‡’ (SING s ⇔ βˆ€x y. x ∈ s ∧ y ∈ s β‡’ x = y)
   
   [SING_TEST]  Theorem
      
      ⊒ βˆ€s. SING s ⇔ s β‰  βˆ… ∧ βˆ€x y. x ∈ s ∧ y ∈ s β‡’ x = y
   
   [SING_UNION]  Theorem
      
      ⊒ SING (s βˆͺ t) ⇔
        SING s ∧ t = βˆ… ∨ SING t ∧ s = βˆ… ∨ SING s ∧ SING t ∧ s = t
   
   [SING_applied]  Theorem
      
      ⊒ βˆ€x y. {y} x ⇔ x = y
   
   [SING_partitions]  Theorem
      
      ⊒ βˆ€x w. {x} partitions w ⇔ x = w ∧ w β‰  βˆ…
   
   [SPECIFICATION]  Theorem
      
      ⊒ βˆ€P x. x ∈ P ⇔ P x
   
   [SUBSET_ADD]  Theorem
      
      ⊒ βˆ€f n d. (βˆ€n. f n βŠ† f (SUC n)) β‡’ f n βŠ† f (n + d)
   
   [SUBSET_ANTISYM]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t ∧ t βŠ† s β‡’ s = t
   
   [SUBSET_ANTISYM_EQ]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t ∧ t βŠ† s ⇔ s = t
   
   [SUBSET_BIGINTER]  Theorem
      
      ⊒ βˆ€X P. X βŠ† BIGINTER P ⇔ βˆ€Y. Y ∈ P β‡’ X βŠ† Y
   
   [SUBSET_BIGUNION]  Theorem
      
      ⊒ βˆ€f g. f βŠ† g β‡’ BIGUNION f βŠ† BIGUNION g
   
   [SUBSET_BIGUNION_I]  Theorem
      
      ⊒ βˆ€x P. x ∈ P β‡’ x βŠ† BIGUNION P
   
   [SUBSET_BIGUNION_SUBSET_I]  Theorem
      
      ⊒ B βŠ† A ∧ A ∈ As β‡’ B βŠ† BIGUNION As
   
   [SUBSET_COMMUTING_ITSET_INSERT]  Theorem
      
      ⊒ βˆ€f s t.
          FINITE s ∧ s βŠ† t ∧ closure_comm_assoc_fun f t β‡’
          βˆ€x b::t. ITSET f (x INSERT s) b = ITSET f (s DELETE x) (f x b)
   
   [SUBSET_COMMUTING_ITSET_RECURSES]  Theorem
      
      ⊒ βˆ€f s t.
          FINITE s ∧ s βŠ† t ∧ closure_comm_assoc_fun f t β‡’
          βˆ€x b::t. ITSET f (x INSERT s) b = f x (ITSET f (s DELETE x) b)
   
   [SUBSET_COMMUTING_ITSET_REDUCTION]  Theorem
      
      ⊒ βˆ€f s t.
          FINITE s ∧ s βŠ† t ∧ closure_comm_assoc_fun f t β‡’
          βˆ€x b::t. ITSET f s (f x b) = f x (ITSET f s b)
   
   [SUBSET_CROSS]  Theorem
      
      ⊒ βˆ€a b c d. a βŠ† b ∧ c βŠ† d β‡’ a Γ— c βŠ† b Γ— d
   
   [SUBSET_DELETE]  Theorem
      
      ⊒ βˆ€x s t. s βŠ† t DELETE x ⇔ x βˆ‰ s ∧ s βŠ† t
   
   [SUBSET_DELETE_BOTH]  Theorem
      
      ⊒ βˆ€s1 s2 x. s1 βŠ† s2 β‡’ s1 DELETE x βŠ† s2 DELETE x
   
   [SUBSET_DIFF]  Theorem
      
      ⊒ βˆ€s1 s2 s3. s1 βŠ† s2 DIFF s3 ⇔ s1 βŠ† s2 ∧ DISJOINT s1 s3
   
   [SUBSET_DIFF_EMPTY]  Theorem
      
      ⊒ βˆ€s t. s DIFF t = βˆ… ⇔ s βŠ† t
   
   [SUBSET_DISJOINT]  Theorem
      
      ⊒ βˆ€s t u v. DISJOINT s t ∧ u βŠ† s ∧ v βŠ† t β‡’ DISJOINT u v
   
   [SUBSET_EMPTY]  Theorem
      
      ⊒ βˆ€s. s βŠ† βˆ… ⇔ s = βˆ…
   
   [SUBSET_EQ_CARD]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. FINITE t ∧ CARD s = CARD t ∧ s βŠ† t β‡’ s = t
   
   [SUBSET_FINITE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. t βŠ† s β‡’ FINITE t
   
   [SUBSET_FINITE_I]  Theorem
      
      ⊒ βˆ€s t. FINITE s ∧ t βŠ† s β‡’ FINITE t
   
   [SUBSET_IMAGE]  Theorem
      
      ⊒ βˆ€f s t. s βŠ† IMAGE f t ⇔ βˆƒu. u βŠ† t ∧ s = IMAGE f u
   
   [SUBSET_INSERT]  Theorem
      
      ⊒ βˆ€x s. x βˆ‰ s β‡’ βˆ€t. s βŠ† x INSERT t ⇔ s βŠ† t
   
   [SUBSET_INSERT_DELETE]  Theorem
      
      ⊒ βˆ€x s t. s βŠ† x INSERT t ⇔ s DELETE x βŠ† t
   
   [SUBSET_INSERT_RIGHT]  Theorem
      
      ⊒ βˆ€e s1 s2. s1 βŠ† s2 β‡’ s1 βŠ† e INSERT s2
   
   [SUBSET_INTER]  Theorem
      
      ⊒ βˆ€s t u. s βŠ† t ∩ u ⇔ s βŠ† t ∧ s βŠ† u
   
   [SUBSET_INTER1]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t β‡’ s ∩ t = s
   
   [SUBSET_INTER2]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t β‡’ t ∩ s = s
   
   [SUBSET_INTER_ABSORPTION]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t ⇔ s ∩ t = s
   
   [SUBSET_K]  Theorem
      
      ⊒ βˆ€x y. x βŠ† K y ⇔ x βŠ† βˆ… ∨ y
   
   [SUBSET_MAX_SET]  Theorem
      
      ⊒ βˆ€I J. FINITE I ∧ FINITE J ∧ I βŠ† J β‡’ MAX_SET I ≀ MAX_SET J
   
   [SUBSET_MIN_SET]  Theorem
      
      ⊒ βˆ€I J. I β‰  βˆ… ∧ J β‰  βˆ… ∧ I βŠ† J β‡’ MIN_SET J ≀ MIN_SET I
   
   [SUBSET_OF_INSERT]  Theorem
      
      ⊒ βˆ€x s. s βŠ† x INSERT s
   
   [SUBSET_POW]  Theorem
      
      ⊒ βˆ€s1 s2. s1 βŠ† s2 β‡’ POW s1 βŠ† POW s2
   
   [SUBSET_PSUBSET_TRANS]  Theorem
      
      ⊒ βˆ€s t u. s βŠ† t ∧ t βŠ‚ u β‡’ s βŠ‚ u
   
   [SUBSET_REFL]  Theorem
      
      ⊒ βˆ€s. s βŠ† s
   
   [SUBSET_SING]  Theorem
      
      ⊒ x βŠ† {a} ⇔ x = βˆ… ∨ x = {a}
   
   [SUBSET_THM]  Theorem
      
      ⊒ βˆ€P Q. P βŠ† Q β‡’ βˆ€x. x ∈ P β‡’ x ∈ Q
   
   [SUBSET_TRANS]  Theorem
      
      ⊒ βˆ€s t u. s βŠ† t ∧ t βŠ† u β‡’ s βŠ† u
   
   [SUBSET_UNION]  Theorem
      
      ⊒ (βˆ€s t. s βŠ† s βˆͺ t) ∧ βˆ€s t. s βŠ† t βˆͺ s
   
   [SUBSET_UNION_ABSORPTION]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t ⇔ s βˆͺ t = t
   
   [SUBSET_UNIV]  Theorem
      
      ⊒ βˆ€s. s βŠ† π•Œ(:Ξ±)
   
   [SUBSET_applied]  Theorem
      
      ⊒ βˆ€s t. s βŠ† t ⇔ βˆ€x. s x β‡’ t x
   
   [SUBSET_count_MAX_SET]  Theorem
      
      ⊒ FINITE s β‡’ s βŠ† count (MAX_SET s + 1)
   
   [SUBSET_reflexive]  Theorem
      
      ⊒ reflexive $SUBSET
   
   [SUBSET_transitive]  Theorem
      
      ⊒ transitive $SUBSET
   
   [SUM_IMAGE_ADD]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ‘ (Ξ»x. f x + g x) s = βˆ‘ f s + βˆ‘ g s
   
   [SUM_IMAGE_CONG]  Theorem
      
      ⊒ s1 = s2 ∧ (βˆ€x. x ∈ s2 β‡’ f1 x = f2 x) β‡’ βˆ‘ f1 s1 = βˆ‘ f2 s2
   
   [SUM_IMAGE_CONSTANT]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€c. βˆ‘ (K c) s = c * CARD s
   
   [SUM_IMAGE_DELETE]  Theorem
      
      ⊒ βˆ€f s.
          FINITE s β‡’
          βˆ€e. βˆ‘ f (s DELETE e) = if e ∈ s then βˆ‘ f s βˆ’ f e else βˆ‘ f s
   
   [SUM_IMAGE_DISJOINT]  Theorem
      
      ⊒ βˆ€s t.
          FINITE s ∧ FINITE t ∧ DISJOINT s t β‡’
          βˆ€f. βˆ‘ f (s βˆͺ t) = βˆ‘ f s + βˆ‘ f t
   
   [SUM_IMAGE_EMPTY]  Theorem
      
      ⊒ βˆ€f. βˆ‘ f βˆ… = 0
   
   [SUM_IMAGE_INJ_o]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€g. INJ g s π•Œ(:Ξ±) β‡’ βˆ€f. βˆ‘ f (IMAGE g s) = βˆ‘ (f ∘ g) s
   
   [SUM_IMAGE_INSERT]  Theorem
      
      ⊒ βˆ€f s. FINITE s β‡’ βˆ€e. e βˆ‰ s β‡’ βˆ‘ f (e INSERT s) = f e + βˆ‘ f s
   
   [SUM_IMAGE_IN_LE]  Theorem
      
      ⊒ βˆ€f s e. FINITE s ∧ e ∈ s β‡’ f e ≀ βˆ‘ f s
   
   [SUM_IMAGE_MONO_LESS]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            (βˆƒx. x ∈ s ∧ f x < g x) ∧ (βˆ€x. x ∈ s β‡’ f x ≀ g x) β‡’
            βˆ‘ f s < βˆ‘ g s
   
   [SUM_IMAGE_MONO_LESS_EQ]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ (βˆ€x. x ∈ s β‡’ f x ≀ g x) β‡’ βˆ‘ f s ≀ βˆ‘ g s
   
   [SUM_IMAGE_MONO_LT]  Theorem
      
      ⊒ βˆ€s. FINITE s ∧ s β‰  βˆ… β‡’
            βˆ€f g. (βˆ€x. x ∈ s β‡’ f x < g x) β‡’ βˆ‘ f s < βˆ‘ g s
   
   [SUM_IMAGE_PERMUTES]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€g. g PERMUTES s β‡’ βˆ€f. βˆ‘ (f ∘ g) s = βˆ‘ f s
   
   [SUM_IMAGE_SING]  Theorem
      
      ⊒ βˆ€f e. βˆ‘ f {e} = f e
   
   [SUM_IMAGE_SUBSET_LE]  Theorem
      
      ⊒ βˆ€f s t. FINITE s ∧ t βŠ† s β‡’ βˆ‘ f t ≀ βˆ‘ f s
   
   [SUM_IMAGE_THM]  Theorem
      
      ⊒ βˆ€f. βˆ‘ f βˆ… = 0 ∧
            βˆ€e s. FINITE s β‡’ βˆ‘ f (e INSERT s) = f e + βˆ‘ f (s DELETE e)
   
   [SUM_IMAGE_UNION]  Theorem
      
      ⊒ βˆ€f s t.
          FINITE s ∧ FINITE t β‡’ βˆ‘ f (s βˆͺ t) = βˆ‘ f s + βˆ‘ f t βˆ’ βˆ‘ f (s ∩ t)
   
   [SUM_IMAGE_UNION_EQN]  Theorem
      
      ⊒ βˆ€s t.
          FINITE s ∧ FINITE t β‡’
          βˆ€f. βˆ‘ f (s βˆͺ t) + βˆ‘ f (s ∩ t) = βˆ‘ f s + βˆ‘ f t
   
   [SUM_IMAGE_ZERO]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ (βˆ‘ f s = 0 ⇔ βˆ€x. x ∈ s β‡’ f x = 0)
   
   [SUM_IMAGE_lower_bound]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€n. (βˆ€x. x ∈ s β‡’ n ≀ f x) β‡’ CARD s * n ≀ βˆ‘ f s
   
   [SUM_IMAGE_upper_bound]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€n. (βˆ€x. x ∈ s β‡’ f x ≀ n) β‡’ βˆ‘ f s ≀ CARD s * n
   
   [SUM_SAME_IMAGE]  Theorem
      
      ⊒ βˆ€P. FINITE P β‡’
            βˆ€f p. p ∈ P ∧ (βˆ€q. q ∈ P β‡’ f p = f q) β‡’ βˆ‘ f P = CARD P * f p
   
   [SUM_SET_DELETE]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’
            βˆ€e. SUM_SET (s DELETE e) =
                if e ∈ s then SUM_SET s βˆ’ e else SUM_SET s
   
   [SUM_SET_EMPTY]  Theorem
      
      ⊒ SUM_SET βˆ… = 0
   
   [SUM_SET_INSERT]  Theorem
      
      ⊒ βˆ€s x. FINITE s ∧ x βˆ‰ s β‡’ SUM_SET (x INSERT s) = x + SUM_SET s
   
   [SUM_SET_IN_LE]  Theorem
      
      ⊒ βˆ€x s. FINITE s ∧ x ∈ s β‡’ x ≀ SUM_SET s
   
   [SUM_SET_SING]  Theorem
      
      ⊒ βˆ€n. SUM_SET {n} = n
   
   [SUM_SET_SUBSET_LE]  Theorem
      
      ⊒ βˆ€s t. FINITE t ∧ s βŠ† t β‡’ SUM_SET s ≀ SUM_SET t
   
   [SUM_SET_THM]  Theorem
      
      ⊒ SUM_SET βˆ… = 0 ∧
        βˆ€x s. FINITE s β‡’ SUM_SET (x INSERT s) = x + SUM_SET (s DELETE x)
   
   [SUM_SET_UNION]  Theorem
      
      ⊒ βˆ€s t.
          FINITE s ∧ FINITE t β‡’
          SUM_SET (s βˆͺ t) = SUM_SET s + SUM_SET t βˆ’ SUM_SET (s ∩ t)
   
   [SUM_SET_count]  Theorem
      
      ⊒ SUM_SET (count n) = n * (n βˆ’ 1) DIV 2
   
   [SUM_SET_count_2]  Theorem
      
      ⊒ βˆ€n. 2 * SUM_SET (count n) = n * (n βˆ’ 1)
   
   [SUM_UNIV]  Theorem
      
      ⊒ π•Œ(:Ξ± + Ξ²) = IMAGE INL π•Œ(:Ξ±) βˆͺ IMAGE INR π•Œ(:Ξ²)
   
   [SURJECTIVE_IFF_INJECTIVE]  Theorem
      
      ⊒ βˆ€s f.
          FINITE s ∧ IMAGE f s βŠ† s β‡’
          ((βˆ€y. y ∈ s β‡’ βˆƒx. x ∈ s ∧ f x = y) ⇔
           βˆ€x y. x ∈ s ∧ y ∈ s ∧ f x = f y β‡’ x = y)
   
   [SURJECTIVE_IFF_INJECTIVE_GEN]  Theorem
      
      ⊒ βˆ€s t f.
          FINITE s ∧ FINITE t ∧ CARD s = CARD t ∧ IMAGE f s βŠ† t β‡’
          ((βˆ€y. y ∈ t β‡’ βˆƒx. x ∈ s ∧ f x = y) ⇔
           βˆ€x y. x ∈ s ∧ y ∈ s ∧ f x = f y β‡’ x = y)
   
   [SURJ_CARD]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€t. SURJ f s t β‡’ FINITE t ∧ CARD t ≀ CARD s
   
   [SURJ_COMPOSE]  Theorem
      
      ⊒ βˆ€f g s t u. SURJ f s t ∧ SURJ g t u β‡’ SURJ (g ∘ f) s u
   
   [SURJ_CONG]  Theorem
      
      ⊒ βˆ€f g s t. (βˆ€x. x ∈ s β‡’ f x = g x) β‡’ (SURJ f s t ⇔ SURJ g s t)
   
   [SURJ_ELEMENT]  Theorem
      
      ⊒ βˆ€f s t x. SURJ f s t ∧ x ∈ s β‡’ f x ∈ t
   
   [SURJ_EMPTY]  Theorem
      
      ⊒ βˆ€f. (βˆ€s. SURJ f βˆ… s ⇔ s = βˆ…) ∧ βˆ€s. SURJ f s βˆ… ⇔ s = βˆ…
   
   [SURJ_ID]  Theorem
      
      ⊒ βˆ€s. SURJ (Ξ»x. x) s s
   
   [SURJ_IMAGE]  Theorem
      
      ⊒ SURJ f s (IMAGE f s)
   
   [SURJ_IMP_INJ]  Theorem
      
      ⊒ βˆ€s t. (βˆƒf. SURJ f s t) β‡’ βˆƒg. INJ g t s
   
   [SURJ_INJ_INV]  Theorem
      
      ⊒ SURJ f s t β‡’ βˆƒg. INJ g t s ∧ βˆ€y. y ∈ t β‡’ f (g y) = y
   
   [TC_PSUBSET]  Theorem
      
      ⊒ $PSUBSET⁺ = $PSUBSET
   
   [TC_SUBSET_THM]  Theorem
      
      ⊒ $SUBSET⁺ = $SUBSET
   
   [UNION_ASSOC]  Theorem
      
      ⊒ βˆ€s t u. s βˆͺ (t βˆͺ u) = s βˆͺ t βˆͺ u
   
   [UNION_COMM]  Theorem
      
      ⊒ βˆ€s t. s βˆͺ t = t βˆͺ s
   
   [UNION_DELETE]  Theorem
      
      ⊒ βˆ€A B x. A βˆͺ B DELETE x = A DELETE x βˆͺ (B DELETE x)
   
   [UNION_DIFF]  Theorem
      
      ⊒ s βŠ† t β‡’ s βˆͺ (t DIFF s) = t ∧ t DIFF s βˆͺ s = t
   
   [UNION_DIFF_2]  Theorem
      
      ⊒ βˆ€s t. s βˆͺ (s DIFF t) = s
   
   [UNION_DIFF_EQ]  Theorem
      
      ⊒ (βˆ€s t. s βˆͺ (t DIFF s) = s βˆͺ t) ∧ βˆ€s t. t DIFF s βˆͺ s = t βˆͺ s
   
   [UNION_EMPTY]  Theorem
      
      ⊒ (βˆ€s. βˆ… βˆͺ s = s) ∧ βˆ€s. s βˆͺ βˆ… = s
   
   [UNION_IDEMPOT]  Theorem
      
      ⊒ βˆ€s. s βˆͺ s = s
   
   [UNION_OVER_INTER]  Theorem
      
      ⊒ βˆ€s t u. s ∩ (t βˆͺ u) = s ∩ t βˆͺ s ∩ u
   
   [UNION_SUBSET]  Theorem
      
      ⊒ βˆ€s t u. s βˆͺ t βŠ† u ⇔ s βŠ† u ∧ t βŠ† u
   
   [UNION_UNIV]  Theorem
      
      ⊒ (βˆ€s. π•Œ(:Ξ±) βˆͺ s = π•Œ(:Ξ±)) ∧ βˆ€s. s βˆͺ π•Œ(:Ξ±) = π•Œ(:Ξ±)
   
   [UNION_applied]  Theorem
      
      ⊒ βˆ€s t x. (s βˆͺ t) x ⇔ x ∈ s ∨ x ∈ t
   
   [UNIQUE_MEMBER_SING]  Theorem
      
      ⊒ βˆ€x s. x ∈ s ∧ (βˆ€y. y ∈ s β‡’ x = y) ⇔ s = {x}
   
   [UNIV_BOOL]  Theorem
      
      ⊒ π•Œ(:bool) = {T; F}
   
   [UNIV_FUNSET_UNIV]  Theorem
      
      ⊒ FUNSET π•Œ(:Ξ±) π•Œ(:Ξ²) = π•Œ(:Ξ± -> Ξ²)
   
   [UNIV_FUN_TO_BOOL]  Theorem
      
      ⊒ π•Œ(:Ξ± -> bool) = POW π•Œ(:Ξ±)
   
   [UNIV_NOT_EMPTY]  Theorem
      
      ⊒ π•Œ(:Ξ±) β‰  βˆ…
   
   [UNIV_SUBSET]  Theorem
      
      ⊒ βˆ€s. π•Œ(:Ξ±) βŠ† s ⇔ s = π•Œ(:Ξ±)
   
   [UNIV_applied]  Theorem
      
      ⊒ βˆ€x. π•Œ(:Ξ±) x
   
   [X_LE_MAX_SET]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€x. x ∈ s β‡’ x ≀ MAX_SET s
   
   [bigunion_countable]  Theorem
      
      ⊒ βˆ€s. countable s ∧ (βˆ€x. x ∈ s β‡’ countable x) β‡’
            countable (BIGUNION s)
   
   [chooser_compute]  Theorem
      
      ⊒ (βˆ€s. chooser s 0 = CHOICE s) ∧
        (βˆ€s n.
           chooser s <..num comp'n..> =
           chooser (REST s) (<..num comp'n..> βˆ’ 1)) ∧
        βˆ€s n.
          chooser s <..num comp'n..> = chooser (REST s) <..num comp'n..>
   
   [compl_insert]  Theorem
      
      ⊒ βˆ€s x. COMPL (x INSERT s) = COMPL s DELETE x
   
   [count_EQN]  Theorem
      
      ⊒ βˆ€n. count n =
            if n = 0 then βˆ… else (let p = PRE n in p INSERT count p)
   
   [count_add]  Theorem
      
      ⊒ βˆ€n m. count (n + m) = count n βˆͺ IMAGE ($+ n) (count m)
   
   [count_add1]  Theorem
      
      ⊒ βˆ€n. count (n + 1) = n INSERT count n
   
   [countable_EMPTY]  Theorem
      
      ⊒ countable βˆ…
   
   [countable_INSERT]  Theorem
      
      ⊒ countable (x INSERT s) ⇔ countable s
   
   [countable_Uprod]  Theorem
      
      ⊒ countable π•Œ(:Ξ± # Ξ²) ⇔ countable π•Œ(:Ξ±) ∧ countable π•Œ(:Ξ²)
   
   [countable_Usum]  Theorem
      
      ⊒ countable π•Œ(:Ξ± + Ξ²) ⇔ countable π•Œ(:Ξ±) ∧ countable π•Œ(:Ξ²)
   
   [countable_image_nats]  Theorem
      
      ⊒ countable (IMAGE f π•Œ(:num))
   
   [countable_surj]  Theorem
      
      ⊒ βˆ€s. countable s ⇔ s = βˆ… ∨ βˆƒf. SURJ f π•Œ(:num) s
   
   [cross_countable]  Theorem
      
      ⊒ βˆ€s t. countable s ∧ countable t β‡’ countable (s Γ— t)
   
   [cross_countable_IFF]  Theorem
      
      ⊒ countable (s Γ— t) ⇔ s = βˆ… ∨ t = βˆ… ∨ countable s ∧ countable t
   
   [disjUNION_EQ_EMPTY]  Theorem
      
      ⊒ x βŠ” y = βˆ… ⇔ x = βˆ… ∧ y = βˆ…
   
   [disjUNION_UNIV]  Theorem
      
      ⊒ π•Œ(:Ξ± + Ξ²) = π•Œ(:Ξ±) βŠ” π•Œ(:Ξ²)
   
   [disjointD]  Theorem
      
      ⊒ βˆ€A a b. disjoint A β‡’ a ∈ A β‡’ b ∈ A β‡’ a β‰  b β‡’ DISJOINT a b
   
   [disjointI]  Theorem
      
      ⊒ βˆ€A. (βˆ€a b. a ∈ A β‡’ b ∈ A β‡’ a β‰  b β‡’ DISJOINT a b) β‡’ disjoint A
   
   [disjoint_def]  Theorem
      
      ⊒ βˆ€A. disjoint A ⇔ βˆ€a b. a ∈ A ∧ b ∈ A ∧ a β‰  b β‡’ DISJOINT a b
   
   [disjoint_empty]  Theorem
      
      ⊒ disjoint βˆ…
   
   [disjoint_image]  Theorem
      
      ⊒ βˆ€f. (βˆ€i j. i β‰  j β‡’ DISJOINT (f i) (f j)) β‡’ disjoint (IMAGE f π•Œ(:Ξ±))
   
   [disjoint_insert]  Theorem
      
      ⊒ βˆ€e c.
          disjoint c ∧ (βˆ€x. x ∈ c β‡’ DISJOINT x e) β‡’ disjoint (e INSERT c)
   
   [disjoint_insert_imp]  Theorem
      
      ⊒ βˆ€e c. disjoint (e INSERT c) β‡’ disjoint c
   
   [disjoint_insert_notin]  Theorem
      
      ⊒ βˆ€e c. disjoint (e INSERT c) ∧ e βˆ‰ c β‡’ βˆ€s. s ∈ c β‡’ DISJOINT e s
   
   [disjoint_restrict]  Theorem
      
      ⊒ βˆ€e c. disjoint c β‡’ disjoint (IMAGE ($INTER e) c)
   
   [disjoint_same]  Theorem
      
      ⊒ βˆ€s t. s = t β‡’ disjoint {s; t}
   
   [disjoint_sing]  Theorem
      
      ⊒ βˆ€a. disjoint {a}
   
   [disjoint_two]  Theorem
      
      ⊒ βˆ€s t. s β‰  t ∧ DISJOINT s t β‡’ disjoint {s; t}
   
   [disjoint_union]  Theorem
      
      ⊒ βˆ€A B.
          disjoint A ∧ disjoint B ∧ BIGUNION A ∩ BIGUNION B = βˆ… β‡’
          disjoint (A βˆͺ B)
   
   [empty_partitions]  Theorem
      
      ⊒ βˆ€s. βˆ… partitions s ⇔ s = βˆ…
   
   [empty_refines]  Theorem
      
      ⊒ βˆ€v. βˆ… refines v
   
   [equiv_class_eq]  Theorem
      
      ⊒ βˆ€R s x y.
          R equiv_on s ∧ x ∈ s ∧ y ∈ s β‡’
          (equiv_class R s x = equiv_class R s y ⇔ R x y)
   
   [equiv_on_subset]  Theorem
      
      ⊒ βˆ€R s t. R equiv_on s ∧ t βŠ† s β‡’ R equiv_on t
   
   [equivalence_same_part]  Theorem
      
      ⊒ equivalence (λx y. part v x = part v y)
   
   [finite_countable]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ countable s
   
   [image_countable]  Theorem
      
      ⊒ βˆ€f s. countable s β‡’ countable (IMAGE f s)
   
   [in_max_set]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆ€x. x ∈ s β‡’ x ≀ MAX_SET s
   
   [in_part]  Theorem
      
      ⊒ βˆ€w v x. v partitions w ∧ x ∈ w β‡’ x ∈ part v x
   
   [infinite_num_inj]  Theorem
      
      ⊒ βˆ€s. INFINITE s ⇔ βˆƒf. INJ f π•Œ(:num) s
   
   [infinite_pow_uncountable]  Theorem
      
      ⊒ βˆ€s. INFINITE s β‡’ Β¬countable (POW s)
   
   [infinite_rest]  Theorem
      
      ⊒ βˆ€s. INFINITE s β‡’ INFINITE (REST s)
   
   [inj_countable]  Theorem
      
      ⊒ βˆ€f s t. countable t ∧ INJ f s t β‡’ countable s
   
   [inj_image_countable_IFF]  Theorem
      
      ⊒ INJ f s (IMAGE f s) β‡’ (countable (IMAGE f s) ⇔ countable s)
   
   [inj_surj]  Theorem
      
      ⊒ βˆ€f s t. INJ f s t β‡’ s = βˆ… ∨ βˆƒf'. SURJ f' t s
   
   [inter_countable]  Theorem
      
      ⊒ βˆ€s t. countable s ∨ countable t β‡’ countable (s ∩ t)
   
   [inv_image_equiv_on]  Theorem
      
      ⊒ βˆ€R Y f. R equiv_on Y β‡’ inv_image R f equiv_on {x | f x ∈ Y}
   
   [is_measure_maximal_INSERT]  Theorem
      
      ⊒ βˆ€x s m e y.
          x ∈ s ∧ m e < m x β‡’
          (is_measure_maximal m (e INSERT s) y ⇔ is_measure_maximal m s y)
   
   [is_measure_maximal_SING]  Theorem
      
      ⊒ is_measure_maximal m {x} y ⇔ y = x
   
   [num_FINITE]  Theorem
      
      ⊒ βˆ€s. FINITE s ⇔ βˆƒa. βˆ€x. x ∈ s β‡’ x ≀ a
   
   [num_FINITE_AVOID]  Theorem
      
      ⊒ βˆ€s. FINITE s β‡’ βˆƒa. a βˆ‰ s
   
   [num_INFINITE]  Theorem
      
      ⊒ INFINITE π•Œ(:num)
   
   [num_countable]  Theorem
      
      ⊒ countable π•Œ(:num)
   
   [pair_to_num_formula]  Theorem
      
      ⊒ βˆ€x y. pair_to_num (x,y) = (x + y + 1) * (x + y) DIV 2 + y
   
   [pair_to_num_inv]  Theorem
      
      ⊒ (βˆ€x. pair_to_num (num_to_pair x) = x) ∧
        βˆ€x y. num_to_pair (pair_to_num (x,y)) = (x,y)
   
   [pair_to_num_inv']  Theorem
      
      ⊒ (βˆ€x. pair_to_num (num_to_pair x) = x) ∧
        βˆ€x. num_to_pair (pair_to_num x) = x
   
   [pairwise_EMPTY]  Theorem
      
      ⊒ βˆ€r. pairwise r βˆ…
   
   [pairwise_SUBSET]  Theorem
      
      ⊒ βˆ€R s t. pairwise R t ∧ s βŠ† t β‡’ pairwise R s
   
   [pairwise_UNION]  Theorem
      
      ⊒ pairwise R (s1 βˆͺ s2) ⇔
        pairwise R s1 ∧ pairwise R s2 ∧
        βˆ€x y. x ∈ s1 ∧ y ∈ s2 β‡’ R x y ∧ R y x
   
   [part_SING]  Theorem
      
      ⊒ βˆ€x w. x ∈ w β‡’ part {w} x = w
   
   [part_in_partition]  Theorem
      
      ⊒ βˆ€w v x. v partitions w ∧ x ∈ w β‡’ part v x ∈ v
   
   [part_partition]  Theorem
      
      ⊒ βˆ€R w y.
          y ∈ w ∧ R equiv_on w β‡’
          part (partition R w) y = {x | x ∈ w ∧ R x y}
   
   [part_unique]  Theorem
      
      ⊒ βˆ€w v x s. v partitions w ∧ x ∈ w ∧ x ∈ s ∧ s ∈ v β‡’ s = part v x
   
   [partition_CARD]  Theorem
      
      ⊒ βˆ€R s. R equiv_on s ∧ FINITE s β‡’ CARD s = βˆ‘ CARD (partition R s)
   
   [partition_SUBSET]  Theorem
      
      ⊒ βˆ€R s t. t ∈ partition R s β‡’ t βŠ† s
   
   [partition_elements_disjoint]  Theorem
      
      ⊒ R equiv_on s β‡’
        βˆ€t1 t2.
          t1 ∈ partition R s ∧ t2 ∈ partition R s ∧ t1 β‰  t2 β‡’
          DISJOINT t1 t2
   
   [partition_elements_interrelate]  Theorem
      
      ⊒ R equiv_on s β‡’ βˆ€t. t ∈ partition R s β‡’ βˆ€x y. x ∈ t ∧ y ∈ t β‡’ R x y
   
   [partition_rel_eq]  Theorem
      
      ⊒ βˆ€R1 R2 Y.
          R1 equiv_on Y ∧ R2 equiv_on Y ∧ partition R1 Y = partition R2 Y β‡’
          βˆ€x y. x ∈ Y ∧ y ∈ Y β‡’ (R1 x y ⇔ R2 x y)
   
   [partitions_DISJOINT]  Theorem
      
      ⊒ βˆ€v w s1 s2.
          v partitions w ∧ s1 ∈ v ∧ s2 ∈ v ∧ s1 β‰  s2 β‡’ DISJOINT s1 s2
   
   [partitions_FINITE]  Theorem
      
      ⊒ βˆ€X Y. X partitions Y ∧ FINITE Y β‡’ FINITE X ∧ βˆ€s. s ∈ X β‡’ FINITE s
   
   [partitions_INSERT]  Theorem
      
      ⊒ βˆ€x w v.
          x βˆ‰ w β‡’
          (v partitions x INSERT w ⇔
           βˆƒu s.
             u partitions w ∧ v = (x INSERT s) INSERT u DELETE s ∧
             (s β‰  βˆ… β‡’ s ∈ u))
   
   [partitions_PAIR_DISJOINT]  Theorem
      
      ⊒ βˆ€x y.
          x partitions y ⇔
          βˆ… βˆ‰ x ∧ (βˆ€s t. s ∈ x ∧ t ∈ x ∧ s β‰  t β‡’ DISJOINT s t) ∧
          BIGUNION x = y
   
   [partitions_SING]  Theorem
      
      ⊒ βˆ€v x. SING x β‡’ (v partitions x ⇔ v = {{CHOICE x}})
   
   [partitions_covers]  Theorem
      
      ⊒ βˆ€x y. x partitions y β‡’ BIGUNION x = y
   
   [partitions_empty]  Theorem
      
      ⊒ βˆ€v. v partitions βˆ… ⇔ v = βˆ…
   
   [partitions_inj]  Theorem
      
      ⊒ βˆ€x w1 w2. x partitions w1 ∧ x partitions w2 β‡’ w1 = w2
   
   [partitions_thm]  Theorem
      
      ⊒ βˆ€X Y.
          X partitions Y ⇔
          (βˆ€x. x ∈ X β‡’ x β‰  βˆ… ∧ x βŠ† Y) ∧ βˆ€y. y ∈ Y β‡’ βˆƒ!x. x ∈ X ∧ y ∈ x
   
   [pow_no_surj]  Theorem
      
      ⊒ βˆ€s. Β¬βˆƒf. SURJ f s (POW s)
   
   [prime_PROD_IMAGE]  Theorem
      
      ⊒ βˆ€f s.
          FINITE s β‡’
          (prime (Ξ  f s) ⇔
           βˆƒp. IMAGE f s βŠ† {1; p} ∧ prime p ∧ βˆƒ!x. x ∈ s ∧ f x = p)
   
   [refines_antisym]  Theorem
      
      ⊒ βˆ€w v1 v2.
          v1 partitions w ∧ v2 partitions w ∧ v1 refines v2 ∧ v2 refines v1 β‡’
          v1 = v2
   
   [refines_grows_parts]  Theorem
      
      ⊒ βˆ€w v1 v2.
          v1 partitions w ∧ v2 partitions w β‡’
          (v1 refines v2 ⇔
           βˆ€x y.
             x ∈ w ∧ y ∈ w ∧ part v1 x = part v1 y β‡’ part v2 x = part v2 y)
   
   [refines_refl]  Theorem
      
      ⊒ βˆ€v. v refines v
   
   [refines_transitive]  Theorem
      
      ⊒ βˆ€v1 v2 v3. v1 refines v2 ∧ v2 refines v3 β‡’ v1 refines v3
   
   [subset_countable]  Theorem
      
      ⊒ βˆ€s t. countable s ∧ t βŠ† s β‡’ countable t
   
   [transitive_PSUBSET]  Theorem
      
      ⊒ transitive $PSUBSET
   
   [union_countable]  Theorem
      
      ⊒ βˆ€s t. countable s ∧ countable t β‡’ countable (s βˆͺ t)
   
   [union_countable_IFF]  Theorem
      
      ⊒ countable (s βˆͺ t) ⇔ countable s ∧ countable t
   
   
*)
end


Source File Identifier index Theory binding index

HOL 4, Trindemossen-2