equal
deleted
inserted
replaced
140 |
140 |
141 Goalw [lesspoll_def] "A lesspoll B ==> A lepoll B"; |
141 Goalw [lesspoll_def] "A lesspoll B ==> A lepoll B"; |
142 by (Blast_tac 1); |
142 by (Blast_tac 1); |
143 qed "lesspoll_imp_lepoll"; |
143 qed "lesspoll_imp_lepoll"; |
144 |
144 |
145 Goalw [lepoll_def] |
145 Goalw [lepoll_def] "[| A lepoll B; well_ord(B,r) |] ==> EX s. well_ord(A,s)"; |
146 "[| A lepoll B; well_ord(B,r) |] ==> EX s. well_ord(A,s)"; |
|
147 by (blast_tac (claset() addIs [well_ord_rvimage]) 1); |
146 by (blast_tac (claset() addIs [well_ord_rvimage]) 1); |
148 qed "lepoll_well_ord"; |
147 qed "lepoll_well_ord"; |
149 |
148 |
150 Goalw [lesspoll_def] "A lepoll B <-> A lesspoll B | A eqpoll B"; |
149 Goalw [lesspoll_def] "A lepoll B <-> A lesspoll B | A eqpoll B"; |
151 by (blast_tac (claset() addSIs [eqpollI] addSEs [eqpollE]) 1); |
150 by (blast_tac (claset() addSIs [eqpollI] addSEs [eqpollE]) 1); |
301 by (etac ssubst 1); |
300 by (etac ssubst 1); |
302 by (rtac Ord_Least 1); |
301 by (rtac Ord_Least 1); |
303 qed "Card_is_Ord"; |
302 qed "Card_is_Ord"; |
304 |
303 |
305 Goal "Card(K) ==> K le |K|"; |
304 Goal "Card(K) ==> K le |K|"; |
306 by (asm_simp_tac (simpset() addsimps [le_refl, Card_is_Ord, Card_cardinal_eq]) 1); |
305 by (asm_simp_tac (simpset() addsimps [Card_is_Ord, Card_cardinal_eq]) 1); |
307 qed "Card_cardinal_le"; |
306 qed "Card_cardinal_le"; |
308 |
307 |
309 Goalw [cardinal_def] "Ord(|A|)"; |
308 Goalw [cardinal_def] "Ord(|A|)"; |
310 by (rtac Ord_Least 1); |
309 by (rtac Ord_Least 1); |
311 qed "Ord_cardinal"; |
310 qed "Ord_cardinal"; |
|
311 |
|
312 Addsimps [Ord_cardinal]; |
|
313 AddSIs [Ord_cardinal]; |
312 |
314 |
313 (*The cardinals are the initial ordinals*) |
315 (*The cardinals are the initial ordinals*) |
314 Goal "Card(K) <-> Ord(K) & (ALL j. j<K --> ~ j eqpoll K)"; |
316 Goal "Card(K) <-> Ord(K) & (ALL j. j<K --> ~ j eqpoll K)"; |
315 by (safe_tac (claset() addSIs [CardI, Card_is_Ord])); |
317 by (safe_tac (claset() addSIs [CardI, Card_is_Ord])); |
316 by (Blast_tac 2); |
318 by (Blast_tac 2); |
511 by (rtac lesspoll_succ_imp_lepoll 1); |
513 by (rtac lesspoll_succ_imp_lepoll 1); |
512 by (assume_tac 2); |
514 by (assume_tac 2); |
513 by (asm_simp_tac (simpset() addsimps [lesspoll_def]) 1); |
515 by (asm_simp_tac (simpset() addsimps [lesspoll_def]) 1); |
514 qed "lepoll_succ_disj"; |
516 qed "lepoll_succ_disj"; |
515 |
517 |
|
518 Goalw [lesspoll_def] "[| A lesspoll i; Ord(i) |] ==> |A| < i"; |
|
519 by (Clarify_tac 1); |
|
520 by (forward_tac [lepoll_cardinal_le] 1); |
|
521 by (assume_tac 1); |
|
522 by (blast_tac (claset() addIs [well_ord_Memrel, |
|
523 well_ord_cardinal_eqpoll RS eqpoll_sym] |
|
524 addDs [lepoll_well_ord] |
|
525 addSEs [leE]) 1); |
|
526 qed "lesspoll_cardinal_lt"; |
|
527 |
516 |
528 |
517 (*** The first infinite cardinal: Omega, or nat ***) |
529 (*** The first infinite cardinal: Omega, or nat ***) |
518 |
530 |
519 (*This implies Kunen's Lemma 10.6*) |
531 (*This implies Kunen's Lemma 10.6*) |
520 Goal "[| n<i; n:nat |] ==> ~ i lepoll n"; |
532 Goal "[| n<i; n:nat |] ==> ~ i lepoll n"; |
776 "[| Finite(A); well_ord(A,r) |] ==> well_ord(A,converse(r))"; |
788 "[| Finite(A); well_ord(A,r) |] ==> well_ord(A,converse(r))"; |
777 by (rtac well_ord_converse 1 THEN assume_tac 1); |
789 by (rtac well_ord_converse 1 THEN assume_tac 1); |
778 by (blast_tac (claset() addDs [ordertype_eq_n] |
790 by (blast_tac (claset() addDs [ordertype_eq_n] |
779 addSIs [nat_well_ord_converse_Memrel]) 1); |
791 addSIs [nat_well_ord_converse_Memrel]) 1); |
780 qed "Finite_well_ord_converse"; |
792 qed "Finite_well_ord_converse"; |
|
793 |
|
794 Goalw [Finite_def] "n:nat ==> Finite(n)"; |
|
795 by (fast_tac (claset() addSIs [eqpoll_refl]) 1); |
|
796 qed "nat_into_Finite"; |