-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEliminacion_de_la_disyuncion.lean
59 lines (48 loc) · 1.5 KB
/
Eliminacion_de_la_disyuncion.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
-- Eliminacion_de_la_disyuncion.lean
-- En ℝ, si x < |y|, entonces x < y ó x < -y.
-- José A. Alonso Jiménez <https://jaalonso.github.io>
-- Sevilla, 10-enero-2024
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Demostrar que para todo par de números reales x e y, si x < |y|,
-- entonces x < y ó x < -y.
-- ----------------------------------------------------------------------
-- Demostración en lenguaje natural
-- ================================
-- Se demostrará por casos según y ≥ 0.
--
-- Primer caso: Supongamos que y ≥ 0. Entonces, |y| = y y, por tanto,
-- x < y.
--
-- Segundo caso: Supongamos que y < 0. Entonces, |y| = -y y, por tanto,
-- x < -y.
-- Demostraciones con Lean4
-- ========================
import Mathlib.Data.Real.Basic
variable {x y : ℝ}
-- 1ª demostración
-- ===============
example : x < |y| → x < y ∨ x < -y :=
by
intro h1
-- h1 : x < |y|
-- ⊢ x < y ∨ x < -y
cases' le_or_gt 0 y with h2 h3
. -- h2 : 0 ≤ y
left
-- ⊢ x < y
rwa [abs_of_nonneg h2] at h1
. -- h3 : 0 > y
right
-- ⊢ x < -y
rwa [abs_of_neg h3] at h1
-- 2ª demostración
-- ===============
example : x < |y| → x < y ∨ x < -y :=
lt_abs.mp
-- Lemas usados
-- ============
-- #check (le_or_gt x y : x ≤ y ∨ x > y)
-- #check (abs_of_nonneg : 0 ≤ x → abs x = x)
-- #check (abs_of_neg : x < 0 → abs x = -x)
-- #check (lt_abs : x < |y| ↔ x < y ∨ x < -y)