(* Imagen_de_la_interseccion.thy -- f[s \<inter> t] \<subseteq> f[s] \<inter> f[t]. -- José A. Alonso Jiménez <https://jaalonso.github.io> -- Sevilla, 12-abril-2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que -- f ` (s \<inter> t) \<subseteq> f ` s \<inter> f ` t -- ------------------------------------------------------------------ *) theory Imagen_de_la_interseccion imports Main begin (* 1\<ordfeminine> demostración *) lemma "f ` (s \<inter> t) \<subseteq> f ` s \<inter> f ` t" proof (rule subsetI) fix y assume "y \<in> f ` (s \<inter> t)" then have "y \<in> f ` s" proof (rule imageE) fix x assume "y = f x" assume "x \<in> s \<inter> t" have "x \<in> s" using \<open>x \<in> s \<inter> t\<close> by (rule IntD1) then have "f x \<in> f ` s" by (rule imageI) with \<open>y = f x\<close> show "y \<in> f ` s" by (rule ssubst) qed moreover note \<open>y \<in> f ` (s \<inter> t)\<close> then have "y \<in> f ` t" proof (rule imageE) fix x assume "y = f x" assume "x \<in> s \<inter> t" have "x \<in> t" using \<open>x \<in> s \<inter> t\<close> by (rule IntD2) then have "f x \<in> f ` t" by (rule imageI) with \<open>y = f x\<close> show "y \<in> f ` t" by (rule ssubst) qed ultimately show "y \<in> f ` s \<inter> f ` t" by (rule IntI) qed (* 2\<ordfeminine> demostración *) lemma "f ` (s \<inter> t) \<subseteq> f ` s \<inter> f ` t" proof fix y assume "y \<in> f ` (s \<inter> t)" then have "y \<in> f ` s" proof fix x assume "y = f x" assume "x \<in> s \<inter> t" have "x \<in> s" using \<open>x \<in> s \<inter> t\<close> by simp then have "f x \<in> f ` s" by simp with \<open>y = f x\<close> show "y \<in> f ` s" by simp qed moreover note \<open>y \<in> f ` (s \<inter> t)\<close> then have "y \<in> f ` t" proof fix x assume "y = f x" assume "x \<in> s \<inter> t" have "x \<in> t" using \<open>x \<in> s \<inter> t\<close> by simp then have "f x \<in> f ` t" by simp with \<open>y = f x\<close> show "y \<in> f ` t" by simp qed ultimately show "y \<in> f ` s \<inter> f ` t" by simp qed (* 3\<ordfeminine> demostración *) lemma "f ` (s \<inter> t) \<subseteq> f ` s \<inter> f ` t" proof fix y assume "y \<in> f ` (s \<inter> t)" then obtain x where hx : "y = f x \<and> x \<in> s \<inter> t" by auto then have "y = f x" by simp have "x \<in> s" using hx by simp have "x \<in> t" using hx by simp have "y \<in> f ` s" using \<open>y = f x\<close> \<open>x \<in> s\<close> by simp moreover have "y \<in> f ` t" using \<open>y = f x\<close> \<open>x \<in> t\<close> by simp ultimately show "y \<in> f ` s \<inter> f ` t" by simp qed (* 4\<ordfeminine> demostración *) lemma "f ` (s \<inter> t) \<subseteq> f ` s \<inter> f ` t" by (simp only: image_Int_subset) (* 5\<ordfeminine> demostración *) lemma "f ` (s \<inter> t) \<subseteq> f ` s \<inter> f ` t" by auto end