equal
deleted
inserted
replaced
489 lemma vimage_subset_eq: "bij f ==> (f -` B <= A) = (B <= f ` A)" |
489 lemma vimage_subset_eq: "bij f ==> (f -` B <= A) = (B <= f ` A)" |
490 apply (unfold bij_def) |
490 apply (unfold bij_def) |
491 apply (blast del: subsetI intro: vimage_subsetI vimage_subsetD) |
491 apply (blast del: subsetI intro: vimage_subsetI vimage_subsetD) |
492 done |
492 done |
493 |
493 |
|
494 lemma inj_on_image_eq_iff: "\<lbrakk> inj_on f C; A \<subseteq> C; B \<subseteq> C \<rbrakk> \<Longrightarrow> f ` A = f ` B \<longleftrightarrow> A = B" |
|
495 by(fastforce simp add: inj_on_def) |
|
496 |
494 lemma inj_on_Un_image_eq_iff: "inj_on f (A \<union> B) \<Longrightarrow> f ` A = f ` B \<longleftrightarrow> A = B" |
497 lemma inj_on_Un_image_eq_iff: "inj_on f (A \<union> B) \<Longrightarrow> f ` A = f ` B \<longleftrightarrow> A = B" |
495 by(blast dest: inj_onD) |
498 by(erule inj_on_image_eq_iff) simp_all |
496 |
499 |
497 lemma inj_on_image_Int: |
500 lemma inj_on_image_Int: |
498 "[| inj_on f C; A<=C; B<=C |] ==> f`(A Int B) = f`A Int f`B" |
501 "[| inj_on f C; A<=C; B<=C |] ==> f`(A Int B) = f`A Int f`B" |
499 apply (simp add: inj_on_def, blast) |
502 apply (simp add: inj_on_def, blast) |
500 done |
503 done |