(* Imagen_de_la_interseccion_de_aplicaciones_inyectivas.thy -- Si f es inyectiva, entonces f[s] ∩ f[t] ⊆ f[s ∩ t]. -- José A. Alonso Jiménez -- Sevilla, 16-junio-2021 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que si f es inyectiva, entonces -- f ` s \ f ` t \ f ` (s \ t) -- ------------------------------------------------------------------ *) theory Imagen_de_la_interseccion_de_aplicaciones_inyectivas imports Main begin (* 1\ demostración *) lemma assumes "inj f" shows "f ` s \ f ` t \ f ` (s \ t)" proof (rule subsetI) fix y assume "y \ f ` s \ f ` t" then have "y \ f ` s" by (rule IntD1) then show "y \ f ` (s \ t)" proof (rule imageE) fix x assume "y = f x" assume "x \ s" have "x \ t" proof - have "y \ f ` t" using \y \ f ` s \ f ` t\ by (rule IntD2) then show "x \ t" proof (rule imageE) fix z assume "y = f z" assume "z \ t" have "f x = f z" using \y = f x\ \y = f z\ by (rule subst) with \inj f\ have "x = z" by (simp only: inj_eq) then show "x \ t" using \z \ t\ by (rule ssubst) qed qed with \x \ s\ have "x \ s \ t" by (rule IntI) with \y = f x\ show "y \ f ` (s \ t)" by (rule image_eqI) qed qed (* 2\ demostración *) lemma assumes "inj f" shows "f ` s \ f ` t \ f ` (s \ t)" proof fix y assume "y \ f ` s \ f ` t" then have "y \ f ` s" by simp then show "y \ f ` (s \ t)" proof fix x assume "y = f x" assume "x \ s" have "x \ t" proof - have "y \ f ` t" using \y \ f ` s \ f ` t\ by simp then show "x \ t" proof fix z assume "y = f z" assume "z \ t" have "f x = f z" using \y = f x\ \y = f z\ by simp with \inj f\ have "x = z" by (simp only: inj_eq) then show "x \ t" using \z \ t\ by simp qed qed with \x \ s\ have "x \ s \ t" by simp with \y = f x\ show "y \ f ` (s \ t)" by simp qed qed (* 3\ demostración *) lemma assumes "inj f" shows "f ` s \ f ` t \ f ` (s \ t)" using assms by (simp only: image_Int) (* 4\ demostración *) lemma assumes "inj f" shows "f ` s \ f ` t \ f ` (s \ t)" using assms unfolding inj_def by auto end