added lemma.
authornipkow
Sat, 20 May 2000 18:37:21 +0200
changeset 8889 2ec6371fde54
parent 8888 343c304e714a
child 8890 9a44d8d98731
added lemma.
src/HOL/Finite.ML
--- a/src/HOL/Finite.ML	Sat May 20 15:15:02 2000 +0200
+++ b/src/HOL/Finite.ML	Sat May 20 18:37:21 2000 +0200
@@ -213,6 +213,23 @@
 qed "finite_converse";
 AddIffs [finite_converse];
 
+(* A bounded set of natural numbers is finite *)
+Goal "!N. (!i:N. i<(n::nat)) --> finite N";
+by(induct_tac "n" 1);
+ by(Simp_tac 1);
+by(asm_full_simp_tac (simpset() addsimps [less_Suc_eq]) 1);
+br allI 1;
+by(case_tac "n : N" 1);
+ by(ftac insert_Diff 1);
+ by(etac subst 1);
+ br impI 1;
+ br (finite_insert RS iffD2) 1;
+ by(EVERY1[etac allE, etac mp]);
+ by(Blast_tac 1);
+by(Blast_tac 1);
+qed_spec_mp "bounded_nat_set_is_finite";
+
+
 section "Finite cardinality -- 'card'";
 
 (* Ugly proofs for the traditional definition