equal
deleted
inserted
replaced
107 |
107 |
108 Goal "X eqpoll Y <-> X lepoll Y & Y lepoll X"; |
108 Goal "X eqpoll Y <-> X lepoll Y & Y lepoll X"; |
109 by (blast_tac (claset() addIs [eqpollI] addSEs [eqpollE]) 1); |
109 by (blast_tac (claset() addIs [eqpollI] addSEs [eqpollE]) 1); |
110 qed "eqpoll_iff"; |
110 qed "eqpoll_iff"; |
111 |
111 |
112 Goalw [lepoll_def, inj_def] "!!A. A lepoll 0 ==> A = 0"; |
112 Goalw [lepoll_def, inj_def] "A lepoll 0 ==> A = 0"; |
113 by (blast_tac (claset() addDs [apply_type]) 1); |
113 by (blast_tac (claset() addDs [apply_type]) 1); |
114 qed "lepoll_0_is_0"; |
114 qed "lepoll_0_is_0"; |
115 |
115 |
116 (*0 lepoll Y*) |
116 (*0 lepoll Y*) |
117 bind_thm ("empty_lepollI", empty_subsetI RS subset_imp_lepoll); |
117 bind_thm ("empty_lepollI", empty_subsetI RS subset_imp_lepoll); |
301 "[| Ord(i); !!j. j<i ==> ~(j eqpoll i) |] ==> Card(i)"; |
301 "[| Ord(i); !!j. j<i ==> ~(j eqpoll i) |] ==> Card(i)"; |
302 by (stac Least_equality 1); |
302 by (stac Least_equality 1); |
303 by (REPEAT (ares_tac ([refl,eqpoll_refl]@prems) 1)); |
303 by (REPEAT (ares_tac ([refl,eqpoll_refl]@prems) 1)); |
304 qed "CardI"; |
304 qed "CardI"; |
305 |
305 |
306 Goalw [Card_def, cardinal_def] "!!i. Card(i) ==> Ord(i)"; |
306 Goalw [Card_def, cardinal_def] "Card(i) ==> Ord(i)"; |
307 by (etac ssubst 1); |
307 by (etac ssubst 1); |
308 by (rtac Ord_Least 1); |
308 by (rtac Ord_Least 1); |
309 qed "Card_is_Ord"; |
309 qed "Card_is_Ord"; |
310 |
310 |
311 Goal "Card(K) ==> K le |K|"; |
311 Goal "Card(K) ==> K le |K|"; |