equal
deleted
inserted
replaced
253 apply (erule finite_subset, assumption) |
253 apply (erule finite_subset, assumption) |
254 done |
254 done |
255 |
255 |
256 lemma finite_range_imageI: |
256 lemma finite_range_imageI: |
257 "finite (range g) ==> finite (range (%x. f (g x)))" |
257 "finite (range g) ==> finite (range (%x. f (g x)))" |
258 apply (drule finite_imageI, simp) |
258 apply (drule finite_imageI, simp add: range_composition) |
259 done |
259 done |
260 |
260 |
261 lemma finite_imageD: "finite (f`A) ==> inj_on f A ==> finite A" |
261 lemma finite_imageD: "finite (f`A) ==> inj_on f A ==> finite A" |
262 proof - |
262 proof - |
263 have aux: "!!A. finite (A - {}) = finite A" by simp |
263 have aux: "!!A. finite (A - {}) = finite A" by simp |