some new theorems
authorpaulson
Tue, 25 Dec 2001 10:02:20 +0100
changeset 1259634265656f0b4
parent 12595 0480d02221b8
child 12597 14822e4436bf
some new theorems
src/ZF/Cardinal.ML
     1.1 --- a/src/ZF/Cardinal.ML	Tue Dec 25 10:02:01 2001 +0100
     1.2 +++ b/src/ZF/Cardinal.ML	Tue Dec 25 10:02:20 2001 +0100
     1.3 @@ -488,6 +488,10 @@
     1.4  by (blast_tac (claset() addSEs [lt_irrefl]) 1);
     1.5  qed "nat_into_Card";
     1.6  
     1.7 +bind_thm ("cardinal_0", nat_0I RS nat_into_Card RS Card_cardinal_eq);
     1.8 +bind_thm ("cardinal_1", nat_1I RS nat_into_Card RS Card_cardinal_eq);
     1.9 +AddIffs [cardinal_0, cardinal_1];
    1.10 +
    1.11  (*Part of Kunen's Lemma 10.6*)
    1.12  Goal "[| succ(n) lepoll n;  n:nat |] ==> P";
    1.13  by (rtac (nat_lepoll_imp_le RS lt_irrefl) 1);
    1.14 @@ -624,6 +628,15 @@
    1.15  by (simp_tac (simpset() addsimps [nat_into_Card RS Card_cardinal_eq]) 1);
    1.16  qed "cardinal_singleton";
    1.17  
    1.18 +Goal "A ~= 0 ==> 1 lepoll A";
    1.19 +by (etac not_emptyE 1);
    1.20 +by (res_inst_tac [("a", "cons(x, A-{x})")] subst 1);
    1.21 +by (res_inst_tac [("a", "cons(0,0)"), 
    1.22 +                  ("P", "%y. y lepoll cons(x, A-{x})")] subst 2);
    1.23 +by (blast_tac (claset() addIs [cons_lepoll_cong, subset_imp_lepoll]) 3);
    1.24 +by Auto_tac;
    1.25 +qed "not_0_is_lepoll_1";
    1.26 +
    1.27  (*Congruence law for  succ  under equipollence*)
    1.28  Goalw [succ_def]
    1.29      "A eqpoll B ==> succ(A) eqpoll succ(B)";
    1.30 @@ -823,3 +836,5 @@
    1.31  Goalw [Finite_def] "n:nat ==> Finite(n)";
    1.32  by (fast_tac (claset() addSIs [eqpoll_refl]) 1);
    1.33  qed "nat_into_Finite";
    1.34 +
    1.35 +