-
Notifications
You must be signed in to change notification settings - Fork 0
/
Imagen_inversa_de_la_imagen_de_aplicaciones_inyectivas.thy
77 lines (66 loc) · 1.6 KB
/
Imagen_inversa_de_la_imagen_de_aplicaciones_inyectivas.thy
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
75
76
77
(* Imagen_inversa_de_la_imagen_de_aplicaciones_inyectivas.thy
-- Imagen inversa de la imagen de aplicaciones inyectivas
-- José A. Alonso Jiménez
-- Sevilla, 9 de junio de 2021
-- ------------------------------------------------------------------ *)
(* ---------------------------------------------------------------------
-- Demostrar que si f es inyectiva, entonces
-- f⁻¹[f[s]] ⊆ s
-- ------------------------------------------------------------------- *)
theory Imagen_inversa_de_la_imagen_de_aplicaciones_inyectivas
imports Main
begin
(* 1ª demostración *)
lemma
assumes "inj f"
shows "f -` (f ` s) ⊆ s"
proof (rule subsetI)
fix x
assume "x ∈ f -` (f ` s)"
then have "f x ∈ f ` s"
by (rule vimageD)
then show "x ∈ s"
proof (rule imageE)
fix y
assume "f x = f y"
assume "y ∈ s"
have "x = y"
using ‹inj f› ‹f x = f y› by (rule injD)
then show "x ∈ s"
using ‹y ∈ s› by (rule ssubst)
qed
qed
(* 2ª demostración *)
lemma
assumes "inj f"
shows "f -` (f ` s) ⊆ s"
proof
fix x
assume "x ∈ f -` (f ` s)"
then have "f x ∈ f ` s"
by simp
then show "x ∈ s"
proof
fix y
assume "f x = f y"
assume "y ∈ s"
have "x = y"
using ‹inj f› ‹f x = f y› by (rule injD)
then show "x ∈ s"
using ‹y ∈ s› by simp
qed
qed
(* 3ª demostración *)
lemma
assumes "inj f"
shows "f -` (f ` s) ⊆ s"
using assms
unfolding inj_def
by auto
(* 4ª demostración *)
lemma
assumes "inj f"
shows "f -` (f ` s) ⊆ s"
using assms
by (simp only: inj_vimage_image_eq)
end