-
Notifications
You must be signed in to change notification settings - Fork 0
/
Imagen_inversa_de_la_union.lean
131 lines (107 loc) · 2.47 KB
/
Imagen_inversa_de_la_union.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
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
-- Imagen_inversa_de_la_union.lean
-- Imagen inversa de la unión
-- José A. Alonso Jiménez
-- Sevilla, 14 de junio de 2021
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Demostrar que
-- f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v
-- ----------------------------------------------------------------------
import data.set.basic
open set
variables {α : Type*} {β : Type*}
variable f : α → β
variables u v : set β
-- 1ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
begin
ext x,
split,
{ intros h,
rw mem_preimage at h,
cases h with fxu fxv,
{ left,
apply mem_preimage.mpr,
exact fxu, },
{ right,
apply mem_preimage.mpr,
exact fxv, }},
{ intro h,
rw mem_preimage,
cases h with xfu xfv,
{ rw mem_preimage at xfu,
left,
exact xfu, },
{ rw mem_preimage at xfv,
right,
exact xfv, }},
end
-- 2ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
begin
ext x,
split,
{ intros h,
cases h with fxu fxv,
{ left,
exact fxu, },
{ right,
exact fxv, }},
{ intro h,
cases h with xfu xfv,
{ left,
exact xfu, },
{ right,
exact xfv, }},
end
-- 3ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
begin
ext x,
split,
{ rintro (fxu | fxv),
{ exact or.inl fxu, },
{ exact or.inr fxv, }},
{ rintro (xfu | xfv),
{ exact or.inl xfu, },
{ exact or.inr xfv, }},
end
-- 4ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
begin
ext x,
split,
{ finish, },
{ finish, } ,
end
-- 5ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
begin
ext x,
finish,
end
-- 6ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
by ext; finish
-- 7ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
by ext; refl
-- 8ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
rfl
-- 9ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
preimage_union
-- 10ª demostración
-- ===============
example : f ⁻¹' (u ∪ v) = f ⁻¹' u ∪ f ⁻¹' v :=
by simp