Theorems
BIGPROD_CONS
⊢ A × BIGPROD As ≈ BIGPROD (IMAGE INL A INSERT IMAGE (IMAGE INR) As)
BIGPROD_EQ_EMPTY
⊢ BIGPROD As = ∅ ⇔ ∅ ∈ As
BIGPROD_ONE
⊢ BIGPROD ∅ ≈ {()}
BIGPROD_SING
⊢ BIGPROD {A} ≈ A
BIGPROD_def
⊢ ∀A. BIGPROD A = BIGPRODi (λa. if a ∈ A then SOME a else NONE)
BIGPROD_pair
⊢ A1 ≠ A2 ⇒ BIGPROD {A1; A2} ≈ A1 × A2
BIGPROD_thm
⊢ BIGPROD A =
{tup |
(∀s. s ∈ A ⇒ ∃a. tup s = SOME a ∧ a ∈ s) ∧ ∀s. s ∉ A ⇒ tup s = NONE}
BIGPRODi_11
⊢ (∀i. Af i ≠ SOME ∅) ∧ (∀i. Bf i ≠ SOME ∅) ⇒
(BIGPRODi Af = BIGPRODi Bf ⇔ Af = Bf)
BIGPRODi_EQ_EMPTY
⊢ BIGPRODi Af = ∅ ⇔ ∃i. Af i = SOME ∅
BIGPRODi_KNONE
⊢ BIGPRODi (K NONE) = {K NONE}
BIGPRODi_SING_CEQ
⊢ BIGPRODi (fnOfSet {(i,s)}) ≈ s
BIGPRODi_SING_EQ
⊢ BIGPRODi (fnOfSet {(i,s)}) = {(K NONE)⦇i ↦ SOME a⦈ | a ∈ s}
BIGPRODi_def
⊢ ∀A. BIGPRODi A =
{tup |
(∀i. A i = NONE ⇒ tup i = NONE) ∧
∀i s. A i = SOME s ⇒ ∃a. tup i = SOME a ∧ a ∈ s}
BIGPRODi_pair
⊢ i ≠ j ⇒ BIGPRODi (K NONE)⦇i ↦ SOME A1; j ↦ SOME A2⦈ ≈ A1 × A2
BIJECTIVE_INJECTIVE_SURJECTIVE
⊢ ∀f s t.
(∀x. x ∈ s ⇒ f x ∈ t) ∧ (∀y. y ∈ t ⇒ ∃!x. x ∈ s ∧ f x = y) ⇔
(∀x. x ∈ s ⇒ f x ∈ t) ∧ (∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ∧
∀y. y ∈ t ⇒ ∃x. x ∈ s ∧ f x = y
BIJECTIVE_INVERSES
⊢ ∀f s t.
(∀x. x ∈ s ⇒ f x ∈ t) ∧ (∀y. y ∈ t ⇒ ∃!x. x ∈ s ∧ f x = y) ⇔
(∀x. x ∈ s ⇒ f x ∈ t) ∧
∃g. (∀y. y ∈ t ⇒ g y ∈ s) ∧ (∀y. y ∈ t ⇒ f (g y) = y) ∧
∀x. x ∈ s ⇒ g (f x) = x
BIJ_functions_agree
⊢ ∀f g s t. BIJ f s t ∧ (∀x. x ∈ s ⇒ f x = g x) ⇒ BIJ g s t
CANTOR_THM
⊢ ∀s. s ≺ {t | t ⊆ s}
CANTOR_THM_UNIV
⊢ 𝕌(:α) ≺ 𝕌(:α -> bool)
CARD1_SING
⊢ A ≈ {()} ⇔ ∃a. A = {a}
CARDEQ_0
⊢ (x ≈ ∅ ⇔ x = ∅) ∧ (∅ ≈ x ⇔ x = ∅)
CARDEQ_CARD
⊢ s1 ≈ s2 ∧ FINITE s1 ⇒ CARD s1 = CARD s2
CARDEQ_CARDLEQ
⊢ s1 ≈ s2 ∧ t1 ≈ t2 ⇒ (s1 ≼ t1 ⇔ s2 ≼ t2)
CARDEQ_CARD_EQN
⊢ FINITE s1 ∧ FINITE s2 ⇒ (s1 ≈ s2 ⇔ CARD s1 = CARD s2)
CARDEQ_CROSS
⊢ s1 ≈ s2 ∧ t1 ≈ t2 ⇒ s1 × t1 ≈ s2 × t2
CARDEQ_CROSS_1
⊢ {x} × A ≈ A ∧ A × {x} ≈ A
CARDEQ_CROSS_SYM
⊢ s × t ≈ t × s
CARDEQ_DISJOINT_UNION
⊢ ∀s t. s ∩ t = ∅ ⇒ s ∪ t ≈ s ⊔ t
CARDEQ_FINITE
⊢ s1 ≈ s2 ⇒ (FINITE s1 ⇔ FINITE s2)
CARDEQ_INSERT_RWT
⊢ ∀s. INFINITE s ⇒ x INSERT s ≈ s
CARDEQ_SUBSET_CARDLEQ
⊢ s ≈ t ⇒ s ≼ t
CARDLEQ_CARD
⊢ FINITE s1 ∧ FINITE s2 ⇒ (s1 ≼ s2 ⇔ CARD s1 ≤ CARD s2)
CARDLEQ_CROSS_CONG
⊢ ∀x1 x2 y1 y2. x1 ≼ x2 ∧ y1 ≼ y2 ⇒ x1 × y1 ≼ x2 × y2
CARDLEQ_FINITE
⊢ ∀s1 s2. FINITE s2 ∧ s1 ≼ s2 ⇒ FINITE s1
CARD_12
⊢ {()} ≺ 𝟚 ∧ {()} ≉ 𝟚 ∧ 𝟚 ≉ {()} ∧ {()} ≼ 𝟚
CARD_ADD2_ABSORB_LE
⊢ ∀s t u. INFINITE u ∧ s ≼ u ∧ t ≼ u ⇒ s ⊔ t ≼ u
CARD_ADD2_ABSORB_LT
⊢ ∀s t u. INFINITE u ∧ s ≺ u ∧ t ≺ u ⇒ s ⊔ t ≺ u
CARD_ADD_ABSORB
⊢ ∀s t. INFINITE t ∧ s ≼ t ⇒ s ⊔ t ≈ t
CARD_ADD_ABSORB_LE
⊢ ∀s t. INFINITE t ∧ s ≼ t ⇒ s ⊔ t ≼ t
CARD_ADD_ASSOC
⊢ ∀s t u. s ⊔ (t ⊔ u) ≈ s ⊔ t ⊔ u
CARD_ADD_C
⊢ FINITE s ∧ FINITE t ⇒ CARD (s ⊔ t) = CARD s + CARD t
CARD_ADD_CONG
⊢ ∀s s' t t'. s ≈ s' ∧ t ≈ t' ⇒ s ⊔ t ≈ s' ⊔ t'
CARD_ADD_FINITE
⊢ ∀s t. FINITE s ∧ FINITE t ⇒ FINITE (s ⊔ t)
CARD_ADD_FINITE_EQ
⊢ ∀s t. FINITE (s ⊔ t) ⇔ FINITE s ∧ FINITE t
CARD_ADD_LE_MUL_INFINITE
⊢ ∀s. INFINITE s ⇒ s ⊔ s ≼ s × s
CARD_ADD_SYM
⊢ ∀s t. s ⊔ t ≈ t ⊔ s
CARD_BIGUNION
⊢ INFINITE k ∧ s1 ≼ k ∧ (∀e. e ∈ s1 ⇒ e ≼ k) ⇒ BIGUNION s1 ≼ k
CARD_BIGUNION_LE
⊢ ∀s t m n.
s HAS_SIZE m ∧ (∀x. x ∈ s ⇒ FINITE (t x) ∧ CARD (t x) ≤ n) ⇒
CARD (BIGUNION {t x | x ∈ s}) ≤ m * n
CARD_BOOL
⊢ CARD 𝕌(:bool) = 2
CARD_CARDEQ_I
⊢ FINITE s1 ∧ FINITE s2 ∧ CARD s1 = CARD s2 ⇒ s1 ≈ s2
CARD_COUNTABLE_CONG
⊢ ∀s t. s ≈ t ⇒ (countable s ⇔ countable t)
CARD_DISJOINT_UNION
⊢ ∀s t. FINITE s ∧ FINITE t ∧ s ∩ t = ∅ ⇒ CARD (s ∪ t) = CARD s + CARD t
CARD_EQ_BIJECTION
⊢ ∀s t.
FINITE s ∧ FINITE t ∧ CARD s = CARD t ⇒
∃f. (∀x. x ∈ s ⇒ f x ∈ t) ∧ (∀y. y ∈ t ⇒ ∃x. x ∈ s ∧ f x = y) ∧
∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y
CARD_EQ_BIJECTIONS
⊢ ∀s t.
FINITE s ∧ FINITE t ∧ CARD s = CARD t ⇒
∃f g.
(∀x. x ∈ s ⇒ f x ∈ t ∧ g (f x) = x) ∧
∀y. y ∈ t ⇒ g y ∈ s ∧ f (g y) = y
CARD_EQ_CARD
⊢ ∀s1 s2. FINITE s1 ∧ FINITE s2 ⇒ (s1 ≈ s2 ⇔ CARD s1 = CARD s2)
CARD_EQ_CARD_IMP
⊢ ∀s t. FINITE t ∧ s ≈ t ⇒ CARD s = CARD t
CARD_EQ_CONG
⊢ ∀s s' t t'. s ≈ s' ∧ t ≈ t' ⇒ (s ≈ t ⇔ s' ≈ t')
CARD_EQ_COUNTABLE
⊢ ∀s t. countable t ∧ s ≈ t ⇒ countable s
CARD_EQ_EMPTY
⊢ x ≈ ∅ ⇔ x = ∅
CARD_EQ_FINITE
⊢ ∀s t. FINITE t ∧ s ≈ t ⇒ FINITE s
CARD_EQ_IMAGE
⊢ ∀f s. (∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ⇒ IMAGE f s ≈ s
CARD_EQ_IMP_LE
⊢ s ≈ t ⇒ s ≼ t
CARD_EQ_SYM
⊢ ∀s t. s ≈ t ⇔ t ≈ s
CARD_EQ_TRANS
⊢ ∀s t u. s ≈ t ∧ t ≈ u ⇒ s ≈ u
CARD_EXP_ABSORB
⊢ ∀s t.
INFINITE t ∧ 𝕌(:bool) ≼ s ∧ s ≼ set_exp 𝕌(:bool) t ⇒
set_exp s t ≈ set_exp 𝕌(:bool) t
CARD_EXP_CANTOR
⊢ ∀s. s ≺ set_exp 𝕌(:bool) s
CARD_EXP_CONG
⊢ ∀s s' t t'. s ≈ s' ∧ t ≈ t' ⇒ set_exp s t ≈ set_exp s' t'
CARD_EXP_MUL
⊢ ∀s t u. set_exp s (t × u) ≈ set_exp (set_exp s t) u
CARD_EXP_POWERSET
⊢ ∀s. set_exp 𝕌(:bool) s ≈ {t | t ⊆ s}
CARD_EXP_SING
⊢ ∀s b. set_exp s {b} ≈ s
CARD_EXP_UNIV
⊢ set_exp 𝕌(:β) 𝕌(:α) = 𝕌(:α -> β)
CARD_FINITE_CONG
⊢ ∀s t. s ≈ t ⇒ (FINITE s ⇔ FINITE t)
CARD_HAS_SIZE_CONG
⊢ ∀s t n. s HAS_SIZE n ∧ s ≈ t ⇒ t HAS_SIZE n
CARD_INFINITE_CONG
⊢ ∀s t. s ≈ t ⇒ (INFINITE s ⇔ INFINITE t)
CARD_LDISTRIB
⊢ ∀s t u. s × (t ⊔ u) ≈ s × t ⊔ s × u
CARD_LET_TOTAL
⊢ ∀s t. s ≼ t ∨ t ≺ s
CARD_LET_TRANS
⊢ ∀r s t. r ≼ s ∧ s ≺ t ⇒ r ≺ t
CARD_LE_ADD
⊢ ∀s s' t t'. s ≼ s' ∧ t ≼ t' ⇒ s ⊔ t ≼ s' ⊔ t'
CARD_LE_ADDL
⊢ ∀s t. t ≼ s ⊔ t
CARD_LE_ADDR
⊢ ∀s t. s ≼ s ⊔ t
CARD_LE_ANTISYM
⊢ ∀s t. s ≼ t ∧ t ≼ s ⇔ s ≈ t
CARD_LE_CARD
⊢ ∀s t. FINITE s ∧ FINITE t ⇒ (s ≼ t ⇔ CARD s ≤ CARD t)
CARD_LE_CARD_IMP
⊢ ∀s t. FINITE t ∧ s ≼ t ⇒ CARD s ≤ CARD t
CARD_LE_CONG
⊢ s1 ≈ s2 ∧ t1 ≈ t2 ⇒ (s1 ≼ t1 ⇔ s2 ≼ t2)
CARD_LE_COUNTABLE
⊢ ∀s t. countable t ∧ s ≼ t ⇒ countable s
CARD_LE_EMPTY
⊢ ∀x. x ≼ ∅ ⇔ x = ∅
CARD_LE_EQ_SUBSET
⊢ ∀s t. s ≼ t ⇔ ∃u. u ⊆ t ∧ s ≈ u
CARD_LE_EXP
⊢ 𝟚 ≼ B ⇒ A ≼ set_exp B A
CARD_LE_EXP_LEFT
⊢ ∀s s' t. s ≼ s' ⇒ set_exp s t ≼ set_exp s' t
CARD_LE_FINITE
⊢ ∀s t. FINITE t ∧ s ≼ t ⇒ FINITE s
CARD_LE_IMAGE
⊢ ∀f s. IMAGE f s ≼ s
CARD_LE_IMAGE_GEN
⊢ ∀f s t. t ⊆ IMAGE f s ⇒ t ≼ s
CARD_LE_INFINITE
⊢ ∀s t. INFINITE s ∧ s ≼ t ⇒ INFINITE t
CARD_LE_INJ
⊢ ∀s t.
FINITE s ∧ FINITE t ∧ CARD s ≤ CARD t ⇒
∃f. IMAGE f s ⊆ t ∧ ∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y
CARD_LE_LT
⊢ ∀s1 s2. s1 ≼ s2 ⇔ s1 ≺ s2 ∨ s1 ≈ s2
CARD_LE_MUL
⊢ ∀x1 x2 y1 y2. x1 ≼ x2 ∧ y1 ≼ y2 ⇒ x1 × y1 ≼ x2 × y2
CARD_LE_RELATIONAL
⊢ ∀R s.
(∀x y y'. x ∈ s ∧ R x y ∧ R x y' ⇒ y = y') ⇒
{y | ∃x. x ∈ s ∧ R x y} ≼ s
CARD_LE_SQUARE
⊢ ∀s. s ≼ s × s
CARD_LE_SUBSET
⊢ ∀x y. x ⊆ y ⇒ x ≼ y
CARD_LE_TOTAL
⊢ ∀s t. s ≼ t ∨ t ≼ s
CARD_LE_TRANS
⊢ ∀s t u. s ≼ t ∧ t ≼ u ⇒ s ≼ u
CARD_LE_UNIV
⊢ ∀s. s ≼ 𝕌(:α)
CARD_LTE_TOTAL
⊢ ∀s t. s ≺ t ∨ t ≼ s
CARD_LTE_TRANS
⊢ ∀r s t. r ≺ s ∧ s ≼ t ⇒ r ≺ t
CARD_LT_ADD
⊢ ∀s s' t t'. s ≺ s' ∧ t ≺ t' ⇒ s ⊔ t ≺ s' ⊔ t'
CARD_LT_CARD
⊢ FINITE s1 ∧ FINITE s2 ⇒ (s1 ≺ s2 ⇔ CARD s1 < CARD s2)
CARD_LT_CONG
⊢ ∀s s' t t'. s ≈ s' ∧ t ≈ t' ⇒ (s ≺ t ⇔ s' ≺ t')
CARD_LT_FINITE_INFINITE
⊢ ∀s t. FINITE s ∧ INFINITE t ⇒ s ≺ t
CARD_LT_IMP_LE
⊢ ∀s t. s ≺ t ⇒ s ≼ t
CARD_LT_LE
⊢ ∀s t. s ≺ t ⇔ s ≼ t ∧ s ≉ t
CARD_LT_REFL
⊢ ∀s. ¬(s ≺ s)
CARD_LT_TOTAL
⊢ ∀s t. s ≈ t ∨ s ≺ t ∨ t ≺ s
CARD_LT_TRANS
⊢ ∀s t u. s ≺ t ∧ t ≺ u ⇒ s ≺ u
CARD_MUL2_ABSORB_LE
⊢ ∀s t u. INFINITE u ∧ s ≼ u ∧ t ≼ u ⇒ s × t ≼ u
CARD_MUL_ABSORB
⊢ ∀s t. INFINITE t ∧ s ≠ ∅ ∧ s ≼ t ⇒ s × t ≈ t
CARD_MUL_ABSORB_LE
⊢ ∀s t. INFINITE t ∧ s ≼ t ⇒ s × t ≼ t
CARD_MUL_ASSOC
⊢ ∀s t u. s × t × u ≈ (s × t) × u
CARD_MUL_CONG
⊢ s1 ≈ s2 ∧ t1 ≈ t2 ⇒ s1 × t1 ≈ s2 × t2
CARD_MUL_FINITE
⊢ ∀s t. FINITE s ∧ FINITE t ⇒ FINITE (s × t)
CARD_MUL_FINITE_EQ
⊢ ∀P Q. FINITE (P × Q) ⇔ P = ∅ ∨ Q = ∅ ∨ FINITE P ∧ FINITE Q
CARD_MUL_LT_INFINITE
⊢ ∀s t. s ≺ t ∧ t ≺ u ∧ INFINITE u ⇒ s × t ≺ u
CARD_MUL_LT_LEMMA
⊢ ∀s t. s ≼ t ∧ t ≺ u ∧ INFINITE u ⇒ s × t ≺ u
CARD_MUL_SYM
⊢ s × t ≈ t × s
CARD_NOT_LE
⊢ ∀s t. t ≺ s ⇔ t ≺ s
CARD_NOT_LT
⊢ ∀s t. ¬(s ≺ t) ⇔ t ≼ s
CARD_RDISTRIB
⊢ ∀s t u. (s ⊔ t) × u ≈ s × u ⊔ t × u
CARD_SQUARE_INFINITE
⊢ ∀s. INFINITE s ⇒ s × s ≈ s
CARD_SQUARE_NUM
⊢ 𝕌(:num) × 𝕌(:num) ≈ 𝕌(:num)
CARD_SUBSET_EQ
⊢ ∀a b. FINITE b ∧ a ⊆ b ∧ CARD a = CARD b ⇒ a = b
CONJ_EQ_IMP
⊢ ∀p q r. p ∧ q ⇒ r ⇔ p ⇒ q ⇒ r
COUNTABLE
⊢ ∀t. countable t ⇔ 𝕌(:num) ≽ t
COUNTABLE_ALT_cardleq
⊢ ∀s. countable s ⇔ s ≼ 𝕌(:num)
COUNTABLE_AS_IMAGE
⊢ ∀s. countable s ∧ s ≠ ∅ ⇒ ∃f. s = IMAGE f 𝕌(:num)
COUNTABLE_AS_IMAGE_SUBSET
⊢ ∀s. countable s ⇒ ∃f. s ⊆ IMAGE f 𝕌(:num)
COUNTABLE_AS_IMAGE_SUBSET_EQ
⊢ ∀s. countable s ⇔ ∃f. s ⊆ IMAGE f 𝕌(:num)
COUNTABLE_AS_INJECTIVE_IMAGE
⊢ ∀s. countable s ∧ INFINITE s ⇒
∃f. s = IMAGE f 𝕌(:num) ∧ ∀m n. f m = f n ⇒ m = n
COUNTABLE_BIGUNION
⊢ ∀s. countable s ∧ (∀x. x ∈ s ⇒ countable x) ⇒ countable (BIGUNION s)
COUNTABLE_CASES
⊢ ∀s. countable s ⇔ FINITE s ∨ s ≈ 𝕌(:num)
COUNTABLE_CROSS
⊢ ∀s t. countable s ∧ countable t ⇒ countable (s × t)
COUNTABLE_DELETE
⊢ ∀x s. countable (s DELETE x) ⇔ countable s
COUNTABLE_DIFF_FINITE
⊢ ∀s t. FINITE s ⇒ (countable (t DIFF s) ⇔ countable t)
COUNTABLE_EMPTY
⊢ countable ∅
COUNTABLE_IMAGE
⊢ ∀f s. countable s ⇒ countable (IMAGE f s)
COUNTABLE_IMAGE_INJ
⊢ ∀f A. (∀x y. f x = f y ⇒ x = y) ∧ countable A ⇒ countable {x | f x ∈ A}
COUNTABLE_IMAGE_INJ_EQ
⊢ ∀f s.
(∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ⇒
(countable (IMAGE f s) ⇔ countable s)
COUNTABLE_IMAGE_INJ_GENERAL
⊢ ∀f A s.
(∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ∧ countable A ⇒
countable {x | x ∈ s ∧ f x ∈ A}
COUNTABLE_INSERT
⊢ ∀x s. countable (x INSERT s) ⇔ countable s
COUNTABLE_INTER
⊢ ∀s t. countable s ∨ countable t ⇒ countable (s ∩ t)
COUNTABLE_PRODUCT_DEPENDENT
⊢ ∀f s t.
countable s ∧ (∀x. x ∈ s ⇒ countable (t x)) ⇒
countable {f x y | x ∈ s ∧ y ∈ t x}
COUNTABLE_RESTRICT
⊢ ∀s P. countable s ⇒ countable {x | x ∈ s ∧ P x}
COUNTABLE_SING
⊢ ∀x. countable {x}
COUNTABLE_UNION
⊢ ∀s t. countable (s ∪ t) ⇔ countable s ∧ countable t
COUNTABLE_UNION_IMP
⊢ ∀s t. countable s ∧ countable t ⇒ countable (s ∪ t)
EMPTY_set_exp
⊢ set_exp A ∅ = {K ARB} ∧ (B ≠ ∅ ⇒ set_exp ∅ B = ∅)
EMPTY_set_exp_CARD
⊢ set_exp A ∅ ≈ count 1
EQ_C
⊢ ∀s t.
s ≈ t ⇔
∃R. (∀x y. R (x,y) ⇒ x ∈ s ∧ y ∈ t) ∧
(∀x. x ∈ s ⇒ ∃!y. y ∈ t ∧ R (x,y)) ∧
∀y. y ∈ t ⇒ ∃!x. x ∈ s ∧ R (x,y)
EQ_C_BIJECTIONS
⊢ ∀s t.
s ≈ t ⇔
∃f g.
(∀x. x ∈ s ⇒ f x ∈ t ∧ g (f x) = x) ∧
∀y. y ∈ t ⇒ g y ∈ s ∧ f (g y) = y
EXISTS_IN_GSPEC
⊢ (∀P f. (∃z. z ∈ {f x | P x} ∧ Q z) ⇔ ∃x. P x ∧ Q (f x)) ∧
(∀P f. (∃z. z ∈ {f x y | P x y} ∧ Q z) ⇔ ∃x y. P x y ∧ Q (f x y)) ∧
∀P f. (∃z. z ∈ {f w x y | P w x y} ∧ Q z) ⇔ ∃w x y. P w x y ∧ Q (f w x y)
FINITE_012
⊢ FINITE A ⇒ A = ∅ ∨ A ≈ {()} ∨ 2 ≤ CARD A
FINITE_BOOL
⊢ FINITE 𝕌(:bool)
FINITE_CARD_LT
⊢ ∀s. FINITE s ⇔ s ≺ 𝕌(:num)
FINITE_CLE_INFINITE
⊢ FINITE s ∧ INFINITE t ⇒ s ≼ t
FINITE_EXPONENT_SETEXP_COUNTABLE
⊢ FINITE B ⇒ (countable (set_exp A B) ⇔ B = ∅ ∨ countable A)
FINITE_EXPONENT_SETEXP_UNCOUNTABLE
⊢ FINITE B ∧ B ≠ ∅ ∧ ¬countable A ⇒ ¬countable (set_exp A B)
FINITE_IMAGE_INJ
⊢ ∀f A. (∀x y. f x = f y ⇒ x = y) ∧ FINITE A ⇒ FINITE {x | f x ∈ A}
FINITE_IMAGE_INJ_GENERAL
⊢ ∀f A s.
(∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ∧ FINITE A ⇒
FINITE {x | x ∈ s ∧ f x ∈ A}
FINITE_IMP_COUNTABLE
⊢ ∀s. FINITE s ⇒ countable s
FINITE_setexp
⊢ FINITE (set_exp A B) ⇔ B = ∅ ∨ A ≼ {()} ∨ FINITE A ∧ FINITE B
FORALL_COUNTABLE_AS_IMAGE
⊢ (∀d. countable d ⇒ P d) ⇔ P ∅ ∧ ∀f. P (IMAGE f 𝕌(:num))
FORALL_IN_GSPEC
⊢ (∀P f. (∀z. z ∈ {f x | P x} ⇒ Q z) ⇔ ∀x. P x ⇒ Q (f x)) ∧
(∀P f. (∀z. z ∈ {f x y | P x y} ⇒ Q z) ⇔ ∀x y. P x y ⇒ Q (f x y)) ∧
∀P f. (∀z. z ∈ {f w x y | P w x y} ⇒ Q z) ⇔ ∀w x y. P w x y ⇒ Q (f w x y)
GE_C
⊢ ∀s t. s ≽ t ⇔ ∃f. ∀y. y ∈ t ⇒ ∃x. x ∈ s ∧ y = f x
HAS_SIZE_BOOL
⊢ 𝕌(:bool) HAS_SIZE 2
HAS_SIZE_CLAUSES
⊢ ∀s. (s HAS_SIZE 0 ⇔ s = ∅) ∧
(s HAS_SIZE SUC n ⇔ ∃a t. t HAS_SIZE n ∧ a ∉ t ∧ s = a INSERT t)
IMAGE_cardleq
⊢ ∀f s. IMAGE f s ≼ s
IMAGE_cardleq_rwt
⊢ ∀s t. s ≼ t ⇒ IMAGE f s ≼ t
IMP_CONJ_ALT
⊢ ∀p q r. p ∧ q ⇒ r ⇔ q ⇒ p ⇒ r
INFINITE_DIFF_FINITE
⊢ ∀s t. INFINITE s ∧ FINITE t ⇒ INFINITE (s DIFF t)
INFINITE_IMAGE_INJ
⊢ ∀f. (∀x y. f x = f y ⇒ x = y) ⇒ ∀s. INFINITE s ⇒ INFINITE (IMAGE f s)
INFINITE_NONEMPTY
⊢ ∀s. INFINITE s ⇒ s ≠ ∅
INFINITE_UNIV_INF
⊢ INFINITE 𝕌(:num + α)
INFINITE_Unum
⊢ INFINITE A ⇔ 𝕌(:num) ≼ A
INFINITE_cardleq_INSERT
⊢ INFINITE A ⇒ (x INSERT s ≼ A ⇔ s ≼ A)
INJECTIVE_ALT
⊢ ∀f. (∀x y. f x = f y ⇒ x = y) ⇔ ∀x y. f x = f y ⇔ x = y
INJECTIVE_IMAGE
⊢ ∀f. (∀s t. IMAGE f s = IMAGE f t ⇒ s = t) ⇔ ∀x y. f x = f y ⇒ x = y
INJECTIVE_LEFT_INVERSE
⊢ (∀x y. f x = f y ⇒ x = y) ⇔ ∃g. ∀x. g (f x) = x
INJECTIVE_ON_ALT
⊢ ∀P f.
(∀x y. P x ∧ P y ∧ f x = f y ⇒ x = y) ⇔
∀x y. P x ∧ P y ⇒ (f x = f y ⇔ x = y)
INJECTIVE_ON_IMAGE
⊢ ∀f u.
(∀s t. s ⊆ u ∧ t ⊆ u ∧ IMAGE f s = IMAGE f t ⇒ s = t) ⇔
∀x y. x ∈ u ∧ y ∈ u ∧ f x = f y ⇒ x = y
INJECTIVE_ON_LEFT_INVERSE
⊢ ∀f s.
(∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ⇔ ∃g. ∀x. x ∈ s ⇒ g (f x) = x
INTER_ACI
⊢ ∀p q.
p ∩ q = q ∩ p ∧ p ∩ q ∩ r = p ∩ q ∩ r ∧ p ∩ q ∩ r = q ∩ p ∩ r ∧
p ∩ p = p ∧ p ∩ p ∩ q = p ∩ q
IN_CARD_ADD
⊢ (INL a ∈ A ⊔ B ⇔ a ∈ A) ∧ (INR b ∈ A ⊔ B ⇔ b ∈ B)
IN_CARD_MUL
⊢ ∀s t x y. (x,y) ∈ s × t ⇔ x ∈ s ∧ y ∈ t
IN_ELIM_PAIR_THM
⊢ ∀P a b. (a,b) ∈ {(x,y) | P x y} ⇔ P a b
LEFT_IMP_EXISTS_THM
⊢ ∀P Q. (∃x. P x) ⇒ Q ⇔ ∀x. P x ⇒ Q
LEFT_IMP_FORALL_THM
⊢ ∀P Q. (∀x. P x) ⇒ Q ⇔ ∃x. P x ⇒ Q
LE_C
⊢ ∀s t. s ≼ t ⇔ ∃g. ∀x. x ∈ s ⇒ ∃y. y ∈ t ∧ g y = x
MUL_C_UNIV
⊢ 𝕌(:α) × 𝕌(:β) = 𝕌(:α # β)
NUM_COUNTABLE
⊢ countable 𝕌(:num)
POW_EQ_X_EXP_X
⊢ INFINITE A ⇒ POW A ≈ set_exp A A
POW_TWO_set_exp
⊢ POW A ≈ set_exp (count 2) A
RIGHT_IMP_EXISTS_THM
⊢ ∀P Q. P ⇒ (∃x. Q x) ⇔ ∃x. P ⇒ Q x
RIGHT_IMP_FORALL_THM
⊢ ∀P Q. P ⇒ (∀x. Q x) ⇔ ∀x. P ⇒ Q x
SET_SQUARED_CARDEQ_SET
⊢ ∀s. INFINITE s ⇒ s × s ≈ s
SET_SUM_CARDEQ_SET
⊢ INFINITE s ⇒ s ≈ 𝟚 × s ∧ ∀A B. DISJOINT A B ∧ A ≈ s ∧ B ≈ s ⇒ A ∪ B ≈ s
SING_SUBSET
⊢ ∀s x. {x} ⊆ s ⇔ x ∈ s
SING_set_exp
⊢ set_exp {x} B = {(λb. if b ∈ B then x else ARB)} ∧
set_exp A {x} = {(λb. if b = x then a else ARB) | a ∈ A}
SING_set_exp_CARD
⊢ set_exp {x} B ≈ count 1 ∧ set_exp A {x} ≈ A
SUBSET_CARDLEQ
⊢ ∀x y. x ⊆ y ⇒ x ≼ y
SURJECTIVE_IMAGE
⊢ ∀f. (∀t. ∃s. IMAGE f s = t) ⇔ ∀y. ∃x. f x = y
SURJECTIVE_IMAGE_THM
⊢ ∀f. (∀y. ∃x. f x = y) ⇔ ∀P. IMAGE f {x | P (f x)} = {x | P x}
SURJECTIVE_ON_IMAGE
⊢ ∀f u v.
(∀t. t ⊆ v ⇒ ∃s. s ⊆ u ∧ IMAGE f s = t) ⇔
∀y. y ∈ v ⇒ ∃x. x ∈ u ∧ f x = y
SURJECTIVE_ON_RIGHT_INVERSE
⊢ ∀f t.
(∀y. y ∈ t ⇒ ∃x. x ∈ s ∧ f x = y) ⇔
∃g. ∀y. y ∈ t ⇒ g y ∈ s ∧ f (g y) = y
SURJECTIVE_RIGHT_INVERSE
⊢ (∀y. ∃x. f x = y) ⇔ ∃g. ∀y. f (g y) = y
UNCOUNTABLE_DIFF_COUNTABLE
⊢ ∀s t. ¬countable s ∧ countable t ⇒ ¬countable (s DIFF t)
UNCOUNTABLE_DIFF_FINITE
⊢ ∀s t. ¬countable s ∧ FINITE t ⇒ ¬countable (s DIFF t)
UNION_ACI
⊢ ∀p q.
p ∪ q = q ∪ p ∧ p ∪ q ∪ r = p ∪ q ∪ r ∧ p ∪ q ∪ r = q ∪ p ∪ r ∧
p ∪ p = p ∧ p ∪ p ∪ q = p ∪ q
UNION_LE_ADD_C
⊢ ∀s t. s ∪ t ≼ s ⊔ t
UNIV_fun_exp
⊢ 𝕌(:α -> β) = set_exp 𝕌(:β) 𝕌(:α)
bijections_cardeq
⊢ INFINITE s ⇒ bijns s ≈ POW s
bijns_alt_permutes
⊢ ∀f s. f ∈ bijns s ⇔ f permutes s
bijns_def
⊢ ∀A. bijns A = {f | f PERMUTES A ∧ ∀a. a ∉ A ⇒ f a = a}
cardeq_INSERT
⊢ x INSERT s ≈ s ⇔ x ∈ s ∨ INFINITE s
cardeq_SYM
⊢ ∀s t. s ≈ t ⇔ t ≈ s
cardeq_TRANS
⊢ ∀s t u. s ≈ t ∧ t ≈ u ⇒ s ≈ u
cardeq_addUnum
⊢ INFINITE 𝕌(:α) ⇒ 𝕌(:num + α) ≈ 𝕌(:α)
cardeq_bijns_cong
⊢ A ≈ B ⇒ bijns A ≈ bijns B
cardeq_def
⊢ ∀s1 s2. s1 ≈ s2 ⇔ ∃f. BIJ f s1 s2
cardgeq_def
⊢ ∀s t. s ≽ t ⇔ t ≼ s
cardgt_def
⊢ ∀s t. s ≻ t ⇔ t ≺ s
cardleq_ANTISYM
⊢ ∀s t. s ≼ t ∧ t ≼ s ⇒ s ≈ t
cardleq_ANTISYM_IFF
⊢ ∀s t. s ≼ t ∧ t ≼ s ⇔ s ≈ t
cardleq_SURJ
⊢ A ≼ B ⇔ (∃f. SURJ f B A) ∨ A = ∅
cardleq_TRANS
⊢ ∀s t u. s ≼ t ∧ t ≼ u ⇒ s ≼ u
cardleq_copy_wellorders
⊢ 𝕌(:α) ≼ 𝕌(:β) ⇒ ∀w1. ∃w2. orderiso w1 w2
cardleq_def
⊢ ∀s1 s2. s1 ≼ s2 ⇔ ∃f. INJ f s1 s2
cardleq_dichotomy
⊢ ∀s t. s ≼ t ∨ t ≼ s
cardleq_empty
⊢ ∀x. x ≼ ∅ ⇔ x = ∅
cardleq_lt_trans
⊢ ∀r s t. r ≼ s ∧ s ≺ t ⇒ r ≺ t
cardleq_lteq
⊢ ∀s1 s2. s1 ≼ s2 ⇔ s1 ≺ s2 ∨ s1 ≈ s2
cardleq_setexp
⊢ x ≼ set_exp x e ⇔ x = ∅ ∨ x ≈ {()} ∨ e ≠ ∅
cardlt_REFL
⊢ ∀s. ¬(s ≺ s)
cardlt_TRANS
⊢ ∀s t u. s ≺ t ∧ t ≺ u ⇒ s ≺ u
cardlt_cardle
⊢ A ≺ B ⇒ A ≼ B
cardlt_lenoteq
⊢ ∀s t. s ≺ t ⇔ s ≼ t ∧ s ≉ t
cardlt_leq_trans
⊢ ∀r s t. r ≺ s ∧ s ≼ t ⇒ r ≺ t
count_cardle
⊢ count n ≼ A ⇔ FINITE A ⇒ n ≤ CARD A
countable_cardeq
⊢ ∀s t. s ≈ t ⇒ (countable s ⇔ countable t)
countable_setexp
⊢ countable (set_exp A B) ⇔
B = ∅ ∨ FINITE B ∧ countable A ∨ A ≈ {()} ∨ A = ∅
countable_thm
⊢ ∀s. countable s ⇔ s ≼ 𝕌(:num)
disjoint_countable_decomposition
⊢ ∀s. INFINITE s ⇒
∃A. BIGUNION A = s ∧ (∀a. a ∈ A ⇒ INFINITE a ∧ countable a) ∧
∀a1 a2. a1 ∈ A ∧ a2 ∈ A ∧ a1 ≠ a2 ⇒ DISJOINT a1 a2
disjoint_countable_decomposition2
⊢ ∀s. INFINITE s ⇒
∃A. BIGUNION A = s ∧ (∀a. a ∈ A ⇒ INFINITE a ∧ countable a) ∧
pairwise (RC DISJOINT) A
eq_c
⊢ ∀s t.
s ≈ t ⇔ ∃f. (∀x. x ∈ s ⇒ f x ∈ t) ∧ ∀y. y ∈ t ⇒ ∃!x. x ∈ s ∧ f x = y
exp_INSERT_cardeq
⊢ e ∉ s ⇒ set_exp A (e INSERT s) ≈ A × set_exp A s
exp_c
⊢ ∀s t. set_exp s t = {f | (∀x. x ∈ t ⇒ f x ∈ s) ∧ ∀x. x ∉ t ⇒ f x = ARB}
exp_count_cardeq
⊢ INFINITE A ∧ 0 < n ⇒ set_exp A (count n) ≈ A
finite_subsets_bijection
⊢ INFINITE A ⇒ A ≈ {s | FINITE s ∧ s ⊆ A}
fnOfSet_SING
⊢ fnOfSet {(k,v)} = (K NONE)⦇k ↦ SOME v⦈
fnOfSet_def
⊢ ∀s k. fnOfSet s k = if ∃!v. (k,v) ∈ s then SOME (@v. (k,v) ∈ s) else NONE
ge_c
⊢ ∀s t. s ≽ t ⇔ t ≼ s
gt_c
⊢ ∀s t. s ≻ t ⇔ t ≺ s
le_c
⊢ ∀s t.
s ≼ t ⇔
∃f. (∀x. x ∈ s ⇒ f x ∈ t) ∧ ∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y
lt_c
⊢ ∀s t. s ≺ t ⇔ s ≼ t ∧ s ≺ t
mul_c
⊢ ∀s t. s × t = {(x,y) | x ∈ s ∧ y ∈ t}
set_binomial2
⊢ (A ∪ B) × (A ∪ B) = A × A ∪ A × B ∪ B × A ∪ B × B
set_exp_card_cong
⊢ a1 ≈ a2 ⇒ b1 ≈ b2 ⇒ set_exp a1 b1 ≈ set_exp a2 b2
set_exp_cardle_cong
⊢ (b = ∅ ⇒ d = ∅) ⇒ a ≼ b ∧ c ≼ d ⇒ set_exp a c ≼ set_exp b d
set_exp_def
⊢ ∀A B.
set_exp A B =
{f | (∀b. b ∈ B ⇒ ∃a. a ∈ A ∧ f b = a) ∧ ∀b. b ∉ B ⇒ f b = ARB}
set_exp_product
⊢ set_exp (set_exp A B1) B2 ≈ set_exp A (B1 × B2)
setexp_eq_EMPTY
⊢ set_exp A B = ∅ ⇔ A = ∅ ∧ B ≠ ∅
tupNONE_IN_BIGPRODi
⊢ tup ∈ BIGPRODi Af ⇒ (tup i = NONE ⇔ Af i = NONE)
wellorder_destWO
⊢ wellorder (destWO r)