equal
deleted
inserted
replaced
332 assume B: "finite B" "B \<subseteq> f ` A" and P: "\<forall>B. finite B \<and> B \<subseteq> A \<longrightarrow> P (f ` B)" |
332 assume B: "finite B" "B \<subseteq> f ` A" and P: "\<forall>B. finite B \<and> B \<subseteq> A \<longrightarrow> P (f ` B)" |
333 show "P B" |
333 show "P B" |
334 using finite_subset_image [OF B] P by blast |
334 using finite_subset_image [OF B] P by blast |
335 qed blast |
335 qed blast |
336 |
336 |
337 lemma exists_finite_subset_image: |
337 lemma ex_finite_subset_image: |
338 "(\<exists>B. finite B \<and> B \<subseteq> f ` A \<and> P B) \<longleftrightarrow> (\<exists>B. finite B \<and> B \<subseteq> A \<and> P (f ` B))" |
338 "(\<exists>B. finite B \<and> B \<subseteq> f ` A \<and> P B) \<longleftrightarrow> (\<exists>B. finite B \<and> B \<subseteq> A \<and> P (f ` B))" |
339 proof safe |
339 proof safe |
340 fix B :: "'a set" |
340 fix B :: "'a set" |
341 assume B: "finite B" "B \<subseteq> f ` A" and "P B" |
341 assume B: "finite B" "B \<subseteq> f ` A" and "P B" |
342 show "\<exists>B. finite B \<and> B \<subseteq> A \<and> P (f ` B)" |
342 show "\<exists>B. finite B \<and> B \<subseteq> A \<and> P (f ` B)" |