(* Imagen_inversa_de_la_union_general.thy -- Imagen inversa de la unión general -- José A. Alonso Jiménez -- Sevilla, 30-abril-2024 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que -- f⁻¹[\ᵢ Bᵢ] = \ᵢ f⁻¹[Bᵢ] -- ------------------------------------------------------------------ *) theory Imagen_inversa_de_la_union_general imports Main begin (* 1\ demostración *) lemma "f -` (\ i \ I. B i) = (\ i \ I. f -` B i)" proof (rule equalityI) show "f -` (\ i \ I. B i) \ (\ i \ I. f -` B i)" proof (rule subsetI) fix x assume "x \ f -` (\ i \ I. B i)" then have "f x \ (\ i \ I. B i)" by (rule vimageD) then show "x \ (\ i \ I. f -` B i)" proof (rule UN_E) fix i assume "i \ I" assume "f x \ B i" then have "x \ f -` B i" by (rule vimageI2) with \i \ I\ show "x \ (\ i \ I. f -` B i)" by (rule UN_I) qed qed next show "(\ i \ I. f -` B i) \ f -` (\ i \ I. B i)" proof (rule subsetI) fix x assume "x \ (\ i \ I. f -` B i)" then show "x \ f -` (\ i \ I. B i)" proof (rule UN_E) fix i assume "i \ I" assume "x \ f -` B i" then have "f x \ B i" by (rule vimageD) with \i \ I\ have "f x \ (\ i \ I. B i)" by (rule UN_I) then show "x \ f -` (\ i \ I. B i)" by (rule vimageI2) qed qed qed (* 2\ demostración *) lemma "f -` (\ i \ I. B i) = (\ i \ I. f -` B i)" proof show "f -` (\ i \ I. B i) \ (\ i \ I. f -` B i)" proof fix x assume "x \ f -` (\ i \ I. B i)" then have "f x \ (\ i \ I. B i)" by simp then show "x \ (\ i \ I. f -` B i)" proof fix i assume "i \ I" assume "f x \ B i" then have "x \ f -` B i" by simp with \i \ I\ show "x \ (\ i \ I. f -` B i)" by (rule UN_I) qed qed next show "(\ i \ I. f -` B i) \ f -` (\ i \ I. B i)" proof fix x assume "x \ (\ i \ I. f -` B i)" then show "x \ f -` (\ i \ I. B i)" proof fix i assume "i \ I" assume "x \ f -` B i" then have "f x \ B i" by simp with \i \ I\ have "f x \ (\ i \ I. B i)" by (rule UN_I) then show "x \ f -` (\ i \ I. B i)" by simp qed qed qed (* 3\ demostración *) lemma "f -` (\ i \ I. B i) = (\ i \ I. f -` B i)" by (simp only: vimage_UN) (* 4\ demostración *) lemma "f -` (\ i \ I. B i) = (\ i \ I. f -` B i)" by auto end