-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDivisor_del_mcd.lean
57 lines (45 loc) · 1.3 KB
/
Divisor_del_mcd.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
-- Divisor_del_mcd.lean
-- 3 divide al máximo común divisor de 6 y 15.
-- José A. Alonso Jiménez <https://jaalonso.github.io>
-- Sevilla, 29-diciembre-2023
-- ---------------------------------------------------------------------
-- ---------------------------------------------------------------------
-- Demostrar que 3 divide al máximo común divisor de 6 y 15.
-- ----------------------------------------------------------------------
-- Demostración en lenguaje natural
-- ================================
-- Se usará el siguiente lema
-- (∀ k, m, n ∈ ℕ)[k ∣ gcd m n ↔ k ∣ m ∧ k ∣ n]
--
-- Por el lema,
-- 3 ∣ gcd 6 15
-- se reduce a
-- 3 ∣ 6 ∧ 3 ∣ 15
-- que se verifican fácilmente.
-- Demostraciones con Lean4
-- ========================
import Mathlib.Data.Real.Basic
import Mathlib.Tactic
open Nat
-- 1ª demostración
-- ===============
example : 3 ∣ Nat.gcd 6 15 :=
by
rw [dvd_gcd_iff]
-- ⊢ 3 ∣ 6 ∧ 3 ∣ 15
constructor
. -- 3 ∣ 6
norm_num
. -- ⊢ 3 ∣ 15
norm_num
-- 2ª demostración
-- ===============
example : 3 ∣ Nat.gcd 6 15 :=
by
rw [dvd_gcd_iff]
-- ⊢ 3 ∣ 6 ∧ 3 ∣ 15
constructor <;> norm_num
-- Lemas usados
-- ============
-- variable (k m n : ℕ)
-- #check (dvd_gcd_iff : k ∣ gcd m n ↔ k ∣ m ∧ k ∣ n)