-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathEjercicios_sobre_aritmetica_real.lean
109 lines (89 loc) · 2.3 KB
/
Ejercicios_sobre_aritmetica_real.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
-- ---------------------------------------------------------------------
-- Ejercicio 1. Demostrar que los números reales tienen la siguente
-- propiedad
-- (c * b) * a = b * (a * c)
-- ---------------------------------------------------------------------
-- Importación de librería
-- =======================
import data.real.basic
-- 1ª demostración
-- ===============
example
(a b c : ℝ)
: (c * b) * a = b * (a * c) :=
begin
rw mul_comm c b,
rw mul_assoc,
rw mul_comm c a,
end
-- Desarrollo de la prueba:
-- -----------------------
-- a b c : ℝ
-- ⊢ (c * b) * a = b * (a * c)
-- rw mul_comm c b,
-- a b c : ℝ
-- ⊢ (b * c) * a = b * (a * c)
-- rw mul_assoc,
-- a b c : ℝ
-- ⊢ b * (c * a) = b * (a * c)
-- rw mul_comm c a,
-- no goals
-- 2ª demostración
-- ===============
example
(a b c : ℝ)
: (c * b) * a = b * (a * c) :=
calc
(c * b) * a = (b * c) * a : by rw mul_comm c b
... = b * (c * a) : by rw mul_assoc
... = b * (a * c) : by rw mul_comm c a
-- 3ª demostración
-- ===============
example
(a b c : ℝ)
: (c * b) * a = b * (a * c) :=
by ring
-- ---------------------------------------------------------------------
-- Ejercicio 2. Demostrar que los números reales tienen la siguente
-- propiedad
-- a * (b * c) = b * (a * c)
-- ---------------------------------------------------------------------
-- 1ª demostración
-- ===============
example
(a b c : ℝ)
: a * (b * c) = b * (a * c) :=
begin
rw ←mul_assoc,
rw mul_comm a b,
rw mul_assoc,
end
-- Comentario. Con la táctica (rw ←e) se aplica reescritura sustituyendo
-- el término derecho de la igualdad e por el izquierdo.
-- Desarrollo de la prueba
-- -----------------------
-- a b c : ℝ
-- ⊢ a * (b * c) = b * (a * c)
-- rw ←mul_assoc,
-- a b c : ℝ
-- ⊢ (a * b) * c = b * (a * c)
-- rw mul_comm a b,
-- a b c : ℝ
-- ⊢ (b * a) * c = b * (a * c)
-- rw mul_assoc,
-- no goals
-- 2ª demostración
-- ===============
example
(a b c : ℝ)
: a * (b * c) = b * (a * c) :=
calc
a * (b * c) = (a * b) * c : by rw ←mul_assoc
... = (b * a) * c : by rw mul_comm a b
... = b * (a * c) : by rw mul_assoc
-- 3ª demostración
-- ===============
example
(a b c : ℝ)
: a * (b * c) = b * (a * c) :=
by ring