-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEliminacion_de_la_implicacion.lean
118 lines (95 loc) · 2.61 KB
/
Eliminacion_de_la_implicacion.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
-- Eliminacion_de_la_implicacion.lean
-- Eliminación de la implicación.
-- José A. Alonso Jiménez
-- Sevilla, 12 de agosto de 2020
-- ---------------------------------------------------------------------
-- En este relación se muestra distintas formas de demostrar un teorema
-- con eliminación de la implicación.
-- ---------------------------------------------------------------------
-- Ejercicio. Realizar las siguientes acciones:
-- 1. Importar la librería de tácticas.
-- 2. Declarar P y Q como variables sobre proposiciones.
-- ----------------------------------------------------------------------
import tactic -- 1
variables (P Q : Prop) -- 2
-- ---------------------------------------------------------------------
-- Ejercicio. Demostrar que si se tiene (P → Q) y P, entonces se tiene
-- Q.
-- ----------------------------------------------------------------------
-- 1ª demostración (hacia atrás)
-- =============================
example
(h1 : P → Q)
(h2 : P)
: Q :=
begin
apply h1,
exact h2,
end
-- Prueba:
/-
P Q : Prop,
h1 : P → Q,
h2 : P
⊢ Q
apply h1,
⊢ P
exact h2,
no goals
-/
-- Comentarios:
-- + La táctica (apply h), cuando h es una implicación, aplica la regla
-- de eliminación de la implicación; es decir, si h es (P → Q) y la
-- conclusión coincide con Q, entonces sustituye la conclusión por P.
-- 2ª demostración (hacia adelante)
-- ================================
example
(h1 : P → Q)
(h2 : P)
: Q :=
begin
exact h1 h2,
end
-- Comentarios:
-- + Si h1 es una demostración de (P → Q) y h2 es una demostración de P,
-- entonces (h1 h2) es una demostración de Q.
-- 3ª demostración (simplificació de la 2ª)
-- ========================================
example
(h1 : P → Q)
(h2 : P)
: Q :=
by exact h1 h2
-- 4ª demostración (mediante un término)
-- =====================================
example
(h1 : P → Q)
(h2 : P)
: Q :=
h1 h2
-- 5ª demostración (automática con tauto)
-- ======================================
example
(h1 : P → Q)
(h2 : P)
: Q :=
by tauto
-- Comentarios:
-- + La táctica tauto demuestra automáticamente las tautologías.
-- 6ª demostración (automática con finish)
-- =======================================
example
(h1 : P → Q)
(h2 : P)
: Q :=
by finish
-- 6ª demostración (automática con solve_by_elim)
-- ==============================================
example
(h1 : P → Q)
(h2 : P)
: Q :=
by solve_by_elim
-- Comentarios:
-- + La táctica solve_by_elim intnta demostrar el objetivo aplicándole
-- reglas de eliminación.