Imagen de imagen inversa de aplicaciones suprayectivas
Demostrar que si f es suprayectiva, entonces
1 |
u ⊆ f[f⁻¹[u]] |
Para ello, completar la siguiente teoría de Lean:
1 2 3 4 5 6 7 8 9 10 11 |
import data.set.basic open set function variables {α : Type*} {β : Type*} variable f : α → β variable u : set β example (h : surjective f) : u ⊆ f '' (f⁻¹' u) := sorry |
[expand title=»Soluciones con Lean»]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import data.set.basic open set function variables {α : Type*} {β : Type*} variable f : α → β variable u : set β -- 1ª demostración -- =============== example (h : surjective f) : u ⊆ f '' (f⁻¹' u) := begin intros y yu, cases h y with x fxy, use x, split, { apply mem_preimage.mpr, rw fxy, exact yu }, { exact fxy }, end -- 2ª demostración -- =============== example (h : surjective f) : u ⊆ f '' (f⁻¹' u) := begin intros y yu, cases h y with x fxy, use x, split, { show f x ∈ u, rw fxy, exact yu }, { exact fxy }, end -- 3ª demostración -- =============== example (h : surjective f) : u ⊆ f '' (f⁻¹' u) := begin intros y yu, cases h y with x fxy, by finish, end |
Se puede interactuar con la prueba anterior en esta sesión con Lean,
[/expand]
[expand title=»Soluciones con Isabelle/HOL»]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
theory Imagen_de_imagen_inversa_de_aplicaciones_suprayectivas imports Main begin section ‹1ª demostración› lemma assumes "surj f" shows "u ⊆ f ` (f -` u)" proof (rule subsetI) fix y assume "y ∈ u" have "∃x. y = f x" using ‹surj f› by (rule surjD) then obtain x where "y = f x" by (rule exE) then have "f x ∈ u" using ‹y ∈ u› by (rule subst) then have "x ∈ f -` u" by (simp only: vimage_eq) then have "f x ∈ f ` (f -` u)" by (rule imageI) with ‹y = f x› show "y ∈ f ` (f -` u)" by (rule ssubst) qed section ‹2ª demostración› lemma assumes "surj f" shows "u ⊆ f ` (f -` u)" proof fix y assume "y ∈ u" have "∃x. y = f x" using ‹surj f› by (rule surjD) then obtain x where "y = f x" by (rule exE) then have "f x ∈ u" using ‹y ∈ u› by simp then have "x ∈ f -` u" by simp then have "f x ∈ f ` (f -` u)" by simp with ‹y = f x› show "y ∈ f ` (f -` u)" by simp qed section ‹3ª demostración› lemma assumes "surj f" shows "u ⊆ f ` (f -` u)" using assms by (simp only: surj_image_vimage_eq) section ‹4ª demostración› lemma assumes "surj f" shows "u ⊆ f ` (f -` u)" using assms unfolding surj_def by auto section ‹5ª demostración› lemma assumes "surj f" shows "u ⊆ f ` (f -` u)" using assms by auto end |
[/expand]
[expand title=»Nuevas soluciones»]
- En los comentarios se pueden escribir nuevas soluciones.
- El código se debe escribir entre una línea con <pre lang="isar"> y otra con </pre>
[/expand]