(* Subconjunto_de_la_imagen_inversa.thy -- f[s] ⊆ u ↔ s ⊆ f⁻¹[u] -- José A. Alonso Jiménez -- Sevilla, 8-junio-2021 -- ------------------------------------------------------------------ *) (* --------------------------------------------------------------------- -- Demostrar que -- f[s] \ u \ s \ f⁻¹[u] -- ------------------------------------------------------------------ *) theory Subconjunto_de_la_imagen_inversa imports Main begin (* 1\ demostración *) lemma "f ` s \ u \ s \ f -` u" proof (rule iffI) assume "f ` s \ u" show "s \ f -` u" proof (rule subsetI) fix x assume "x \ s" then have "f x \ f ` s" by (simp only: imageI) then have "f x \ u" using \f ` s \ u\ by (rule set_rev_mp) then show "x \ f -` u" by (simp only: vimageI) qed next assume "s \ f -` u" show "f ` s \ u" proof (rule subsetI) fix y assume "y \ f ` s" then show "y \ u" proof fix x assume "y = f x" assume "x \ s" then have "x \ f -` u" using \s \ f -` u\ by (rule set_rev_mp) then have "f x \ u" by (rule vimageD) with \y = f x\ show "y \ u" by (rule ssubst) qed qed qed (* 2\ demostración *) lemma "f ` s \ u \ s \ f -` u" proof assume "f ` s \ u" show "s \ f -` u" proof fix x assume "x \ s" then have "f x \ f ` s" by simp then have "f x \ u" using \f ` s \ u\ by (simp add: set_rev_mp) then show "x \ f -` u" by simp qed next assume "s \ f -` u" show "f ` s \ u" proof fix y assume "y \ f ` s" then show "y \ u" proof fix x assume "y = f x" assume "x \ s" then have "x \ f -` u" using \s \ f -` u\ by (simp only: set_rev_mp) then have "f x \ u" by simp with \y = f x\ show "y \ u" by simp qed qed qed (* 3\ demostración *) lemma "f ` s \ u \ s \ f -` u" by (simp only: image_subset_iff_subset_vimage) (* 4\ demostración *) lemma "f ` s \ u \ s \ f -` u" by auto end