Si bc = ef, entonces ((ab)c)d = ((ae)f)d
Demostrar con Lean4 que si bc = ef, entonces ((ab)c)d = ((ae)f)d.
Para ello, completar la siguiente teoría de Lean4:
1 2 3 4 5 6 7 8 |
import Mathlib.Data.Real.Basic import Mathlib.Tactic example (a b c d e f : ℝ) (h : b * c = e * f) : ((a * b) * c) * d = ((a * e) * f) * d := by sorry |
Demostración en lenguaje natural
Por la siguiente cadena de igualdades
\begin{align}
((ab)c)d
&= (a(bc))d &&\text{[por la asociativa]} \\
&= (a(ef))d &&\text{[por la hipótesis]} \\
&= ((ae)f)d &&\text{[por la asociativa]}
\end{align}
Demostraciones con 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 |
import Mathlib.Data.Real.Basic import Mathlib.Tactic -- 1ª demostración example (a b c d e f : ℝ) (h : b * c = e * f) : ((a * b) * c) * d = ((a * e) * f) * d := calc ((a * b) * c) * d = (a * (b * c)) * d := by rw [mul_assoc a] _ = (a * (e * f)) * d := by rw [h] _ = ((a * e) * f) * d := by rw [←mul_assoc a] -- 2ª demostración example (a b c d e f : ℝ) (h : b * c = e * f) : ((a * b) * c) * d = ((a * e) * f) * d := by rw [mul_assoc a] rw [h] rw [←mul_assoc a] -- 3ª demostración example (a b c d e f : ℝ) (h : b * c = e * f) : ((a * b) * c) * d = ((a * e) * f) * d := by rw [mul_assoc a, h, ←mul_assoc a] |
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias
- J. Avigad y P. Massot. Mathematics in Lean, p. 6.