equal
deleted
inserted
replaced
410 |
410 |
411 Goal "finite A ==> card(insert x A) = (if x:A then card A else Suc(card(A)))"; |
411 Goal "finite A ==> card(insert x A) = (if x:A then card A else Suc(card(A)))"; |
412 by (asm_simp_tac (simpset() addsimps [insert_absorb]) 1); |
412 by (asm_simp_tac (simpset() addsimps [insert_absorb]) 1); |
413 qed "card_insert_if"; |
413 qed "card_insert_if"; |
414 |
414 |
415 Goal "[| finite A; x: A |] ==> Suc(card(A-{x})) = card A"; |
415 Goal "[| finite A; x: A |] ==> Suc (card (A-{x})) = card A"; |
416 by (res_inst_tac [("t", "A")] (insert_Diff RS subst) 1); |
416 by (res_inst_tac [("t", "A")] (insert_Diff RS subst) 1); |
417 by (assume_tac 1); |
417 by (assume_tac 1); |
418 by (Asm_simp_tac 1); |
418 by (Asm_simp_tac 1); |
419 qed "card_Suc_Diff1"; |
419 qed "card_Suc_Diff1"; |
|
420 |
|
421 Goal "[| finite A; x: A |] ==> card (A-{x}) = card A - 1"; |
|
422 by (asm_simp_tac (simpset() addsimps [card_Suc_Diff1 RS sym]) 1); |
|
423 qed "card_Diff_singleton"; |
420 |
424 |
421 Goal "finite A ==> card(insert x A) = Suc(card(A-{x}))"; |
425 Goal "finite A ==> card(insert x A) = Suc(card(A-{x}))"; |
422 by (asm_simp_tac (simpset() addsimps [card_insert_if,card_Suc_Diff1]) 1); |
426 by (asm_simp_tac (simpset() addsimps [card_insert_if,card_Suc_Diff1]) 1); |
423 qed "card_insert"; |
427 qed "card_insert"; |
424 |
428 |
490 by (asm_full_simp_tac (simpset() addsimps [subset_insert_iff]) 1); |
494 by (asm_full_simp_tac (simpset() addsimps [subset_insert_iff]) 1); |
491 by (case_tac "A=F" 1); |
495 by (case_tac "A=F" 1); |
492 by (ALLGOALS Asm_simp_tac); |
496 by (ALLGOALS Asm_simp_tac); |
493 qed_spec_mp "psubset_card" ; |
497 qed_spec_mp "psubset_card" ; |
494 |
498 |
495 Goal "!!X. [| A <= B; card B <= card A; finite B |] ==> A = B"; |
499 Goal "[| A <= B; card B <= card A; finite B |] ==> A = B"; |
496 by (case_tac "A < B" 1); |
500 by (case_tac "A < B" 1); |
497 by (datac psubset_card 1 1); |
501 by (datac psubset_card 1 1); |
498 by (ALLGOALS (asm_full_simp_tac (simpset() addsimps [psubset_eq]))); |
502 by (ALLGOALS (asm_full_simp_tac (simpset() addsimps [psubset_eq]))); |
499 qed "card_seteq"; |
503 qed "card_seteq"; |
500 |
504 |