src/HOL/Finite_Set.thy
changeset 31461 d54b743b52a3
parent 31453 78280bd2860a
parent 31441 428e4caf2299
child 31465 1ff89cc00898
equal deleted inserted replaced
31460:d97fa41cc600 31461:d54b743b52a3
   453 by(simp add: Pow_def[symmetric])
   453 by(simp add: Pow_def[symmetric])
   454 
   454 
   455 
   455 
   456 lemma finite_UnionD: "finite(\<Union>A) \<Longrightarrow> finite A"
   456 lemma finite_UnionD: "finite(\<Union>A) \<Longrightarrow> finite A"
   457 by(blast intro: finite_subset[OF subset_Pow_Union])
   457 by(blast intro: finite_subset[OF subset_Pow_Union])
       
   458 
       
   459 
       
   460 lemma finite_subset_image:
       
   461   assumes "finite B"
       
   462   shows "B \<subseteq> f ` A \<Longrightarrow> \<exists>C\<subseteq>A. finite C \<and> B = f ` C"
       
   463 using assms proof(induct)
       
   464   case empty thus ?case by simp
       
   465 next
       
   466   case insert thus ?case
       
   467     by (clarsimp simp del: image_insert simp add: image_insert[symmetric])
       
   468        blast
       
   469 qed
   458 
   470 
   459 
   471 
   460 subsection {* Class @{text finite}  *}
   472 subsection {* Class @{text finite}  *}
   461 
   473 
   462 setup {* Sign.add_path "finite" *} -- {*FIXME: name tweaking*}
   474 setup {* Sign.add_path "finite" *} -- {*FIXME: name tweaking*}