(* Imagen_de_la_interseccion_general_mediante_inyectiva.thy -- Imagen de la interseccion general mediante inyectiva -- José A. Alonso Jiménez -- Sevilla, 29-abril-2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que si f es inyectiva, entonces -- \ᵢf[Aᵢ] \ f[\ᵢAᵢ] -- ------------------------------------------------------------------ *) theory Imagen_de_la_interseccion_general_mediante_inyectiva imports Main begin (* 1\ demostración *) lemma assumes "i \ I" "inj f" shows "(\ i \ I. f ` A i) \ f ` (\ i \ I. A i)" proof (rule subsetI) fix y assume "y \ (\ i \ I. f ` A i)" then have "y \ f ` A i" using \i \ I\ by (rule INT_D) then show "y \ f ` (\ i \ I. A i)" proof (rule imageE) fix x assume "y = f x" assume "x \ A i" have "x \ (\ i \ I. A i)" proof (rule INT_I) fix j assume "j \ I" show "x \ A j" proof - have "y \ f ` A j" using \y \ (\i\I. f ` A i)\ \j \ I\ by (rule INT_D) then show "x \ A j" proof (rule imageE) fix z assume "y = f z" assume "z \ A j" have "f z = f x" using \y = f z\ \y = f x\ by (rule subst) with \inj f\ have "z = x" by (rule injD) then show "x \ A j" using \z \ A j\ by (rule subst) qed qed qed then have "f x \ f ` (\ i \ I. A i)" by (rule imageI) with \y = f x\ show "y \ f ` (\ i \ I. A i)" by (rule ssubst) qed qed (* 2\ demostración *) lemma assumes "i \ I" "inj f" shows "(\ i \ I. f ` A i) \ f ` (\ i \ I. A i)" proof fix y assume "y \ (\ i \ I. f ` A i)" then have "y \ f ` A i" using \i \ I\ by simp then show "y \ f ` (\ i \ I. A i)" proof fix x assume "y = f x" assume "x \ A i" have "x \ (\ i \ I. A i)" proof fix j assume "j \ I" show "x \ A j" proof - have "y \ f ` A j" using \y \ (\i\I. f ` A i)\ \j \ I\ by simp then show "x \ A j" proof fix z assume "y = f z" assume "z \ A j" have "f z = f x" using \y = f z\ \y = f x\ by simp with \inj f\ have "z = x" by (rule injD) then show "x \ A j" using \z \ A j\ by simp qed qed qed then have "f x \ f ` (\ i \ I. A i)" by simp with \y = f x\ show "y \ f ` (\ i \ I. A i)" by simp qed qed (* 3\ demostración *) lemma assumes "i \ I" "inj f" shows "(\ i \ I. f ` A i) \ f ` (\ i \ I. A i)" using assms by (simp add: image_INT) end