-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInecuaciones.lean
53 lines (45 loc) · 1.42 KB
/
Inecuaciones.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
-- Inecuaciones.lean
-- En ℝ, si 2a ≤ 3b, 1 ≤ a y c = 2, entonces c + a ≤ 5b
-- José A. Alonso Jiménez <https://jaalonso.github.io>
-- Sevilla, 24-agosto-2023
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Demostrar que si a, b y c son números reales tales que
-- 2 * a ≤ 3 * b
-- 1 ≤ a
-- c = 2
-- entonces
-- c + a ≤ 5 * b
-- ----------------------------------------------------------------------
-- Demostración en lenguaje natural
-- ================================
-- Por la siguiente cadena de desigualdades
-- c + a = 2 + a [por la hipótesis 3 (c = 2)]
-- ≤ 2·a + a [por la hipótesis 2 (1 ≤ a)]
-- = 3·a
-- ≤ 9/2·b [por la hipótesis 1 (2·a ≤ 3·b)]
-- ≤ 5·b
-- Demostraciones con Lean4
-- ========================
import Mathlib.Data.Real.Basic
import Mathlib.Tactic
variable (a b c : ℝ)
-- 1ª demostración
example
(h1 : 2 * a ≤ 3 * b)
(h2 : 1 ≤ a)
(h3 : c = 2)
: c + a ≤ 5 * b :=
calc
c + a = 2 + a := by rw [h3]
_ ≤ 2 * a + a := by linarith only [h2]
_ = 3 * a := by linarith only []
_ ≤ 9/2 * b := by linarith only [h1]
_ ≤ 5 * b := by linarith
-- 2ª demostración
example
(h1 : 2 * a ≤ 3 * b)
(h2 : 1 ≤ a)
(h3 : c = 2)
: c + a ≤ 5 * b :=
by linarith