--- Título: Si bc = ef, entonces ((ab)c)d = ((ae)f)d Autor: José A. Alonso --- Demostrar con Lean4 que si bc = ef, entonces ((ab)c)d = ((ae)f)d. Para ello, completar la siguiente teoría de Lean4:
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
[mathjax]
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
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